diff options
author | unknown <monty@mysql.com> | 2005-07-04 16:01:04 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-07-04 16:01:04 +0300 |
commit | 5d82b41e3adccc566b68542bf5be097ed45f5390 (patch) | |
tree | 5d98db8559f519e7aac489fe047ee7fb3f2b8d3b /sql | |
parent | 3c82f72091d2c21519540ee5bcc3b2acadfbf198 (diff) | |
download | mariadb-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')
-rw-r--r-- | sql/item_cmpfunc.cc | 10 | ||||
-rw-r--r-- | sql/item_cmpfunc.h | 2 |
2 files changed, 8 insertions, 4 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; } diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index c21e9ba4925..75c8411b844 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -566,7 +566,7 @@ public: longlong val_int(); String *val_str(String *); my_decimal *val_decimal(my_decimal *); - bool fix_fields(THD *thd,struct st_table_list *tlist, Item **ref); + bool fix_fields(THD *thd, Item **ref); void fix_length_and_dec(); uint decimal_precision() const; table_map not_null_tables() const { return 0; } |