diff options
author | ram@gw.mysql.r18.ru <> | 2004-03-17 18:40:04 +0400 |
---|---|---|
committer | ram@gw.mysql.r18.ru <> | 2004-03-17 18:40:04 +0400 |
commit | 757cff9f9bb0acac398e029f7e3a0ca8b0abb413 (patch) | |
tree | d5515bf24a38a52597d8b7e3319a18b319ca2b03 /sql | |
parent | 16179dbef0745c6f2d59a9b29771d7b4cdd22282 (diff) | |
download | mariadb-git-757cff9f9bb0acac398e029f7e3a0ca8b0abb413.tar.gz |
Code cleanup:
- added unsigned_flag= 1; to Item_uint constructors
- removed Item_uint::fix_fields()
- added a comment about fix_fields() call
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item.h | 10 | ||||
-rw-r--r-- | sql/item_func.cc | 1 |
2 files changed, 3 insertions, 8 deletions
diff --git a/sql/item.h b/sql/item.h index 31641d42455..55db205f3a7 100644 --- a/sql/item.h +++ b/sql/item.h @@ -429,19 +429,13 @@ class Item_uint :public Item_int public: Item_uint(const char *str_arg, uint length) : Item_int(str_arg, (longlong) strtoull(str_arg,(char**) 0,10), length) - { fixed= 0; } + { unsigned_flag= 1; } Item_uint(uint32 i) :Item_int((longlong) i, 10) - { fixed= 0; } + { unsigned_flag= 1; } double val() { return ulonglong2double((ulonglong)value); } String *val_str(String*); Item *new_item() { return new Item_uint(name,max_length); } int save_in_field(Field *field, bool no_conversions); - bool fix_fields(THD *thd, struct st_table_list *list, Item **item) - { - bool res= Item::fix_fields(thd, list, item); - unsigned_flag= 1; - return res; - } void print(String *str); }; diff --git a/sql/item_func.cc b/sql/item_func.cc index d5e94c7bd35..5e479f80e62 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -205,6 +205,7 @@ 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 */ + /* 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 */ |