On 20/12/16 10:56, Erik Rijkers wrote: > On 2016-12-20 10:48, Petr Jelinek wrote: > > Here is another small thing: > > $ psql -d testdb -p 6972 > psql (10devel_logical_replication_20161220_1008_db80acfc9d50) > Type "help" for help. > > testdb=# drop publication if exists xxx; > ERROR: unrecognized object type: 28 > > > testdb=# drop subscription if exists xxx; > WARNING: relcache reference leak: relation "pg_subscription" not closed > DROP SUBSCRIPTION > > > I don't mind but I suppose eventually other messages need to go there >
Yep, attached should fix it. DDL for completely new db objects surely touches a lot of places. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
diff --git a/src/backend/commands/dropcmds.c b/src/backend/commands/dropcmds.c index 61ff8f2..7080c4b 100644 --- a/src/backend/commands/dropcmds.c +++ b/src/backend/commands/dropcmds.c @@ -441,6 +441,10 @@ does_not_exist_skipping(ObjectType objtype, List *objname, List *objargs) } } break; + case OBJECT_PUBLICATION: + msg = gettext_noop("publication \"%s\" does not exist, skipping"); + name = NameListToString(objname); + break; default: elog(ERROR, "unrecognized object type: %d", (int) objtype); break; diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 25c8c34..bd27aac 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -492,6 +492,8 @@ DropSubscription(DropSubscriptionStmt *stmt) if (!HeapTupleIsValid(tup)) { + heap_close(rel, NoLock); + if (!stmt->missing_ok) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), @@ -501,6 +503,7 @@ DropSubscription(DropSubscriptionStmt *stmt) ereport(NOTICE, (errmsg("subscription \"%s\" does not exist, skipping", stmt->subname))); + return; }
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers