summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorunknown <holyfoot/hf@hfmain.(none)>2007-03-08 19:08:28 +0400
committerunknown <holyfoot/hf@hfmain.(none)>2007-03-08 19:08:28 +0400
commit52ce1b7358c1cdac8906e412ab3845935ef33327 (patch)
tree159b4f318828e8537baa6d0b846728e8f2a0e84b /sql/item_func.cc
parent793a137ddd737cd98d8d33efe54bcc218fd60c3f (diff)
parent1631f65dfd757282ac480fd20b3fe7b262f500c5 (diff)
downloadmariadb-git-52ce1b7358c1cdac8906e412ab3845935ef33327.tar.gz
Merge mysql.com:/home/hf/work/mrg/mysql-5.0-opt
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt BUILD/check-cpu: Auto merged mysql-test/r/explain.result: Auto merged mysql-test/r/func_str.result: Auto merged mysql-test/r/func_test.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/update.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/explain.test: Auto merged mysql-test/t/func_str.test: Auto merged mysql-test/t/sp.test: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.h: Auto merged sql/sql_update.cc: Auto merged mysql-test/r/func_in.result: SCCS merged mysql-test/r/order_by.result: SCCS merged mysql-test/r/sp.result: merging mysql-test/t/func_in.test: SCCS merged mysql-test/t/order_by.test: SCCS merged mysql-test/t/view.test: merging sql/item_cmpfunc.h: merging sql/mysql_priv.h: merging sql/sql_select.cc: SCCS merged
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index aa344a343de..aa338e06d03 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -413,8 +413,13 @@ bool Item_func::eq(const Item *item, bool binary_cmp) const
if (item->type() != FUNC_ITEM)
return 0;
Item_func *item_func=(Item_func*) item;
- if (arg_count != item_func->arg_count ||
- func_name() != item_func->func_name())
+ Item_func::Functype func_type;
+ if ((func_type= functype()) != item_func->functype() ||
+ arg_count != item_func->arg_count ||
+ (func_type != Item_func::FUNC_SP &&
+ func_name() != item_func->func_name()) ||
+ (func_type == Item_func::FUNC_SP &&
+ my_strcasecmp(system_charset_info, func_name(), item_func->func_name())))
return 0;
for (uint i=0; i < arg_count ; i++)
if (!args[i]->eq(item_func->args[i], binary_cmp))