diff options
author | unknown <monty@mysql.com> | 2006-03-29 14:27:36 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2006-03-29 14:27:36 +0300 |
commit | eda5d7292eabc2155faee808945751171ef83610 (patch) | |
tree | 4d8a2c78f1c611f41d2ea762390198c528239c80 /sql/event.cc | |
parent | 2cd99ea7f450173dc9ba2cba90bff7c20189fc2b (diff) | |
download | mariadb-git-eda5d7292eabc2155faee808945751171ef83610.tar.gz |
Fixed compiler and valgrind warnings
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
BitKeeper/etc/ignore:
added mysql-test/r/*.log
client/mysqltest.c:
Change type of variables to get rid of compiler warnings
More debugging
Fix memory leak
mysql-test/mysql-test-run.sh:
Collect warnings about missing DBUG_RETURN statements
mysql-test/r/lock_multi.result:
Add test of new code
mysql-test/r/ndb_condition_pushdown.result:
Drop used tables before test
mysql-test/t/lock_multi.test:
Add test of new code
mysql-test/t/ndb_condition_pushdown.test:
Drop used tables before test
mysql-test/valgrind.supp:
Ignore 'safe' warnings from libz (when used with archive)
sql/event.cc:
More comments
Simplify code
Fixed memory leak found by valgrind
sql/ha_archive.cc:
Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
sql/ha_berkeley.cc:
Fixed compiler warning
sql/ha_blackhole.cc:
Fixed compiler warning
sql/ha_federated.cc:
Fixed compiler warning
sql/ha_heap.cc:
Fixed compiler warning
sql/ha_myisam.cc:
Fixed compiler warning
sql/ha_myisammrg.cc:
Fixed compiler warning
sql/ha_ndbcluster.cc:
Fixed compiler warnings
sql/ha_partition.cc:
Fixed compiler warning
Fixed error noticed by valgrind in ha_partition::rnd_init()
sql/handler.cc:
Fixed compiler warning
sql/handler.h:
Fixed compiler warning
sql/item.cc:
Fixed compiler warning
sql/item_xmlfunc.cc:
Fixed warning from valgrind when calling memcpy with wrong address
sql/lock.cc:
More debugging
sql/log.cc:
Fixed compiler warning
Indentation fixes
sql/log.h:
Fixed compiler warning
sql/mysql_priv.h:
Changed prototype for 'drop_locked_tables'
sql/opt_range.cc:
Indentation fix
sql/password.c:
Removed compiler warnings
sql/set_var.cc:
Fixed compiler warning
sql/slave.cc:
Fixed compiler warning
sql/sp_head.cc:
Fixed compiler warning
sql/sql_acl.cc:
Fixed compiler warning
sql/sql_analyse.cc:
Added missing DBUG_RETURN statements
sql/sql_base.cc:
Removed de-reference of not initialized pointer
More comments
drop_locked_tables() changed to not delete tables used for name locking
Fixed compiler warnings
sql/sql_delete.cc:
Fixed usage of not initialized variable
(deleted could be referenced in some not common error conditions)
sql/sql_parse.cc:
Added missing DBUG_VOID_RETURN
Simplify code
sql/sql_partition.cc:
Fixed usage of wrong variable (noticed by valgrind)
sql/sql_plugin.cc:
Removed compiler warning
sql/sql_show.cc:
Removed compiler warning
sql/sql_table.cc:
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
Remove compile warnings about not initialized variables.
sql/sql_yacc.yy:
Ensure that no_write_to_binlog is properly initialized
(Was accessed uninitialized by partition code)
sql/table.cc:
Removed valgrind warnings (not fatal)
Removed compiler warnings
sql/tztime.cc:
Removed valgrind warning
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
Removed compiler warning
Diffstat (limited to 'sql/event.cc')
-rw-r--r-- | sql/event.cc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/sql/event.cc b/sql/event.cc index 8eca4b1dcd3..3bfbfbec483 100644 --- a/sql/event.cc +++ b/sql/event.cc @@ -952,6 +952,10 @@ err: NOTES 1) Use sp_name for look up, return in **ett if found 2) tbl is not closed at exit + + RETURN + 0 ok In this case *ett is set to the event + # error *ett == 0 */ static int @@ -960,7 +964,7 @@ db_find_event(THD *thd, sp_name *name, LEX_STRING *definer, Event_timed **ett, { TABLE *table; int ret; - Event_timed *et=NULL; + Event_timed *et= 0; DBUG_ENTER("db_find_event"); DBUG_PRINT("enter", ("name: %*s", name->m_name.length, name->m_name.str)); @@ -997,7 +1001,7 @@ db_find_event(THD *thd, sp_name *name, LEX_STRING *definer, Event_timed **ett, } done: - if (ret && et) + if (ret) { delete et; et= 0; @@ -1382,7 +1386,7 @@ evex_show_create_event(THD *thd, sp_name *spn, LEX_STRING definer) ret= db_find_event(thd, spn, &definer, &et, NULL, thd->mem_root); thd->restore_backup_open_tables_state(&backup); - if (!ret && et) + if (et) { Protocol *protocol= thd->protocol; char show_str_buf[768]; @@ -1392,10 +1396,12 @@ evex_show_create_event(THD *thd, sp_name *spn, LEX_STRING definer) ulong sql_mode_len=0; show_str.length(0); - show_str.set_charset(system_charset_info); if (et->get_create_event(thd, &show_str)) + { + delete et; DBUG_RETURN(1); + } field_list.push_back(new Item_empty_string("Event", NAME_LEN)); @@ -1409,16 +1415,19 @@ evex_show_create_event(THD *thd, sp_name *spn, LEX_STRING definer) show_str.length())); if (protocol->send_fields(&field_list, Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF)) + { + delete et; DBUG_RETURN(1); - + } protocol->prepare_for_resend(); protocol->store(et->name.str, et->name.length, system_charset_info); protocol->store((char*) sql_mode_str, sql_mode_len, system_charset_info); - protocol->store(show_str.c_ptr(), show_str.length(), system_charset_info); + protocol->store(show_str.ptr(), show_str.length(), system_charset_info); ret= protocol->write(); send_eof(thd); + delete et; } DBUG_RETURN(ret); |