summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/rpl_rli.h')
-rw-r--r--sql/rpl_rli.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h
index 452457e9e5a..c02ae6e3adb 100644
--- a/sql/rpl_rli.h
+++ b/sql/rpl_rli.h
@@ -53,6 +53,8 @@ class Master_info;
*****************************************************************************/
+struct rpl_group_info;
+
class Relay_log_info : public Slave_reporting_capability
{
public:
@@ -312,13 +314,8 @@ public:
char slave_patternload_file[FN_REFLEN];
size_t slave_patternload_file_size;
- /*
- Current GTID being processed.
- The sub_id gives the binlog order within one domain_id. A zero sub_id
- means that there is no active GTID.
- */
- uint64 gtid_sub_id;
- rpl_gtid current_gtid;
+ /* Various data related to the currently executing event group. */
+ struct rpl_group_info *group_info;
rpl_parallel parallel;
Relay_log_info(bool is_slave_recovery);
@@ -596,6 +593,26 @@ private:
};
+/*
+ This is data for various state needed to be kept for the processing of
+ one event group in the SQL thread.
+
+ For single-threaded replication it is linked from the RLI, for parallel
+ replication it is linked into each event group being executed in parallel.
+*/
+struct rpl_group_info
+{
+ Relay_log_info *rli;
+ /*
+ Current GTID being processed.
+ The sub_id gives the binlog order within one domain_id. A zero sub_id
+ means that there is no active GTID.
+ */
+ uint64 gtid_sub_id;
+ rpl_gtid current_gtid;
+};
+
+
// Defined in rpl_rli.cc
int init_relay_log_info(Relay_log_info* rli, const char* info_fname);