diff options
author | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2020-10-01 11:18:54 +0200 |
---|---|---|
committer | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2020-11-09 09:22:09 +0100 |
commit | cb3eb2711cc2fd4e2dc0ea9f0217607ce8965a21 (patch) | |
tree | bf397db201dff0a818f41f66432bcd2c027ba92a | |
parent | f5d2d455a6fa9f55f65238f27a625efe1d8ba5d9 (diff) | |
download | mariadb-git-bb-10.4-wsrep-update.tar.gz |
Update wsrep-libbb-10.4-wsrep-update
-rw-r--r-- | sql/wsrep_client_service.cc | 27 | ||||
-rw-r--r-- | sql/wsrep_client_service.h | 11 | ||||
m--------- | wsrep-lib | 0 |
3 files changed, 33 insertions, 5 deletions
diff --git a/sql/wsrep_client_service.cc b/sql/wsrep_client_service.cc index 20bb7748a95..e563a0dba2d 100644 --- a/sql/wsrep_client_service.cc +++ b/sql/wsrep_client_service.cc @@ -246,6 +246,16 @@ void Wsrep_client_service::will_replay() mysql_mutex_unlock(&LOCK_wsrep_replaying); } +void Wsrep_client_service::signal_replayed() +{ + DBUG_ASSERT(m_thd == current_thd); + mysql_mutex_lock(&LOCK_wsrep_replaying); + --wsrep_replaying; + DBUG_ASSERT(wsrep_replaying >= 0); + mysql_cond_broadcast(&COND_wsrep_replaying); + mysql_mutex_unlock(&LOCK_wsrep_replaying); +} + enum wsrep::provider::status Wsrep_client_service::replay() { @@ -274,14 +284,15 @@ enum wsrep::provider::status Wsrep_client_service::replay() } delete replayer_thd; - - mysql_mutex_lock(&LOCK_wsrep_replaying); - --wsrep_replaying; - mysql_cond_broadcast(&COND_wsrep_replaying); - mysql_mutex_unlock(&LOCK_wsrep_replaying); DBUG_RETURN(ret); } +enum wsrep::provider::status Wsrep_client_service::replay_unordered() +{ + DBUG_ASSERT(0); + return wsrep::provider::error_not_implemented; +} + void Wsrep_client_service::wait_for_replayers(wsrep::unique_lock<wsrep::mutex>& lock) { DBUG_ASSERT(m_thd == current_thd); @@ -301,6 +312,12 @@ void Wsrep_client_service::wait_for_replayers(wsrep::unique_lock<wsrep::mutex>& lock.lock(); } +enum wsrep::provider::status Wsrep_client_service::commit_by_xid() +{ + DBUG_ASSERT(0); + return wsrep::provider::error_not_implemented; +} + void Wsrep_client_service::debug_sync(const char* sync_point) { DBUG_ASSERT(m_thd == current_thd); diff --git a/sql/wsrep_client_service.h b/sql/wsrep_client_service.h index aa58d99c3cf..253d2f43ac3 100644 --- a/sql/wsrep_client_service.h +++ b/sql/wsrep_client_service.h @@ -48,8 +48,19 @@ public: void emergency_shutdown() { throw wsrep::not_implemented_error(); } void will_replay(); + void signal_replayed(); enum wsrep::provider::status replay(); + enum wsrep::provider::status replay_unordered(); void wait_for_replayers(wsrep::unique_lock<wsrep::mutex>&); + enum wsrep::provider::status commit_by_xid(); + bool is_explicit_xa() + { + return false; + } + bool is_xa_rollback() + { + return false; + } void debug_sync(const char*); void debug_crash(const char*); int bf_rollback(); diff --git a/wsrep-lib b/wsrep-lib -Subproject 2da6e4894e1df5d1db51db2bbc49255e02251b9 +Subproject 41a6e9dad79c921134e44cf974b6b7ca3b84e53 |