mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-26: Global transaction ID. First alpha release.
Merge of 10.0-mdev26 feature tree into 10.0-base. Global transaction ID is prepended to each event group in the binlog. Slave connect can request to start from GTID position instead of specifying file name/offset of master binlog. This facilitates easy switch to a new master. Slave GTID state is stored in a table mysql.rpl_slave_state, which can be InnoDB to get crash-safe slave state. GTID includes a replication domain ID, allowing to keep track of distinct positions for each of multiple masters.
This commit is contained in:
@@ -892,7 +892,7 @@ THD::THD()
|
||||
/* Variables with default values */
|
||||
proc_info="login";
|
||||
where= THD::DEFAULT_WHERE;
|
||||
server_id = ::server_id;
|
||||
variables.server_id = global_system_variables.server_id;
|
||||
slave_net = 0;
|
||||
command=COM_CONNECT;
|
||||
*scramble= '\0';
|
||||
@@ -5103,7 +5103,7 @@ int THD::binlog_write_row(TABLE* table, bool is_trans,
|
||||
size_t const len= pack_row(table, cols, row_data, record);
|
||||
|
||||
Rows_log_event* const ev=
|
||||
binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
|
||||
binlog_prepare_pending_rows_event(table, variables.server_id, cols, colcnt,
|
||||
len, is_trans,
|
||||
static_cast<Write_rows_log_event*>(0));
|
||||
|
||||
@@ -5147,7 +5147,7 @@ int THD::binlog_update_row(TABLE* table, bool is_trans,
|
||||
#endif
|
||||
|
||||
Rows_log_event* const ev=
|
||||
binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
|
||||
binlog_prepare_pending_rows_event(table, variables.server_id, cols, colcnt,
|
||||
before_size + after_size, is_trans,
|
||||
static_cast<Update_rows_log_event*>(0));
|
||||
|
||||
@@ -5178,7 +5178,7 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans,
|
||||
size_t const len= pack_row(table, cols, row_data, record);
|
||||
|
||||
Rows_log_event* const ev=
|
||||
binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
|
||||
binlog_prepare_pending_rows_event(table, variables.server_id, cols, colcnt,
|
||||
len, is_trans,
|
||||
static_cast<Delete_rows_log_event*>(0));
|
||||
|
||||
|
Reference in New Issue
Block a user