pgsql: Fix assertion failure with ALTER TABLE ATTACH PARTITION and inde - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Fix assertion failure with ALTER TABLE ATTACH PARTITION and inde
Date
Msg-id E1j8zcc-0005fY-7W@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/dc8364824f80cf60f8d2f5a617b0470992e293dd

Modified Files
--------------
src/backend/parser/parse_utilcmd.c     |  1 -
src/test/regress/expected/indexing.out | 16 ++++++++++++++++
src/test/regress/sql/indexing.sql      | 10 ++++++++++
3 files changed, 26 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Fix the name of the first WAL segment file, in docs.
Next
From: Peter Geoghegan
Date:
Subject: pgsql: Remove overzealous _bt_split() assertions.