diff options
author | unknown <guilhem@mysql.com> | 2004-03-01 15:15:58 +0100 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2004-03-01 15:15:58 +0100 |
commit | 12ede13a9717e964cfae8c15ac2dce8a3480b590 (patch) | |
tree | 08b3a130d4ec9656ddc3810bedfddc4b3a7b9357 /sql/slave.h | |
parent | bf53c870499fac500ef34f0880a4da18c08e417d (diff) | |
download | mariadb-git-12ede13a9717e964cfae8c15ac2dce8a3480b590.tar.gz |
Fix for BUG#3015
"(binlog, position) stored by InnoDB for a replication slave can be wrong".
This code contains conditional #if to distinguish between versions;
it should be merged into 4.1 and 5.0.
sql/ha_innodb.cc:
correcting the binlog position stored in InnoDB in a slave.
sql/log_event.cc:
better code to store the binlog position in InnoDB for a slave.
sql/slave.h:
Better code for storing the binlog position in InnoDB for a slave.
Diffstat (limited to 'sql/slave.h')
-rw-r--r-- | sql/slave.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sql/slave.h b/sql/slave.h index ed34c12985a..8331e722a51 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -177,12 +177,16 @@ typedef struct st_relay_log_info bool ignore_log_space_limit; /* - InnoDB internally stores the master log position it has processed - so far; the position to store is really the sum of - pos + pending + event_len here since we must store the pos of the - END of the current log event + When it commits, InnoDB internally stores the master log position it has + processed so far; the position to store is the one of the end of the + committing event (the COMMIT query event, or the event if in autocommit + mode). */ - int event_len; +#if MYSQL_VERSION_ID < 40100 + ulonglong future_master_log_pos; +#else + ulonglong future_group_master_log_pos; +#endif /* Needed for problems when slave stops and we want to restart it |