summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-02-07 15:47:24 +0200
committerunknown <monty@mashka.mysql.fi>2003-02-07 15:47:24 +0200
commitd66e60248c9f448b9d251358e0acfd97d1e3f84e (patch)
tree0661c54a51aa711947173e8a8e27e2e46cfa971c /sql/item_func.cc
parent2ff82a7b152181a49814f5ea125ca8dc6551fbdd (diff)
downloadmariadb-git-d66e60248c9f448b9d251358e0acfd97d1e3f84e.tar.gz
After merge fixes & remove compiler warnings
Added lengths for all MYSQL_FIELD string parameters Changed field length to 2 byte in .frm files configure.in: After merge fixes include/ft_global.h: Fixed copyright include/my_sys.h: Remove compiler warnings include/mysql.h: Added lengths for all MYSQL_FIELD string parameters include/mysql_com.h: Remove compiler warning myisam/ft_boolean_search.c: Removed compiler warnings myisam/ft_dump.c: Removed compiler warnings myisam/ft_stopwords.c: Copy file from MySQL 4.0 myisam/mi_delete.c: Fixed compiler warning myisam/sort.c: Indentation changes myisam/sp_test.c: Remove compiler warnings mysql-test/r/func_group.result: After merge fixes mysql-test/r/group_by.result: After merge fixes mysql-test/r/rpl_insert_id.result: After merge fixes mysql-test/r/rpl_master_pos_wait.result: After merge fixes mysql-test/t/rpl000009.test: After merge fixes mysql-test/t/rpl_insert_id.test: After merge fixes mysql-test/t/subselect.test: After merge fixes sql/item_cmpfunc.cc: After merge fixes sql/item_cmpfunc.h: After merge fixes sql/item_func.cc: After merge fixes sql/item_func.h: After merge fixes sql/item_strfunc.cc: After merge fixes sql/item_strfunc.h: After merge fixes sql/log.cc: After merge fixes sql/mysql_priv.h: After merge fixes sql/mysqld.cc: After merge fixes sql/sql_db.cc: After merge fixes sql/sql_handler.cc: After merge fixes sql/sql_parse.cc: After merge fixes sql/sql_show.cc: After merge fixes sql/sql_udf.cc: After merge fixes sql/table.cc: Changed field length to 2 byte in .frm files sql/unireg.cc: Changed field length to 2 byte in .frm files
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index b2faae9425c..6494573458c 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -1069,18 +1069,23 @@ longlong Item_func_field::val_int()
return 0;
}
-void Item_func_field::split_sum_func(List<Item> &fields)
+
+void Item_func_field::split_sum_func(Item **ref_pointer_array,
+ List<Item> &fields)
{
if (item->with_sum_func && item->type() != SUM_FUNC_ITEM)
- item->split_sum_func(fields);
+ item->split_sum_func(ref_pointer_array, fields);
else if (item->used_tables() || item->type() == SUM_FUNC_ITEM)
{
+ uint el= fields.elements;
fields.push_front(item);
- item= new Item_ref((Item**) fields.head_ref(), 0, item->name);
- }
- Item_func::split_sum_func(fields);
+ ref_pointer_array[el]= item;
+ item= new Item_ref(ref_pointer_array + el, 0, item->name);
+ }
+ Item_func::split_sum_func(ref_pointer_array, fields);
}
+
longlong Item_func_ascii::val_int()
{
String *res=args[0]->val_str(&value);