diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-06-09 09:10:14 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-06-09 09:39:46 +0200 |
commit | b1d32d3e3230f00b5baba08f75b4f665c7d6dac6 (patch) | |
tree | 9b0b6bba1aab417382105d09fc2800f346c7ce2b /src/backend/commands/functioncmds.c | |
parent | b27c90bbe4a3d607f8fc6703c7183e56e4039acd (diff) | |
download | postgresql-b1d32d3e3230f00b5baba08f75b4f665c7d6dac6.tar.gz postgresql-b1d32d3e3230f00b5baba08f75b4f665c7d6dac6.zip |
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
Diffstat (limited to 'src/backend/commands/functioncmds.c')
-rw-r--r-- | src/backend/commands/functioncmds.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index bb918388842..1b5bdcec8b8 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -1646,32 +1646,6 @@ CreateCast(CreateCastStmt *stmt) return myself; } -void -DropCastById(Oid castOid) -{ - Relation relation; - ScanKeyData scankey; - SysScanDesc scan; - HeapTuple tuple; - - relation = table_open(CastRelationId, RowExclusiveLock); - - ScanKeyInit(&scankey, - Anum_pg_cast_oid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(castOid)); - scan = systable_beginscan(relation, CastOidIndexId, true, - NULL, 1, &scankey); - - tuple = systable_getnext(scan); - if (!HeapTupleIsValid(tuple)) - elog(ERROR, "could not find tuple for cast %u", castOid); - CatalogTupleDelete(relation, &tuple->t_self); - - systable_endscan(scan); - table_close(relation, RowExclusiveLock); -} - static void check_transform_function(Form_pg_proc procstruct) @@ -1933,33 +1907,6 @@ get_transform_oid(Oid type_id, Oid lang_id, bool missing_ok) } -void -DropTransformById(Oid transformOid) -{ - Relation relation; - ScanKeyData scankey; - SysScanDesc scan; - HeapTuple tuple; - - relation = table_open(TransformRelationId, RowExclusiveLock); - - ScanKeyInit(&scankey, - Anum_pg_transform_oid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(transformOid)); - scan = systable_beginscan(relation, TransformOidIndexId, true, - NULL, 1, &scankey); - - tuple = systable_getnext(scan); - if (!HeapTupleIsValid(tuple)) - elog(ERROR, "could not find tuple for transform %u", transformOid); - CatalogTupleDelete(relation, &tuple->t_self); - - systable_endscan(scan); - table_close(relation, RowExclusiveLock); -} - - /* * Subroutine for ALTER FUNCTION/AGGREGATE SET SCHEMA/RENAME * |