mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
FIxed bug #14927.
A query with a group by and having clauses could return a wrong result set if the having condition contained a constant conjunct evaluated to FALSE. It happened because the pushdown condition for table with grouping columns lost its constant conjuncts. Pushdown conditions are always built by the function make_cond_for_table that ignores constant conjuncts. This is apparently not correct when constant false conjuncts are present.
This commit is contained in:
@@ -1074,6 +1074,7 @@ void st_select_lex::init_query()
|
||||
item_list.empty();
|
||||
join= 0;
|
||||
where= 0;
|
||||
having= 0;
|
||||
olap= UNSPECIFIED_OLAP_TYPE;
|
||||
having_fix_field= 0;
|
||||
resolve_mode= NOMATTER_MODE;
|
||||
@@ -1081,6 +1082,7 @@ void st_select_lex::init_query()
|
||||
ref_pointer_array= 0;
|
||||
select_n_having_items= 0;
|
||||
prep_where= 0;
|
||||
prep_having= 0;
|
||||
subquery_in_having= explicit_limit= 0;
|
||||
parsing_place= NO_MATTER;
|
||||
is_item_list_lookup= 0;
|
||||
|
Reference in New Issue
Block a user