1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00

Provided methods to clone subset of transaction state for replay.

This commit is contained in:
Teemu Ollakka
2019-04-03 18:36:07 +03:00
parent ae746fb289
commit e9dafb7373
3 changed files with 48 additions and 0 deletions

View File

@ -935,6 +935,24 @@ bool wsrep::transaction::total_order_bf_abort(
return ret;
}
void wsrep::transaction::clone_for_replay(const wsrep::transaction& other)
{
assert(other.state() == s_replaying);
id_ = other.id_;
ws_handle_ = other.ws_handle_;
ws_meta_ = other.ws_meta_;
streaming_context_ = other.streaming_context_;
state_ = s_replaying;
}
void wsrep::transaction::after_replay(const wsrep::transaction& other)
{
// Other must have been terminated
assert(other.state() == s_committed || other.state() == s_aborted);
state_ = other.state();
clear_fragments();
}
////////////////////////////////////////////////////////////////////////////////
// Private //
////////////////////////////////////////////////////////////////////////////////