summaryrefslogtreecommitdiff
path: root/sql/rpl_utility.h
diff options
context:
space:
mode:
authorAndrei Elkin <andrei.elkin@oracle.com>2012-04-21 13:24:39 +0300
committerAndrei Elkin <andrei.elkin@oracle.com>2012-04-21 13:24:39 +0300
commit14de6de946d78dc2c5674d7d1e27edc170e5de6b (patch)
tree5f529072426678936974bb7abecd548dc5af7004 /sql/rpl_utility.h
parentdcb5071b1906d76b4c61d3125ddc7368f3ee8c4f (diff)
parent49e484c8cd2e362e843bbd5d756422cc7e2686d3 (diff)
downloadmariadb-git-14de6de946d78dc2c5674d7d1e27edc170e5de6b.tar.gz
merge bug11754117-45670 fixes from 5.1.
Diffstat (limited to 'sql/rpl_utility.h')
-rw-r--r--sql/rpl_utility.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/sql/rpl_utility.h b/sql/rpl_utility.h
index eebef266754..55b0431b938 100644
--- a/sql/rpl_utility.h
+++ b/sql/rpl_utility.h
@@ -28,7 +28,7 @@
#include "mysql_com.h"
class Relay_log_info;
-
+class Log_event;
/**
A table definition from the master.
@@ -261,6 +261,24 @@ CPP_UNNAMED_NS_START
};
CPP_UNNAMED_NS_END
+
+class Deferred_log_events
+{
+private:
+ DYNAMIC_ARRAY array;
+ Log_event *last_added;
+
+public:
+ Deferred_log_events(Relay_log_info *rli);
+ ~Deferred_log_events();
+ /* queue for exection at Query-log-event time prior the Query */;
+ int add(Log_event *ev);
+ bool is_empty();
+ bool execute(Relay_log_info *rli);
+ void rewind();
+ bool is_last(Log_event *ev) { return ev == last_added; };
+};
+
#endif
// NB. number of printed bit values is limited to sizeof(buf) - 1