diff options
author | unknown <bell@sanja.is.com.ua> | 2002-07-01 14:14:51 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-07-01 14:14:51 +0300 |
commit | e5b5f45319a9fe1c90710e49faecc6a33eeac486 (patch) | |
tree | df426008e76b78f3cb8ff349e13e07746cb6f44f /sql/item_strfunc.h | |
parent | 969919146e96f7709f32ac882359372a45da7944 (diff) | |
download | mariadb-git-e5b5f45319a9fe1c90710e49faecc6a33eeac486.tar.gz |
subselect in having clause
fixed bug in sum function in subselect
mysql-test/r/subselect.result:
subselect in having clause
mysql-test/t/subselect.test:
subselect in having clause
sql/item.cc:
subselect in having clause
sql/item.h:
subselect in having clause
sql/item_cmpfunc.cc:
subselect in having clause
sql/item_cmpfunc.h:
subselect in having clause
sql/item_func.cc:
subselect in having clause
sql/item_func.h:
subselect in having clause
sql/item_strfunc.h:
subselect in having clause
sql/item_subselect.cc:
subselect in having clause
sql/item_subselect.h:
subselect in having clause
sql/item_uniq.h:
subselect in having clause
sql/sql_base.cc:
subselect in having clause
sql/sql_class.cc:
subselect in having clause
sql/sql_class.h:
subselect in having clause
sql/sql_handler.cc:
subselect in having clause
sql/sql_lex.cc:
subselect in having clause
sql/sql_lex.h:
subselect in having clause
sql/sql_prepare.cc:
subselect in having clause
sql/sql_yacc.yy:
subselect in having clause
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r-- | sql/item_strfunc.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index a273abaf614..6e15b8317d1 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -79,10 +79,10 @@ public: String *val_str(String *); void fix_length_and_dec(); void update_used_tables(); - bool fix_fields(THD *thd,struct st_table_list *tlist) + bool fix_fields(THD *thd, TABLE_LIST *tlist, Item **ref) { - return (separator->fix_fields(thd,tlist) - || Item_func::fix_fields(thd,tlist)); + return (separator->fix_fields(thd, tlist, &separator) + || Item_func::fix_fields(thd, tlist, ref)); } const char *func_name() const { return "concat_ws"; } }; @@ -325,9 +325,10 @@ public: double val(); longlong val_int(); String *val_str(String *str); - bool fix_fields(THD *thd,struct st_table_list *tlist) + bool fix_fields(THD *thd, TABLE_LIST *tlist, Item **ref) { - return (item->fix_fields(thd,tlist) || Item_func::fix_fields(thd,tlist)); + return (item->fix_fields(thd, tlist, &item) || + Item_func::fix_fields(thd, tlist, ref)); } void fix_length_and_dec(); void update_used_tables(); @@ -344,9 +345,10 @@ public: Item_func_make_set(Item *a,List<Item> &list) :Item_str_func(list),item(a) {} ~Item_func_make_set() { delete item; } String *val_str(String *str); - bool fix_fields(THD *thd,struct st_table_list *tlist) + bool fix_fields(THD *thd, TABLE_LIST *tlist, Item **ref) { - return (item->fix_fields(thd,tlist) || Item_func::fix_fields(thd,tlist)); + return (item->fix_fields(thd, tlist, &item) || + Item_func::fix_fields(thd, tlist, ref)); } void fix_length_and_dec(); void update_used_tables(); |