mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
merge bug11754117-45670 fixes from 5.1.
This commit is contained in:
@ -388,6 +388,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.
|
||||
|
||||
|
Reference in New Issue
Block a user