diff options
author | unknown <timour@askmonty.org> | 2012-12-19 15:56:57 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2012-12-19 15:56:57 +0200 |
commit | e99aa91e90adfd54cc1f460dd8cdd19614f30abc (patch) | |
tree | 81d722dbf846e83e0c68c80266e5c0a7e52bcc69 /sql/item_timefunc.h | |
parent | 0aad592f49f0fb790f712aa6a644653cf9a0218f (diff) | |
download | mariadb-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