mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0 sql/sql_select.cc: Auto merged
This commit is contained in:
@ -364,22 +364,8 @@ JOIN::prepare(Item ***rref_pointer_array,
|
||||
select_lex->having_fix_field= 0;
|
||||
if (having_fix_rc || thd->net.report_error)
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
if (having->with_sum_func)
|
||||
having->split_sum_func2(thd, ref_pointer_array, all_fields,
|
||||
&having, TRUE);
|
||||
thd->lex->allow_sum_func= save_allow_sum_func;
|
||||
}
|
||||
if (select_lex->inner_sum_func_list)
|
||||
{
|
||||
Item_sum *end=select_lex->inner_sum_func_list;
|
||||
Item_sum *item_sum= end;
|
||||
do
|
||||
{
|
||||
item_sum= item_sum->next;
|
||||
item_sum->split_sum_func2(thd, ref_pointer_array,
|
||||
all_fields, item_sum->ref_by, FALSE);
|
||||
} while (item_sum != end);
|
||||
}
|
||||
|
||||
if (!thd->lex->view_prepare_mode)
|
||||
{
|
||||
@ -397,6 +383,21 @@ JOIN::prepare(Item ***rref_pointer_array,
|
||||
}
|
||||
}
|
||||
|
||||
if (having && having->with_sum_func)
|
||||
having->split_sum_func2(thd, ref_pointer_array, all_fields,
|
||||
&having, TRUE);
|
||||
if (select_lex->inner_sum_func_list)
|
||||
{
|
||||
Item_sum *end=select_lex->inner_sum_func_list;
|
||||
Item_sum *item_sum= end;
|
||||
do
|
||||
{
|
||||
item_sum= item_sum->next;
|
||||
item_sum->split_sum_func2(thd, ref_pointer_array,
|
||||
all_fields, item_sum->ref_by, FALSE);
|
||||
} while (item_sum != end);
|
||||
}
|
||||
|
||||
if (setup_ftfuncs(select_lex)) /* should be after having->fix_fields */
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
|
Reference in New Issue
Block a user