summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-01-29 19:22:22 +0200
committerunknown <monty@mashka.mysql.fi>2003-01-29 19:22:22 +0200
commit93ebd4d64d4748bd55834ac76b0b796d075f68b4 (patch)
treec75b9bfc08d3d793d015a4b05b46c723ec15ce0e /sql/item_func.cc
parent9c89ce7b3acc40fa9cd739b041611d79d43f55da (diff)
parent3a180c331aa30b393d8cbeff51793ed61592bd75 (diff)
downloadmariadb-git-93ebd4d64d4748bd55834ac76b0b796d075f68b4.tar.gz
merge with 3.23.56 to get patches for --lower-case-table-names and
proper handling of SUM() in some functions. BitKeeper/etc/logging_ok: auto-union sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/item_strfunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_show.cc: Auto merged sql/table.cc: Auto merged mysql-test/r/group_by.result: merge with 3.23.56 mysql-test/t/group_by.test: merge with 3.23.56 sql/item_strfunc.h: merge with 3.23.56 sql/mysqld.cc: merge with 3.23.56 sql/sql_parse.cc: merge with 3.23.56 sql/sql_yacc.yy: merge with 3.23.56
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 02ae03b217f..ef629098d2a 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -971,6 +971,17 @@ longlong Item_func_field::val_int()
return 0;
}
+void Item_func_field::split_sum_func(List<Item> &fields)
+{
+ if (item->with_sum_func && item->type() != SUM_FUNC_ITEM)
+ item->split_sum_func(fields);
+ else if (item->used_tables() || item->type() == SUM_FUNC_ITEM)
+ {
+ fields.push_front(item);
+ item= new Item_ref((Item**) fields.head_ref(), 0, item->name);
+ }
+ Item_func::split_sum_func(fields);
+}
longlong Item_func_ascii::val_int()
{