diff options
author | unknown <monty@mysql.com> | 2004-02-09 12:31:03 +0100 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-02-09 12:31:03 +0100 |
commit | 35b1f5445056951dda823b6ec4ee6f06ca612714 (patch) | |
tree | 4cdb6965fba280ace2fc30421a0f25332597e43e /sql/item_func.h | |
parent | 44289ba6587b7a2151b4bd3aa7bd5f3b282454d5 (diff) | |
download | mariadb-git-35b1f5445056951dda823b6ec4ee6f06ca612714.tar.gz |
Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments
Fixed warnings from valgrind
Fixed ref_length when used with HEAP tables
More efficent need_conversion()
Fixed error handling in UPDATE with not updateable tables
Fixed bug in null handling in CAST to signed/unsigned
client/client_priv.h:
cleanup & added OPT_COMPACT
client/mysqldump.c:
Added option --compact to get a compact readable dump.
Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
mysql-test/r/cast.result:
More cast tests
mysql-test/r/derived.result:
Removed warnings
mysql-test/r/mysqldump.result:
Update results after fixing mysqlbinlog
mysql-test/r/query_cache.result:
Make test usable with --extern
more tests
mysql-test/r/rpl_until.result:
Make test repeatable under valgrind
mysql-test/r/sql_mode.result:
Fix test result
mysql-test/r/subselect.result:
Make test smaller. Update wrong results
mysql-test/t/cast.test:
More cast tests
mysql-test/t/derived.test:
Removed warnings
mysql-test/t/query_cache.test:
Make test usable with --extern
more tests
mysql-test/t/rpl_until.test:
fix for valgrind. Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
mysql-test/t/subselect.test:
Make test case smaller
sql/field.cc:
Updated need_conversion() to use new arguments
sql/ha_heap.cc:
Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
sql/item_func.cc:
Cleanup
sql/item_func.h:
Fixed bug in null_handling for cast to signed/unsigned
sql/item_strfunc.cc:
Optimized/cleaned up Item_func_conv_charset3
sql/item_sum.cc:
Cleanup.
Ensure that some flag variables are cleared in cleanup()
sql/item_sum.h:
Fixed references to uninitialized memory
sql/opt_range.cc:
Fixed spelling error
sql/sql_class.cc:
Fixed wrong return code, which could case protocol problems
sql/sql_class.h:
After merge fix
sql/sql_prepare.cc:
Added comments
sql/sql_show.cc:
Cleanup
sql/sql_string.cc:
Optimzed usage of need_conversion().
- Removed not used argument
- Save diff lenght in 'offset' to not have to recalculate length several times.
Cleaned up comment
Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
sql/sql_string.h:
Updated need_conversion() and copy_aligned() to use new arguments
sql/sql_update.cc:
Fixed error handling with non-updateable tables
sql/sql_yacc.yy:
Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
Diffstat (limited to 'sql/item_func.h')
-rw-r--r-- | sql/item_func.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sql/item_func.h b/sql/item_func.h index be20a9b4fc7..30f817d133b 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -211,20 +211,28 @@ class Item_func_signed :public Item_int_func { public: Item_func_signed(Item *a) :Item_int_func(a) {} - double val() { null_value=args[0]->null_value; return args[0]->val(); } - longlong val_int() { null_value=args[0]->null_value; return args[0]->val_int(); } + double val() + { + double tmp= args[0]->val(); + null_value= args[0]->null_value; + return tmp; + } + longlong val_int() + { + longlong tmp= args[0]->val_int(); + null_value= args[0]->null_value; + return tmp; + } void fix_length_and_dec() { max_length=args[0]->max_length; unsigned_flag=0; } void print(String *str); }; -class Item_func_unsigned :public Item_int_func +class Item_func_unsigned :public Item_func_signed { public: - Item_func_unsigned(Item *a) :Item_int_func(a) {} - double val() { null_value=args[0]->null_value; return args[0]->val(); } - longlong val_int() { null_value=args[0]->null_value; return args[0]->val_int(); } + Item_func_unsigned(Item *a) :Item_func_signed(a) {} void fix_length_and_dec() { max_length=args[0]->max_length; unsigned_flag=1; } void print(String *str); |