From 6291b7b591b0d5239dfac890209fe30dfc3dc8f5 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 19 Jan 2002 19:16:52 -0700 Subject: Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list --- sql/sql_repl.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'sql/sql_repl.h') diff --git a/sql/sql_repl.h b/sql/sql_repl.h index 4b9f741dde7..360fd50a1e3 100644 --- a/sql/sql_repl.h +++ b/sql/sql_repl.h @@ -26,30 +26,26 @@ extern int max_binlog_dump_events; extern bool opt_sporadic_binlog_dump_fail; #endif -#ifdef SIGNAL_WITH_VIO_CLOSE -#define KICK_SLAVE { slave_thd->close_active_vio(); \ - thr_alarm_kill(slave_real_id); } -#else -#define KICK_SLAVE thr_alarm_kill(slave_real_id); -#endif +#define KICK_SLAVE(thd) thd->awake(0 /* do not prepare to die*/); File open_binlog(IO_CACHE *log, const char *log_file_name, const char **errmsg); -int start_slave(THD* thd = 0, bool net_report = 1); -int stop_slave(THD* thd = 0, bool net_report = 1); -int change_master(THD* thd); +int start_slave(THD* thd, MASTER_INFO* mi, bool net_report); +int stop_slave(THD* thd, MASTER_INFO* mi, bool net_report); +int change_master(THD* thd, MASTER_INFO* mi); int show_binlog_events(THD* thd); int cmp_master_pos(const char* log_file_name1, ulonglong log_pos1, const char* log_file_name2, ulonglong log_pos2); -void reset_slave(); -void reset_master(); +int reset_slave(MASTER_INFO* mi); +int reset_master(THD* thd); int purge_master_logs(THD* thd, const char* to_log); bool log_in_use(const char* log_name); void adjust_linfo_offsets(my_off_t purge_offset); int show_binlogs(THD* thd); extern int init_master_info(MASTER_INFO* mi); void kill_zombie_dump_threads(uint32 slave_server_id); +int check_binlog_magic(IO_CACHE* log, const char** errmsg); typedef struct st_load_file_info { -- cgit v1.2.1