summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2005-07-04 16:01:04 +0300
committerunknown <monty@mysql.com>2005-07-04 16:01:04 +0300
commit5d82b41e3adccc566b68542bf5be097ed45f5390 (patch)
tree5d98db8559f519e7aac489fe047ee7fb3f2b8d3b /sql/item_cmpfunc.cc
parent3c82f72091d2c21519540ee5bcc3b2acadfbf198 (diff)
downloadmariadb-git-5d82b41e3adccc566b68542bf5be097ed45f5390.tar.gz
After merge fixes
mysql-test/r/group_by.result: After merge fix (Put test in same order as in 4.1) mysql-test/t/group_by.test: After merge fix (Put test in same order as in 4.1) sql/item_cmpfunc.cc: After merge fix (+ simple fix to not allow compiler to do tail optimization) sql/item_cmpfunc.h: After merge fix
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index bce6a58330f..5ed857319be 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -1578,17 +1578,21 @@ my_decimal *Item_func_case::val_decimal(my_decimal *decimal_value)
}
-bool Item_func_case::fix_fields(THD *thd, struct st_table_list *tables,
- Item **ref)
+bool Item_func_case::fix_fields(THD *thd, Item **ref)
{
/*
buff should match stack usage from
Item_func_case::val_int() -> Item_func_case::find_item()
*/
char buff[MAX_FIELD_WIDTH*2+sizeof(String)*2+sizeof(String*)*2+sizeof(double)*2+sizeof(longlong)*2];
+ bool res= Item_func::fix_fields(thd, ref);
+ /*
+ Call check_stack_overrun after fix_fields to be sure that stack variable
+ is not optimized away
+ */
if (check_stack_overrun(thd, STACK_MIN_SIZE, buff))
return TRUE; // Fatal error flag is set!
- return Item_func::fix_fields(thd, tables, ref);
+ return res;
}