summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.h
diff options
context:
space:
mode:
authorunknown <timour@askmonty.org>2012-12-19 15:56:57 +0200
committerunknown <timour@askmonty.org>2012-12-19 15:56:57 +0200
commite99aa91e90adfd54cc1f460dd8cdd19614f30abc (patch)
tree81d722dbf846e83e0c68c80266e5c0a7e52bcc69 /sql/item_timefunc.h
parent0aad592f49f0fb790f712aa6a644653cf9a0218f (diff)
downloadmariadb-git-e99aa91e90adfd54cc1f460dd8cdd19614f30abc.tar.gz
MDEV-3928: Assertion `example' failed in Item_cache::is_expensive_processor with a 2-level IN subquery
Analysis: The following call stack shows that it is possible to set Item_cache::value_cached, and the relevant value without setting Item_cache::example. #0 Item_cache_temporal::store_packed at item.cc:8395 #1 get_datetime_value at item_cmpfunc.cc:915 #2 resolve_const_item at item.cc:7987 #3 propagate_cond_constants at sql_select.cc:12264 #4 propagate_cond_constants at sql_select.cc:12227 #5 optimize_cond at sql_select.cc:13026 #6 JOIN::optimize at sql_select.cc:1016 #7 st_select_lex::optimize_unflattened_subqueries at sql_lex.cc:3161 #8 JOIN::optimize_unflattened_subqueries at opt_subselect.cc:4880 #9 JOIN::optimize at sql_select.cc:1554 The fix is to set Item_cache_temporal::example even when the value is set directly by Item_cache_temporal::store_packed. This makes the Item_cache_temporal object consistent.
Diffstat (limited to 'sql/item_timefunc.h')
0 files changed, 0 insertions, 0 deletions