From dc8364824f80cf60f8d2f5a617b0470992e293dd Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 3 Mar 2020 13:56:11 +0900 Subject: Fix assertion failure with ALTER TABLE ATTACH PARTITION and indexes Using ALTER TABLE ATTACH PARTITION causes an assertion failure when attempting to work on a partitioned index, because partitioned indexes cannot have partition bounds. The grammar of ALTER TABLE ATTACH PARTITION requires partition bounds, but not ALTER INDEX, so mixing ALTER TABLE with partitioned indexes is confusing. Hence, on HEAD, prevent ALTER TABLE to attach a partition if the relation involved is a partitioned index. On back-branches, as applications may rely on the existing behavior, just remove the culprit assertion. Reported-by: Alexander Lakhin Author: Amit Langote, Michael Paquier Discussion: https://postgr.es/m/16276-5cd1dcc8fb8be7b5@postgresql.org Backpatch-through: 11 --- src/backend/parser/parse_utilcmd.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/backend/parser/parse_utilcmd.c') diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 2406ca7a5d0..484ca40ddf4 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -3685,7 +3685,6 @@ transformPartitionCmd(CreateStmtContext *cxt, PartitionCmd *cmd) break; case RELKIND_PARTITIONED_INDEX: /* nothing to check */ - Assert(cmd->bound == NULL); break; case RELKIND_RELATION: /* the table must be partitioned */ -- cgit v1.2.3