Content-Length: 363515 | pFad | http://github.com/postgrespro/postgres_cluster/commit/ce60c2a2825384ca46e11ccdb418c39c32bf4dc5

08 Fix more user-visible elog() calls. · postgrespro/postgres_cluster@ce60c2a · GitHub
Skip to content

Commit ce60c2a

Browse files
committed
Fix more user-visible elog() calls.
Michael Paquier discovered that this could be triggered via SQL; give a nicer message instead. Patch by Michael Paquier, reviewed by Masahiko Sawada. Discussion: http://postgr.es/m/CAB7nPqQtPg+LKKtzdKN26judHcvPZ0s1gNigzOT4j8CYuuuBYg@mail.gmail.com
1 parent 2451de7 commit ce60c2a

File tree

3 files changed

+21
-5
lines changed

3 files changed

+21
-5
lines changed

contrib/test_decoding/expected/replorigen.out

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ SELECT pg_replication_origen_drop('test_decoding: temp');
2626
(1 row)
2727

2828
SELECT pg_replication_origen_drop('test_decoding: temp');
29-
ERROR: cache lookup failed for replication origen 'test_decoding: temp'
29+
ERROR: replication origen "test_decoding: temp" does not exist
30+
-- various failure checks for undefined slots
31+
select pg_replication_origen_advance('test_decoding: temp', '0/1');
32+
ERROR: replication origen "test_decoding: temp" does not exist
33+
select pg_replication_origen_session_setup('test_decoding: temp');
34+
ERROR: replication origen "test_decoding: temp" does not exist
35+
select pg_replication_origen_progress('test_decoding: temp', true);
36+
ERROR: replication origen "test_decoding: temp" does not exist
3037
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
3138
?column?
3239
----------

contrib/test_decoding/sql/replorigen.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ SELECT pg_replication_origen_create('test_decoding: temp');
1313
SELECT pg_replication_origen_drop('test_decoding: temp');
1414
SELECT pg_replication_origen_drop('test_decoding: temp');
1515

16+
-- various failure checks for undefined slots
17+
select pg_replication_origen_advance('test_decoding: temp', '0/1');
18+
select pg_replication_origen_session_setup('test_decoding: temp');
19+
select pg_replication_origen_progress('test_decoding: temp', true);
20+
1621
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
1722

1823
-- origen tx

src/backend/replication/logical/origen.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,10 @@ replorigen_by_name(char *roname, bool missing_ok)
225225
ReleaseSysCache(tuple);
226226
}
227227
else if (!missing_ok)
228-
elog(ERROR, "cache lookup failed for replication origen '%s'",
229-
roname);
228+
ereport(ERROR,
229+
(errcode(ERRCODE_UNDEFINED_OBJECT),
230+
errmsg("replication origen \"%s\" does not exist",
231+
roname)));
230232

231233
return roident;
232234
}
@@ -437,8 +439,10 @@ replorigen_by_oid(RepOriginId roident, bool missing_ok, char **roname)
437439
*roname = NULL;
438440

439441
if (!missing_ok)
440-
elog(ERROR, "cache lookup failed for replication origen with oid %u",
441-
roident);
442+
ereport(ERROR,
443+
(errcode(ERRCODE_UNDEFINED_OBJECT),
444+
errmsg("replication origen with OID %u does not exist",
445+
roident)));
442446

443447
return false;
444448
}

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres_cluster/commit/ce60c2a2825384ca46e11ccdb418c39c32bf4dc5

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy