mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Another attempt to fix bug mdev-10785 + cleanup for the previous attempt.
This commit is contained in:
@@ -1242,18 +1242,11 @@ bool pushdown_cond_for_derived(THD *thd, Item *cond, TABLE_LIST *derived)
|
|||||||
(uchar*) sl);
|
(uchar*) sl);
|
||||||
if (!extracted_cond_copy)
|
if (!extracted_cond_copy)
|
||||||
continue;
|
continue;
|
||||||
/*
|
|
||||||
Create the conjunction of the existing having condition of sl
|
|
||||||
and the pushed condition, take it as the new having condition of sl
|
|
||||||
and fix this new condition
|
|
||||||
*/
|
|
||||||
extracted_cond_copy->walk(&Item::cleanup_processor, 0, 0);
|
extracted_cond_copy->walk(&Item::cleanup_processor, 0, 0);
|
||||||
sl->cond_pushed_into_having= extracted_cond_copy;
|
sl->cond_pushed_into_having= extracted_cond_copy;
|
||||||
}
|
}
|
||||||
thd->lex->current_select= save_curr_select;
|
thd->lex->current_select= save_curr_select;
|
||||||
return false;
|
return false;
|
||||||
err:
|
|
||||||
thd->lex->current_select= save_curr_select;
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -4923,6 +4923,7 @@ void binlog_unsafe_map_init()
|
|||||||
|
|
||||||
void st_select_lex::collect_grouping_fields(THD *thd)
|
void st_select_lex::collect_grouping_fields(THD *thd)
|
||||||
{
|
{
|
||||||
|
grouping_tmp_fields.empty();
|
||||||
List_iterator<Item> li(join->fields_list);
|
List_iterator<Item> li(join->fields_list);
|
||||||
Item *item= li++;
|
Item *item= li++;
|
||||||
for (uint i= 0; i < master_unit()->derived->table->s->fields; i++, (item=li++))
|
for (uint i= 0; i < master_unit()->derived->table->s->fields; i++, (item=li++))
|
||||||
|
Reference in New Issue
Block a user