summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-02-09 12:31:03 +0100
committerunknown <monty@mysql.com>2004-02-09 12:31:03 +0100
commitde0fbb0619d47194be0e5fd2e0b257ccd73460d0 (patch)
tree4cdb6965fba280ace2fc30421a0f25332597e43e /sql/item_sum.cc
parent639899d67fc4d3e733e5e14ac6845be528d050b8 (diff)
downloadmariadb-git-de0fbb0619d47194be0e5fd2e0b257ccd73460d0.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_sum.cc')
-rw-r--r--sql/item_sum.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index e01f9db3463..10b50fa5b3b 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -1092,15 +1092,21 @@ void Item_sum_count_distinct::cleanup()
if (!original)
{
if (table)
+ {
free_tmp_table(current_thd, table);
+ table= 0;
+ }
delete tmp_table_param;
+ tmp_table_param= 0;
if (use_tree)
+ {
delete_tree(tree);
- table= 0;
- use_tree= 0;
+ use_tree= 0;
+ }
}
}
+
bool Item_sum_count_distinct::fix_fields(THD *thd, TABLE_LIST *tables,
Item **ref)
{
@@ -1674,13 +1680,21 @@ void Item_func_group_concat::cleanup()
{
THD *thd= current_thd;
if (table)
+ {
free_tmp_table(thd, table);
+ table= 0;
+ }
delete tmp_table_param;
+ tmp_table_param= 0;
if (tree_mode)
+ {
+ tree_mode= 0;
delete_tree(tree);
+ }
}
}
+
Item_func_group_concat::~Item_func_group_concat()
{
/*