From 23c011fe5ecf1db1c22bed4967a1401bc760b87e Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Thu, 21 Sep 2017 17:19:01 +0900 Subject: [PATCH] Update regression tests --- expected/repmgr_extension.out | 36 +++++++++++++++++++++++++++++++++++ repmgr.c | 3 +++ sql/repmgr_extension.sql | 6 ++++++ 3 files changed, 45 insertions(+) diff --git a/expected/repmgr_extension.out b/expected/repmgr_extension.out index 30ff6a4f..779a7270 100644 --- a/expected/repmgr_extension.out +++ b/expected/repmgr_extension.out @@ -32,6 +32,12 @@ SELECT * FROM repmgr.show_nodes; (0 rows) -- functions +SELECT repmgr.am_bdr_failover_handler(-1); + am_bdr_failover_handler +------------------------- + +(1 row) + SELECT repmgr.get_new_primary(); get_new_primary ----------------- @@ -44,12 +50,42 @@ SELECT repmgr.get_voting_status(); (1 row) +SELECT repmgr.notify_follow_primary(-1); + notify_follow_primary +----------------------- + +(1 row) + +SELECT repmgr.other_node_is_candidate(-1,-1); + other_node_is_candidate +------------------------- + +(1 row) + +SELECT repmgr.request_vote(-1,-1); + request_vote +-------------- + +(1 row) + SELECT repmgr.reset_voting_status(); reset_voting_status --------------------- (1 row) +SELECT repmgr.set_local_node_id(-1); + set_local_node_id +------------------- + +(1 row) + +SELECT repmgr.set_voting_status_initiated(); + set_voting_status_initiated +----------------------------- + +(1 row) + SELECT repmgr.standby_get_last_updated(); standby_get_last_updated -------------------------- diff --git a/repmgr.c b/repmgr.c index a79803fa..ca1bfac2 100644 --- a/repmgr.c +++ b/repmgr.c @@ -419,6 +419,9 @@ set_voting_status_initiated(PG_FUNCTION_ARGS) #ifndef BDR_ONLY int electoral_term = -1; + if (!shared_state) + PG_RETURN_NULL(); + LWLockAcquire(shared_state->lock, LW_SHARED); /* only do something if local_node_id is initialised */ diff --git a/sql/repmgr_extension.sql b/sql/repmgr_extension.sql index c5b647da..d2d2a376 100644 --- a/sql/repmgr_extension.sql +++ b/sql/repmgr_extension.sql @@ -17,9 +17,15 @@ SELECT * FROM repmgr.replication_status; SELECT * FROM repmgr.show_nodes; -- functions +SELECT repmgr.am_bdr_failover_handler(-1); SELECT repmgr.get_new_primary(); SELECT repmgr.get_voting_status(); +SELECT repmgr.notify_follow_primary(-1); +SELECT repmgr.other_node_is_candidate(-1,-1); +SELECT repmgr.request_vote(-1,-1); SELECT repmgr.reset_voting_status(); +SELECT repmgr.set_local_node_id(-1); +SELECT repmgr.set_voting_status_initiated(); SELECT repmgr.standby_get_last_updated(); SELECT repmgr.standby_set_last_updated(); SELECT repmgr.unset_bdr_failover_handler();