From c99ef1811a064a94fb78917f35bb5853059a92b7 Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Wed, 10 Apr 2024 01:47:00 +0300 Subject: Checks for ALTER TABLE ... SPLIT/MERGE PARTITIONS ... commands Check that the target partition actually belongs to the parent table. Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/cd842601-cf1a-9806-f7b7-d2509b93ba61%40gmail.com Author: Dmitry Koval --- src/backend/commands/tablecmds.c | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'src/backend/commands/tablecmds.c') diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 865c6331c1f..8a98a0af482 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -21223,12 +21223,6 @@ ATExecSplitPartition(List **wqueue, AlteredTableInfo *tab, Relation rel, */ splitRel = table_openrv(cmd->name, AccessExclusiveLock); - if (splitRel->rd_rel->relkind != RELKIND_RELATION) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot split non-table partition \"%s\"", - RelationGetRelationName(splitRel)))); - splitRelOid = RelationGetRelid(splitRel); /* Check descriptions of new partitions. */ @@ -21463,12 +21457,6 @@ ATExecMergePartitions(List **wqueue, AlteredTableInfo *tab, Relation rel, */ mergingPartition = table_openrv(name, AccessExclusiveLock); - if (mergingPartition->rd_rel->relkind != RELKIND_RELATION) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot merge non-table partition \"%s\"", - RelationGetRelationName(mergingPartition)))); - /* * Checking that two partitions have the same name was before, in * function transformPartitionCmdForMerge(). -- cgit v1.2.3