diff options
author | unknown <bell@sanja.is.com.ua> | 2004-03-20 13:36:26 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-03-20 13:36:26 +0200 |
commit | f379d7b172401206de5654f52466601de874cade (patch) | |
tree | de1ab82158f22c98608b574edb706c1f3de591b5 /sql/item_func.cc | |
parent | 647498e9657b7d68faf0cb24bac43a940238920c (diff) | |
download | mariadb-git-f379d7b172401206de5654f52466601de874cade.tar.gz |
after review changes
sql/item.cc:
removed double_fix & already_fixed in Item_field
sql/item.h:
added quick_fix_field() for cases when we are sure that no need full fix_field processing
fixed neg() method for numeric constants to have the same logic as constant parser
Item_null, Item_real, ... are constant which are fixed by creation
sql/item_cmpfunc.h:
right fix_fields in and_conds call
sql/item_func.cc:
changed Item_field constructor call
fix_field emulation call
sql/item_strfunc.cc:
correct layout
sql/item_subselect.cc:
correct layout
changed Item_field constructor call
sql/item_sum.cc:
changed Item_field constructor call
sql/item_sum.h:
changed Item_field constructor call
sql/sql_base.cc:
fixed layout
right fix_fields calls
sql/sql_help.cc:
changed Item_field constructor call
sql/sql_load.cc:
changed Item_field constructor call
sql/sql_parse.cc:
constant changed
sql/sql_select.cc:
fixed layout
fix_field emulation insted of real fix_fields call
sql/sql_show.cc:
changed Item_field constructor call
sql/sql_union.cc:
changed Item_field constructor call
double_fix removed
sql/sql_update.cc:
renamed variable, fixed layout
sql/sql_yacc.yy:
typo fixed
fix_fields emulation calls
hegation of numbers fixed
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index be9367ec381..8b516a56b2b 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -428,7 +428,7 @@ void Item_func::fix_num_length_and_dec() Item *Item_func::get_tmp_table_item(THD *thd) { if (!with_sum_func && !const_item()) - return new Item_field(result_field, 1); + return new Item_field(result_field); return copy_or_same(thd); } @@ -2780,7 +2780,13 @@ void Item_func_match::init_search(bool no_order) fields.push_back(args[i]); concat=new Item_func_concat_ws(new Item_string(" ",1, cmp_collation.collation), fields); - concat->fix_fields(current_thd, 0, &concat); + /* + Above function used only to get value and do not need fix_fields for it: + Item_string - basic constant + fields - fix_fieds already was called for this arguments + Item_func_concat_ws - do not need fix_fields to produce value + */ + concat->quick_fix_field(); } if (master) |