diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-08-03 15:57:53 -0600 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-08-03 15:57:53 -0600 |
commit | 0dab9f40e1c52ac00e1ca291785ae7943dea577e (patch) | |
tree | 7a15577166ddda4e7b8c9c9cb80471777aeb717b /sql/slave.h | |
parent | 07ed42de3177805c3e1f5d8c7664d91ef0015d62 (diff) | |
download | mariadb-git-0dab9f40e1c52ac00e1ca291785ae7943dea577e.tar.gz |
LOAD DATA INFILE is now replicated properly, except for cleanup on
Stop event and bugs the test suite could not catch
Did some big restructuring of binlog event classes - most important
change is that now each event class has exec_event method and one does
not need to modify slave core code to add a new event. Slave code is
now much smaller and easier to read
include/my_sys.h:
pre_code and arg in IO_CACHE
mysql-test/r/rpl_log.result:
updated result for LOAD DATA INFILE fix
mysys/mf_iocache.c:
pre_close routine and arg pointer for callback magic
sql/log.cc:
changed MYSQL_LOG so that write() method is for generic
Log_event - removed redundant code
sql/log_event.cc:
added classes for file events
added exec_event() method to all classes
restructured/cleaned up event classes
sql/log_event.h:
added classes for file events
added exec_event() method to all classes
restructured/cleaned up event classes
sql/mf_iocache.cc:
pre_close/arg
sql/mysqld.cc:
added slave-load-tmpdir and old-rpl-compat options
sql/slave.cc:
changed exec_event() to use Log_event::exec_event()
some routines are now needed in log_event.cc and cannot be static/inline
general cleanup
sql/slave.h:
some routines are now extern because they are called from log_event.cc
sql/sql_class.cc:
added slave_net
sql/sql_class.h:
added slave_net to THD
MYSQL_LOG::write now handles generic Log_event
sql/sql_load.cc:
changes for new handling of LOAD DATA INFILE replication
sql/sql_repl.cc:
added log_loaded_block() callback for IO_CACHE
sql/sql_repl.h:
added structure to pass args to IO_CACHE callback from mysql_load
Diffstat (limited to 'sql/slave.h')
-rw-r--r-- | sql/slave.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sql/slave.h b/sql/slave.h index 85db0b75f53..5850b57d3b3 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -5,7 +5,7 @@ #define SLAVE_NET_TIMEOUT 3600 extern ulong slave_net_timeout; - +extern char* slave_load_tmpdir; typedef struct st_master_info { @@ -70,6 +70,11 @@ typedef struct st_table_rule_ent #define TABLE_RULE_HASH_SIZE 16 #define TABLE_RULE_ARR_SIZE 16 +#define MAX_SLAVE_ERRMSG 1024 + +#define RPL_LOG_NAME (glob_mi.log_file_name[0] ? glob_mi.log_file_name :\ + "FIRST") + int flush_master_info(MASTER_INFO* mi); int register_slave_on_master(MYSQL* mysql); @@ -97,6 +102,10 @@ int add_table_rule(HASH* h, const char* table_spec); int add_wild_table_rule(DYNAMIC_ARRAY* a, const char* table_spec); void init_table_rule_hash(HASH* h, bool* h_inited); void init_table_rule_array(DYNAMIC_ARRAY* a, bool* a_inited); +char* rewrite_db(char* db); +int check_expected_error(THD* thd, int error_code); +void skip_load_data_infile(NET* net); +void slave_print_error(int err_code, const char* msg, ...); void end_slave(); // clean up int init_master_info(MASTER_INFO* mi); @@ -109,6 +118,11 @@ extern uint32 slave_skip_counter; // we want to restart it skipping one or more events in the master log that // have caused errors, and have been manually applied by DBA already +extern int last_slave_errno; +#ifndef DBUG_OFF +extern int events_till_abort; +#endif +extern char last_slave_error[MAX_SLAVE_ERRMSG]; extern pthread_t slave_real_id; extern THD* slave_thd; extern MASTER_INFO glob_mi; |