diff options
author | unknown <bell@sanja.is.com.ua> | 2004-02-18 01:08:52 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-02-18 01:08:52 +0200 |
commit | ae7eec928c86014f7eef3e48fa28196cf999434c (patch) | |
tree | 65aff983542f7b988996319163a7a3e003e845f4 /sql/item_func.cc | |
parent | 62cc89aad50b00c0ab1ef3e94c5a3467eb78eb70 (diff) | |
download | mariadb-git-ae7eec928c86014f7eef3e48fa28196cf999434c.tar.gz |
revision of fix_fields() calls (BUG2838)
mysql-test/r/subselect.result:
test suite for BUG#2838
mysql-test/t/subselect.test:
test suite for BUG#2838
sql/item.cc:
revision of fix_fields() calls
removed unnecessary variabl, and used correct last parameter of fix_fields()
sql/item_cmpfunc.cc:
revision of fix_fields() calls (BUG#2838)
sql/item_func.cc:
revision of fix_fields() calls
sql/item_row.cc:
changed for efficience (and to be similar for Item_func::fix_fields)
sql/item_subselect.cc:
fixed last arguments for fix_fields call
sql/item_sum.cc:
layout fixed
revision of fix_fields() calls
sql/log_event.cc:
revision of fix_fields() calls
sql/set_var.cc:
revision of fix_fields() calls
sql/sql_base.cc:
revision of fix_fields() calls
sql/sql_class.cc:
revision of fix_fields() calls
sql/sql_handler.cc:
revision of fix_fields() calls
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index 0327204dbfd..817bd2b866b 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1469,8 +1469,11 @@ udf_handler::fix_fields(THD *thd, TABLE_LIST *tables, Item_result_field *func, arg != arg_end ; arg++,i++) { + if ((*arg)->fix_fields(thd, tables, arg)) + return 1; + // we can't assign 'item' before, because fix_fields() can change arg Item *item= *arg; - if (item->fix_fields(thd, tables, arg) || item->check_cols(1)) + if (item->check_cols(1)) return 1; /* TODO: We should think about this. It is not always |