* Dmitry Shulga <Dmitry.Shulga@stripped> [10/10/29 08:25]:
> 3548 Dmitry Shulga 2010-10-29
> Fixed Bug#57386 - main.execution_constants segfault on MIPS64EL.
> @ sql/item_func.cc
> Item_func::fix_fields modified: increased minimal required stack
> size in call to check_stack_overrun().
OK to push.
> modified:
> sql/item_func.cc
> === modified file 'sql/item_func.cc'
> --- a/sql/item_func.cc 2010-10-05 08:11:56 +0000
> +++ b/sql/item_func.cc 2010-10-29 03:08:46 +0000
> @@ -157,7 +157,14 @@ Item_func::fix_fields(THD *thd, Item **r
> used_tables_cache= not_null_tables_cache= 0;
> const_item_cache=1;
>
> - if (check_stack_overrun(thd, STACK_MIN_SIZE, buff))
> + /*
> + Increase stack limit to STACK_MIN_SIZE * 2 since
> + on some platforms recursive call to fix_fields
> + required more than STACK_MIN_SIZE bytes (e.g. for
> + MIPS, where needs about 22kB for one recursive
> + call to Item_func::fix_fields)
> + */
Suggest some minor edits to the comment:
Use stack limit of STACK_MIN_SIZE * 2 since
on some platforms a recursive call to fix_fields
requires more than STACK_MIN_SIZE bytes (e.g. for
MIPS, it takes about 22kB to make one recursive
call to Item_func::fix_fields())
--