Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 83054dc

Browse files
committed
Move referee to a separate extension
1 parent 6d9b336 commit 83054dc

File tree

4 files changed

+10
-34
lines changed

4 files changed

+10
-34
lines changed

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ COPY ./ /pg/mmts/
66
RUN export USE_PGXS=1 && \
77
cd /pg/mmts && make clean && make install
88

9+
RUN export USE_PGXS=1 && \
10+
cd /pg/src/contrib/referee && make clean && make install
11+
912
# pg_regress client assumes such dir exists on server
1013
RUN cp /pg/src/src/test/regress/*.so /pg/install/lib/postgresql/
1114
USER postgres

multimaster--1.0.sql

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -151,30 +151,3 @@ $$
151151
LANGUAGE plpgsql;
152152

153153
-- select mtm.alter_sequences();
154-
155-
-- referee stuff
156-
CREATE TABLE IF NOT EXISTS mtm.referee_decision(key text primary key not null, node_id int);
157-
158-
CREATE OR REPLACE FUNCTION mtm.referee_get_winner(applicant_id int) RETURNS int AS
159-
$$
160-
DECLARE
161-
winner_id int;
162-
BEGIN
163-
insert into mtm.referee_decision values ('winner', applicant_id);
164-
select node_id into winner_id from mtm.referee_decision where key = 'winner';
165-
return winner_id;
166-
EXCEPTION WHEN others THEN
167-
select node_id into winner_id from mtm.referee_decision where key = 'winner';
168-
return winner_id;
169-
END
170-
$$
171-
LANGUAGE plpgsql;
172-
173-
CREATE OR REPLACE FUNCTION mtm.referee_clean() RETURNS bool AS
174-
$$
175-
BEGIN
176-
delete from mtm.referee_decision where key = 'winner';
177-
return 'true';
178-
END
179-
$$
180-
LANGUAGE plpgsql;

state.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ MtmRefreshClusterStatus()
417417
}
418418

419419
/*
420-
* Clear winner if we again have all nodes are online.
420+
* Clear winner if we again have all nodes online.
421421
*/
422422
if (MtmRefereeConnStr && *MtmRefereeConnStr && Mtm->refereeWinnerId &&
423423
countZeroBits(SELF_CONNECTIVITY_MASK, Mtm->nAllNodes) == Mtm->nAllNodes)
@@ -511,13 +511,13 @@ MtmRefereeGetWinner(void)
511511
return -1;
512512
}
513513

514-
sprintf(sql, "select mtm.referee_get_winner(%d)", MtmNodeId);
514+
sprintf(sql, "select referee.get_winner(%d)", MtmNodeId);
515515
res = PQexec(conn, sql);
516516
if (PQresultStatus(res) != PGRES_TUPLES_OK ||
517517
PQntuples(res) != 1 ||
518518
PQnfields(res) != 1)
519519
{
520-
MTM_ELOG(WARNING, "Refusing unexpected result (r=%d, n=%d, w=%d, k=%s) from referee.",
520+
MTM_ELOG(WARNING, "Refusing unexpected result (r=%d, n=%d, w=%d, k=%s) from referee.get_winner()",
521521
PQresultStatus(res), PQntuples(res), PQnfields(res), PQgetvalue(res, 0, 0));
522522
PQclear(res);
523523
PQfinish(conn);
@@ -558,12 +558,12 @@ MtmRefereeClearWinner(void)
558558
return false;
559559
}
560560

561-
res = PQexec(conn, "select mtm.referee_clean()");
561+
res = PQexec(conn, "select referee.clean()");
562562
if (PQresultStatus(res) != PGRES_TUPLES_OK ||
563563
PQntuples(res) != 1 ||
564564
PQnfields(res) != 1)
565565
{
566-
MTM_ELOG(WARNING, "Refusing unexpected result (r=%d, n=%d, w=%d, k=%s) from referee_clean().",
566+
MTM_ELOG(WARNING, "Refusing unexpected result (r=%d, n=%d, w=%d, k=%s) from referee.clean().",
567567
PQresultStatus(res), PQntuples(res), PQnfields(res), PQgetvalue(res, 0, 0));
568568
PQclear(res);
569569
PQfinish(conn);
@@ -574,7 +574,7 @@ MtmRefereeClearWinner(void)
574574

575575
if (strncmp(response, "t", 1) != 0)
576576
{
577-
MTM_ELOG(WARNING, "Wrong response from referee_clean(): '%s'", response);
577+
MTM_ELOG(WARNING, "Wrong response from referee.clean(): '%s'", response);
578578
PQclear(res);
579579
PQfinish(conn);
580580
return false;

tests2/test_referee.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def setUpClass(cls):
3535
cls.client.bgrun()
3636

3737
# create extension on referee
38-
cls.nodeExecute("dbname=regression user=postgres host=127.0.0.1 port=15435", ['create extension multimaster'])
38+
cls.nodeExecute("dbname=regression user=postgres host=127.0.0.1 port=15435", ['create extension referee'])
3939

4040
@classmethod
4141
def tearDownClass(cls):

0 commit comments

Comments
 (0)