mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Unify drop-by-OID functions
There are a number of Remove${Something}ById() functions that are
essentially identical in structure and only different in which catalog
they are working on. Refactor this to be one generic function. The
information about which oid column, index, etc. to use was already
available in ObjectProperty for most catalogs, in a few cases it was
easily added.
Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/331d9661-1743-857f-1cbb-d5728bcd62cb%402ndquadrant.com
This commit is contained in:
@@ -468,29 +468,6 @@ AlterPublication(AlterPublicationStmt *stmt)
|
||||
table_close(rel, RowExclusiveLock);
|
||||
}
|
||||
|
||||
/*
|
||||
* Drop publication by OID
|
||||
*/
|
||||
void
|
||||
RemovePublicationById(Oid pubid)
|
||||
{
|
||||
Relation rel;
|
||||
HeapTuple tup;
|
||||
|
||||
rel = table_open(PublicationRelationId, RowExclusiveLock);
|
||||
|
||||
tup = SearchSysCache1(PUBLICATIONOID, ObjectIdGetDatum(pubid));
|
||||
|
||||
if (!HeapTupleIsValid(tup))
|
||||
elog(ERROR, "cache lookup failed for publication %u", pubid);
|
||||
|
||||
CatalogTupleDelete(rel, &tup->t_self);
|
||||
|
||||
ReleaseSysCache(tup);
|
||||
|
||||
table_close(rel, RowExclusiveLock);
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove relation from publication by mapping OID.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user