diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-06-14 20:05:31 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-06-14 20:05:31 +0200 |
commit | 0522307ed1b4aeef16dd94606d0b0f6e974b29a5 (patch) | |
tree | ac9829d5d4b0e676c984b931702282c446e604ea /sql/rpl_rli.h | |
parent | d2ca6d2e7ff028f6abbab52e36530046b3f84a49 (diff) | |
parent | 326b40c9c8160db414288925936449e55f4f3a0a (diff) | |
download | mariadb-git-0522307ed1b4aeef16dd94606d0b0f6e974b29a5.tar.gz |
mysql-5.5 merge
Diffstat (limited to 'sql/rpl_rli.h')
-rw-r--r-- | sql/rpl_rli.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h index 958002561bc..b989283deb4 100644 --- a/sql/rpl_rli.h +++ b/sql/rpl_rli.h @@ -389,6 +389,41 @@ public: */ time_t last_event_start_time; + /* + A container to hold on Intvar-, Rand-, Uservar- log-events in case + the slave is configured with table filtering rules. + The withhold events are executed when their parent Query destiny is + determined for execution as well. + */ + Deferred_log_events *deferred_events; + + /* + State of the container: true stands for IRU events gathering, + false does for execution, either deferred or direct. + */ + bool deferred_events_collecting; + + /* + Returns true if the argument event resides in the containter; + more specifically, the checking is done against the last added event. + */ + bool is_deferred_event(Log_event * ev) + { + return deferred_events_collecting ? deferred_events->is_last(ev) : false; + }; + /* The general cleanup that slave applier may need at the end of query. */ + inline void cleanup_after_query() + { + if (deferred_events) + deferred_events->rewind(); + }; + /* The general cleanup that slave applier may need at the end of session. */ + void cleanup_after_session() + { + if (deferred_events) + delete deferred_events; + }; + /** Helper function to do after statement completion. |