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

SR applying implementation, unit tests.

This commit is contained in:
Teemu Ollakka
2018-06-14 11:14:40 +03:00
parent 39c9ef8a63
commit a8ab9c6dbd
9 changed files with 188 additions and 49 deletions

View File

@ -210,12 +210,6 @@ namespace wsrep
*/
enum after_statement_result after_statement();
int start_transaction()
{
assert(state_ == s_exec);
return transaction_.start_transaction();
}
int start_transaction(const wsrep::transaction_id& id)
{
assert(state_ == s_exec);

View File

@ -208,16 +208,23 @@ namespace wsrep
* \param transaction_id Transaction ID of the SR transaction on the
* origin server.
*/
virtual client_context& streaming_applier_client_context(
const wsrep::id& server_id,
const wsrep::transaction_id& transaction_id
) = 0;
virtual client_context* streaming_applier_client_context() = 0;
void insert_streaming_applier(
void start_streaming_applier(
const wsrep::id&,
const wsrep::transaction_id&,
wsrep::client_context* client_context);
void stop_streaming_applier(
const wsrep::id&, const wsrep::transaction_id&);
/*!
* Return reference to streaming applier.
*/
client_context* find_streaming_applier(const wsrep::id&,
const wsrep::transaction_id&) const;
virtual void log_dummy_write_set(wsrep::client_context&,
const wsrep::ws_meta&) = 0;
/*!
* Load WSRep provider.
*

View File

@ -80,14 +80,6 @@ namespace wsrep
bool pa_unsafe() const { return pa_unsafe_; }
void pa_unsafe(bool pa_unsafe) { pa_unsafe_ = pa_unsafe; }
//
int start_transaction()
{
assert(active() == false);
assert(ws_meta_.transaction_id() != transaction_id::invalid());
return start_transaction(ws_meta_.transaction_id());
}
int start_transaction(const wsrep::transaction_id& id);
int start_transaction(const wsrep::ws_handle& ws_handle,