summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/nosik.monty.fi>2006-11-21 22:32:58 +0200
committerunknown <monty@mysql.com/nosik.monty.fi>2006-11-21 22:32:58 +0200
commit85a590a26cb2e8d60a630678ae9fbf55fb97f4da (patch)
tree7976fdc96a4eb6af989b3c9caa89d1e2cb5729d5 /mysys
parenta316aebc6e3015b8d5dc8efec5e8049f98e929a4 (diff)
downloadmariadb-git-85a590a26cb2e8d60a630678ae9fbf55fb97f4da.tar.gz
Added --debug-info to most clients to detect memory leaks in mysql-test-run
Moved .progress files into the log directory Moved 'cluster' database tables into the MySQL database, to not have 'cluster' beeing a reserved database name Fixed bug where mysqld got a core dump when trying to use a table created by MySQL 3.23 Fixed some compiler warnings Fixed small memory leak in libmysql Note that this doesn't changeset doesn't include the new mysqldump.c code required to run some tests. This will be added when I merge 5.0 to 5.1 client/client_priv.h: Added OPT_DEBUG_INFO and OPT_COLUMN_TYPES client/mysql.cc: Split --debug-info into --debug-info and --column-type-info client/mysql_upgrade.c: Give only error info at end if using --debug-info client/mysqladmin.cc: Added --debug-info to detect memory leaks in mysqltest client/mysqlbinlog.cc: Added --debug-info to detect memory leaks in mysqltest client/mysqlcheck.c: Added --debug-info to detect memory leaks in mysqltest client/mysqlimport.c: Added --debug-info to detect memory leaks in mysqltest client/mysqlshow.c: Added --debug-info to detect memory leaks in mysqltest client/mysqltest.c: Added --debug-info to detect memory leaks in mysqltest Added option --logdir to force .progress files in a specific directory libmysql/libmysql.c: Fixed memory leak mysql-test/include/ndb_setup_slave.inc: Moved cluster tables under 'mysql' mysql-test/include/query_cache.inc: Added more tests for query cache mysql-test/lib/init_db.sql: Move cluster.binlog_index -> mysql.binlog_index mysql-test/lib/mtr_report.pl: Find memory leaks mysql-test/mysql-test-run-shell.sh: Added --debug-info to programs to detect memory leaks mysql-test/mysql-test-run.pl: Added --debug-info to programs to detect memory leaks Force log files to var/log cluster tables moved under 'mysql' mysql-test/r/cache_innodb.result: New query cache test with innodb mysql-test/r/connect.result: binlog_index is now in mysql mysql-test/r/drop.result: Removed 'cluster' database mysql-test/r/information_schema.result: Removed 'cluster' database mysql-test/r/mysqlcheck.result: cluster.binlog_index -> mysql.binlog_index mysql-test/r/ndb_binlog_basic.result: cluster.binlog_index -> mysql.binlog_index mysql-test/r/ndb_binlog_ddl_multi.result: cluster -> mysql mysql-test/r/ndb_binlog_discover.result: cluster -> mysql mysql-test/r/ndb_binlog_multi.result: cluster -> mysql mysql-test/r/ndb_restore_compat.result: cluster -> mysql mysql-test/r/ps_1general.result: Removed cluster database mysql-test/r/rpl_create_database.result: Removed cluster database mysql-test/r/rpl_load_from_master.result: Removed cluster database mysql-test/r/rpl_loaddata_m.result: Removed cluster database mysql-test/r/rpl_ndb_bank.result: cluster -> mysql mysql-test/r/rpl_ndb_dd_advance.result: cluster -> mysql mysql-test/r/rpl_ndb_dd_basic.result: cluster -> mysql mysql-test/r/rpl_ndb_idempotent.result: cluster -> mysql mysql-test/r/rpl_ndb_log.result: cluster -> mysql mysql-test/r/rpl_ndb_multi.result: cluster -> mysql mysql-test/r/rpl_ndb_sync.result: cluster -> mysql mysql-test/r/rpl_row_basic_11bugs.result: Removed cluster database mysql-test/r/rpl_truncate_7ndb.result: Position have changed mysql-test/r/rpl_truncate_7ndb_2.result: cluster -> mysql mysql-test/r/schema.result: Removed cluster database mysql-test/r/show_check.result: Removed cluster database mysql-test/r/system_mysql_db.result: binlog_index moved under mysql mysql-test/r/upgrade.result: More tests mysql-test/t/information_schema.test: cluster -> mysql mysql-test/t/mysqldump.test: More test to detect memory leaks mysql-test/t/ndb_binlog_basic.test: cluster -> mysql mysql-test/t/ndb_binlog_multi.test: cluster -> mysql mysql-test/t/ndb_restore_compat.test: cluster -> mysql mysql-test/t/rpl_ndb_bank.test: cluster -> mysql mysql-test/t/rpl_ndb_dd_advance.test: cluster -> mysql mysql-test/t/rpl_ndb_idempotent.test: cluster -> mysql mysql-test/t/rpl_ndb_multi.test: cluster -> mysql mysql-test/t/rpl_ndb_sync.test: cluster -> mysql mysql-test/t/system_mysql_db_fix.test: Drop also binlog_index mysql-test/t/upgrade.test: Check that tables created with 3.23 works mysys/my_error.c: Remove all registered errors (to avoid memory leaks) mysys/my_init.c: call my_error_unregister_all() to avoid some possible memory leaks mysys/mysys_priv.h: Added prototype scripts/mysql_create_system_tables.sh: cluster -> mysql scripts/mysql_fix_privilege_tables.sql: Changed -- to # Create binlog_index table if it dosesn't exist sql/field.cc: Made offset() inline sql/field.h: Changed prototype of offset() to not make it depending on TABLE structure sql/field_conv.cc: Removed some usage of current_thd sql/ha_ndbcluster_tables.h: cluster -> mysql sql/item_sum.cc: Usage of new 'offset' parameters sql/key.cc: Changed 'find_ref_key' to not be dependent on field->table (This fixed a crash when using a table created in MySQL 3.23) sql/mysql_priv.h: Changed find_ref_key() to not use field->table sql/mysqld.cc: Fix that plugin_init() works properly on bootstrap (Previously we got warnings from plugin_init) sql/sql_class.cc: new 'field->offset()' sql/sql_select.cc: New field->offset() sql/table.cc: We don't need field->table to be set in find_ref_key() or find_field() anymore. storage/archive/ha_archive.cc: New field->offset() storage/federated/ha_federated.cc: New field->offset() storage/innobase/handler/ha_innodb.cc: Fixed compiler warnings storage/myisam/ha_myisam.cc: Fixed compiler warnings (Wrong paramter to sprintf()) New field->offset() storage/myisam/ha_myisam.h: Fixed wrong type of table_flags storage/ndb/tools/restore/Restore.cpp: Fixed compiler warning mysql-test/r/1st.result: New BitKeeper file ``mysql-test/r/1st.result'' mysql-test/std_data/old_table-323.frm: New BitKeeper file ``mysql-test/std_data/old_table-323.frm'' mysql-test/t/1st.test: New BitKeeper file ``mysql-test/t/1st.test''
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_error.c12
-rw-r--r--mysys/my_init.c4
-rw-r--r--mysys/mysys_priv.h2
3 files changed, 17 insertions, 1 deletions
diff --git a/mysys/my_error.c b/mysys/my_error.c
index e60c4eb21d7..cc7c28b6207 100644
--- a/mysys/my_error.c
+++ b/mysys/my_error.c
@@ -252,3 +252,15 @@ const char **my_error_unregister(int first, int last)
return errmsgs;
}
+
+
+void my_error_unregister_all(void)
+{
+ struct my_err_head *list, *next;
+ for (list= my_errmsgs_globerrs.meh_next; list; list= next)
+ {
+ next= list->meh_next;
+ my_free((gptr) list, MYF(0));
+ }
+ my_errmsgs_list= &my_errmsgs_globerrs;
+}
diff --git a/mysys/my_init.c b/mysys/my_init.c
index dca68637161..149ccac531e 100644
--- a/mysys/my_init.c
+++ b/mysys/my_init.c
@@ -154,6 +154,7 @@ void my_end(int infoflag)
}
}
free_charsets();
+ my_error_unregister_all();
my_once_free();
if ((infoflag & MY_GIVE_INFO) || print_info)
@@ -208,7 +209,8 @@ Voluntary context switches %ld, Involuntary context switches %ld\n",
Check on destroying of mutexes. A few may be left that will get cleaned
up by C++ destructors
*/
- safe_mutex_end(infoflag & MY_GIVE_INFO ? stderr : (FILE *) 0);
+ safe_mutex_end((infoflag & (MY_GIVE_INFO | MY_CHECK_ERROR)) ? stderr :
+ (FILE *) 0);
#endif /* defined(SAFE_MUTEX) */
#endif /* THREAD */
diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h
index 89a6d8aa2a7..1d9c2812eb6 100644
--- a/mysys/mysys_priv.h
+++ b/mysys/mysys_priv.h
@@ -41,3 +41,5 @@ extern pthread_mutex_t THR_LOCK_charset;
#ifndef EDQUOT
#define EDQUOT (-1)
#endif
+
+void my_error_unregister_all(void);