1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Added slave log event to record the master position in of slave thread

in slave binlog - needed for synchronization slave during recovery


sql/log.cc:
  slave log event
sql/log_event.cc:
  slave log event
sql/log_event.h:
  slave log event
sql/slave.cc:
  slave log event
sql/sql_class.h:
  slave log event
This commit is contained in:
unknown
2001-06-14 14:12:40 -06:00
parent 9d0e2843c4
commit 7bf5eb91f0
5 changed files with 217 additions and 2 deletions

View File

@ -532,6 +532,15 @@ void MYSQL_LOG::new_file()
*/
Rotate_log_event r(new_name+dirname_length(new_name));
r.write(&log_file);
// if we have a master, record current master info in a slave
// event
if(glob_mi.inited)
{
Slave_log_event s(current_thd, &glob_mi);
if(s.master_host)
s.write(&log_file);
}
VOID(pthread_cond_broadcast(&COND_binlog_update));
}
name=0;
@ -626,6 +635,18 @@ bool MYSQL_LOG::write(THD *thd,enum enum_server_command command,
/* Write to binary log in a format to be used for replication */
bool MYSQL_LOG::write(Slave_log_event* event_info)
{
bool error;
if (!inited) // Can't use mutex if not init
return 0;
VOID(pthread_mutex_lock(&LOCK_log));
error = event_info->write(&log_file);
VOID(pthread_mutex_unlock(&LOCK_log));
return error;
}
bool MYSQL_LOG::write(Query_log_event* event_info)
{
/* In most cases this is only called if 'is_open()' is true */