diff options
author | Igor Babaev <igor@askmonty.org> | 2017-05-15 09:51:01 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2017-05-15 10:00:00 -0700 |
commit | e0352fb07961f09ff6481136dc22f3c0db376def (patch) | |
tree | a4e7d7869e90fe9a404b5e111e3f534b198792ef /sql/sql_lex.cc | |
parent | 9495e018fbd88d094a71cb054cf468c31ebd6957 (diff) | |
download | mariadb-git-e0352fb07961f09ff6481136dc22f3c0db376def.tar.gz |
Fixed the bug mdev-7599.
At some conditions the function opt_sum_query() can apply MIN/MAX
optimizations to to Item_sum objects of a select These optimizations
becomes invalid if this select is the subquery of an IN subquery
predicate that is converted to a EXISTS subquery. Thus in this case
the MIX/MAX optimizations that have been applied in opt_sum_query()
must be rolled back.
This bug appeared in 5.3 when the code for the cost base choice between
materialization and in-to-exists transformation of non-correlated
IN subqueries was introduced. Before this code in-to-exists
transformations were always performed before the call of opt_sum_query().
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index fa866bc7008..6611fd43876 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1875,6 +1875,7 @@ void st_select_lex::init_query() leaf_tables_prep.empty(); leaf_tables.empty(); item_list.empty(); + min_max_opt_list.empty(); join= 0; having= prep_having= where= prep_where= 0; olap= UNSPECIFIED_OLAP_TYPE; |