summaryrefslogtreecommitdiffstats
path: root/sql/rpl_rli.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sql/rpl_rli.h39
1 files changed, 20 insertions, 19 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h
index cf991584..c3be5df4 100644
--- a/sql/rpl_rli.h
+++ b/sql/rpl_rli.h
@@ -338,6 +338,8 @@ public:
/* Condition for UNTIL master_gtid_pos. */
slave_connection_state until_gtid_pos;
+ bool is_until_before_gtids;
+
/*
retried_trans is a cumulative counter: how many times the slave
has retried a transaction (any) since slave started.
@@ -668,6 +670,22 @@ struct start_alter_info
mysql_cond_t start_alter_cond;
};
+struct Rpl_table_data
+{
+ const table_def *tabledef;
+ TABLE *conv_table;
+ const Copy_field *copy_fields;
+ const Copy_field *copy_fields_end;
+ Rpl_table_data(const RPL_TABLE_LIST &rpl_table_list)
+ {
+ tabledef= &rpl_table_list.m_tabledef;
+ conv_table= rpl_table_list.m_conv_table;
+ copy_fields= rpl_table_list.m_online_alter_copy_fields;
+ copy_fields_end= rpl_table_list.m_online_alter_copy_fields_end;
+ }
+ bool is_online_alter() const { return copy_fields != NULL; }
+};
+
/*
This is data for various state needed to be kept for the processing of
one event group (transaction) during replication.
@@ -813,7 +831,7 @@ struct rpl_group_info
longlong row_stmt_start_timestamp;
bool long_find_row_note_printed;
/* Needs room for "Gtid D-S-N\x00". */
- char gtid_info_buf[5+10+1+10+1+20+1];
+ mutable char gtid_info_buf[5+10+1+10+1+20+1];
/*
The timestamp, from the master, of the commit event.
@@ -940,29 +958,12 @@ struct rpl_group_info
}
}
- bool get_table_data(TABLE *table_arg, table_def **tabledef_var, TABLE **conv_table_var) const
- {
- DBUG_ASSERT(tabledef_var && conv_table_var);
- for (TABLE_LIST *ptr= tables_to_lock ; ptr != NULL ; ptr= ptr->next_global)
- if (ptr->table == table_arg)
- {
- *tabledef_var= &static_cast<RPL_TABLE_LIST*>(ptr)->m_tabledef;
- *conv_table_var= static_cast<RPL_TABLE_LIST*>(ptr)->m_conv_table;
- DBUG_PRINT("debug", ("Fetching table data for table %s.%s:"
- " tabledef: %p, conv_table: %p",
- table_arg->s->db.str, table_arg->s->table_name.str,
- *tabledef_var, *conv_table_var));
- return true;
- }
- return false;
- }
-
void clear_tables_to_lock();
void cleanup_context(THD *, bool, bool keep_domain_owner= false);
void slave_close_thread_tables(THD *);
void mark_start_commit_no_lock();
void mark_start_commit();
- char *gtid_info();
+ char *gtid_info() const;
void unmark_start_commit();
longlong get_row_stmt_start_timestamp()