Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc097b27

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 parent036166f commitc097b27

File tree

3 files changed

+21
-5
lines changed

3 files changed

+21
-5
lines changed

‎contrib/test_decoding/expected/replorigin.out

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

2828
SELECT pg_replication_origin_drop('test_decoding: temp');
29-
ERROR: cache lookup failed for replication origin 'test_decoding: temp'
29+
ERROR: replication origin "test_decoding: temp" does not exist
30+
-- various failure checks for undefined slots
31+
select pg_replication_origin_advance('test_decoding: temp', '0/1');
32+
ERROR: replication origin "test_decoding: temp" does not exist
33+
select pg_replication_origin_session_setup('test_decoding: temp');
34+
ERROR: replication origin "test_decoding: temp" does not exist
35+
select pg_replication_origin_progress('test_decoding: temp', true);
36+
ERROR: replication origin "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/replorigin.sql

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

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

1823
-- origin tx

‎src/backend/replication/logical/origin.c

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

231233
returnroident;
232234
}
@@ -437,8 +439,10 @@ replorigin_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 origin with oid %u",
441-
roident);
442+
ereport(ERROR,
443+
(errcode(ERRCODE_UNDEFINED_OBJECT),
444+
errmsg("replication origin with OID %u does not exist",
445+
roident)));
442446

443447
return false;
444448
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp