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

Commit9d742e1

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 parent8607639 commit9d742e1

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
@@ -221,8 +221,10 @@ replorigin_by_name(char *roname, bool missing_ok)
221221
ReleaseSysCache(tuple);
222222
}
223223
elseif (!missing_ok)
224-
elog(ERROR,"cache lookup failed for replication origin '%s'",
225-
roname);
224+
ereport(ERROR,
225+
(errcode(ERRCODE_UNDEFINED_OBJECT),
226+
errmsg("replication origin \"%s\" does not exist",
227+
roname)));
226228

227229
returnroident;
228230
}
@@ -422,8 +424,10 @@ replorigin_by_oid(RepOriginId roident, bool missing_ok, char **roname)
422424
*roname=NULL;
423425

424426
if (!missing_ok)
425-
elog(ERROR,"cache lookup failed for replication origin with oid %u",
426-
roident);
427+
ereport(ERROR,
428+
(errcode(ERRCODE_UNDEFINED_OBJECT),
429+
errmsg("replication origin with OID %u does not exist",
430+
roident)));
427431

428432
return false;
429433
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp