diff options
author | guilhem@gbichot2 <> | 2003-10-09 00:06:21 +0200 |
---|---|---|
committer | guilhem@gbichot2 <> | 2003-10-09 00:06:21 +0200 |
commit | c0075fa64bd2bf33b8742288945882ade170561a (patch) | |
tree | 04ae3b48547dd3595548a23422470803ab6ca73b /sql/slave.h | |
parent | 324ff6dedfea1bfa42dff86c2cb966bd92c2464a (diff) | |
download | mariadb-git-c0075fa64bd2bf33b8742288945882ade170561a.tar.gz |
Final push for WL#1098:
"Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS".
Finally this is adding
- Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread,
so that the users, most of the time, has enough info with only SHOW SLAVE STATUS).
- Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP()
on the master, computes the absolute difference between the master's and the slave's clock.
It records the timestamp of the last event executed by the SQL thread, and does a
small computation to find the number of seconds by which the slave is late.
Diffstat (limited to 'sql/slave.h')
-rw-r--r-- | sql/slave.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/slave.h b/sql/slave.h index 05cf7a23b0f..618b04311b9 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -213,6 +213,8 @@ typedef struct st_relay_log_info */ int event_len; + time_t last_master_timestamp; + /* Needed for problems when slave stops and we want to restart it skipping one or more events in the master log that have caused @@ -390,6 +392,16 @@ typedef struct st_master_info enum enum_binlog_formats old_format; volatile bool abort_slave, slave_running; volatile ulong slave_run_id; + /* + The difference in seconds between the clock of the master and the clock of + the slave (second - first). It must be signed as it may be <0 or >0. + clock_diff_with_master is computed when the I/O thread starts; for this the + I/O thread does a SELECT UNIX_TIMESTAMP() on the master. + "how late the slave is compared to the master" is computed like this: + clock_of_slave - last_timestamp_executed_by_SQL_thread - clock_diff_with_master + + */ + long clock_diff_with_master; st_master_info() :ssl(0), fd(-1), io_thd(0), inited(0), old_format(BINLOG_FORMAT_CURRENT), @@ -512,7 +524,7 @@ void slave_print_error(RELAY_LOG_INFO* rli, int err_code, const char* msg, ...); void end_slave(); /* clean up */ void init_master_info_with_options(MASTER_INFO* mi); void clear_until_condition(RELAY_LOG_INFO* rli); -void clear_last_slave_error(RELAY_LOG_INFO* rli); +void clear_slave_error_timestamp(RELAY_LOG_INFO* rli); int init_master_info(MASTER_INFO* mi, const char* master_info_fname, const char* slave_info_fname, bool abort_if_no_master_info_file); |