Commit 69d92fb1 authored by unknown's avatar unknown
Browse files

Refactoring: Moved rli code to new file rpl_rli.cc. The idea being that rli

should be a separate module (i.e. a class) to make it easier to maintain the 
code, e.g. by having checks within the rli checking sanity of data and making 
member variables private.  This will also ease implementation of multi-source 
and, at least in my fantasies :), make it possible in some future to have 
separate replication servers.


sql/Makefile.am:
  Added file rpl_rli.cc
sql/repl_failsafe.cc:
  Move function
sql/rpl_rli.h:
  moved functions
sql/slave.cc:
  Moved rli code into rpl_rli.cc
sql/sql_repl.cc:
  Changed function to be member function
sql/rpl_rli.cc:
  Code for rli
parent b7d43470
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \
			sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \
			sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
			slave.cc sql_repl.cc rpl_filter.cc rpl_tblmap.cc \
			rpl_utility.cc rpl_injector.cc \
			rpl_utility.cc rpl_injector.cc rpl_rli.cc \
                        sql_union.cc sql_derived.cc \
			client.c sql_client.cc mini_client_errors.c pack.c\
			stacktrace.c repl_failsafe.h repl_failsafe.cc \
+1 −1
Original line number Diff line number Diff line
@@ -962,7 +962,7 @@ bool load_master_data(THD* thd)
     Cancel the previous START SLAVE UNTIL, as the fact to download
     a new copy logically makes UNTIL irrelevant.
  */
  clear_until_condition(&active_mi->rli);
  active_mi->rli.clear_until_condition();

  /*
    No need to update rli.event* coordinates, they will be when the slave

sql/rpl_rli.cc

0 → 100644
+1187 −0

File added.

Preview size limit exceeded, changes collapsed.

+9 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@

#include "rpl_tblmap.h"


/****************************************************************************

  Replication SQL Thread
@@ -164,6 +165,9 @@ typedef struct st_relay_log_info

  time_t last_master_timestamp; 

  void clear_slave_error();
  void clear_until_condition();

  /*
    Needed for problems when slave stops and we want to restart it
    skipping one or more events in the master log that have caused
@@ -322,4 +326,9 @@ typedef struct st_relay_log_info
  time_t unsafe_to_stop_at;
} RELAY_LOG_INFO;


// Defined in rpl_rli.cc
int init_relay_log_info(RELAY_LOG_INFO* rli, const char* info_fname);


#endif /* RPL_RLI_H */
+4 −1154

File changed.

Preview size limit exceeded, changes collapsed.

Loading