summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorram@gw.mysql.r18.ru <>2004-03-17 18:57:51 +0400
committerram@gw.mysql.r18.ru <>2004-03-17 18:57:51 +0400
commit99d374159a3a0340a67ce5e6739e748ef5db5570 (patch)
treec9779b81dd607a145d192081ac388bb9c159713c /sql/item_func.cc
parent9863b6aed9c942b1ee7c229a11318604370eaafd (diff)
parentbdd70d1cfdcda48118f82323f2f09edf72da0391 (diff)
downloadmariadb-git-99d374159a3a0340a67ce5e6739e748ef5db5570.tar.gz
merge
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r--sql/item_func.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc
index e365398127a..2d98a7b8391 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -215,7 +215,8 @@ Item_func::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
{
Item *item;
/* We can't yet set item to *arg as fix_fields may change *arg */
- if ((*arg)->fix_fields(thd, tables, arg) ||
+ /* We shouldn't call fix_fields() twice, so check 'fixed' field first */
+ if ((!(*arg)->fixed && (*arg)->fix_fields(thd, tables, arg)) ||
(*arg)->check_cols(allowed_arg_cols))
return 1; /* purecov: inspected */
item= *arg;