Thread: pgsql: Fix partitioned index attachment

pgsql: Fix partitioned index attachment

From
Alvaro Herrera
Date:
Fix partitioned index attachment

When an existing index in a partition is attached to a new index on
its parent, we forgot to set the "relispartition" flag correctly, which
meant that it was not possible to find the index in various operations,
such as adding a foreign key constraint that references that partitioned
table.  One of four places that was assigning the parent index was
forgetting to do that, so fix by shifting responsibility of updating the
flag to the routine that changes the parent.

Author: Amit Langote, Álvaro Herrera
Reported-by: Hubert "depesz" Lubaczewski
Discussion: https://postgr.es/m/CA+HiwqHMsRtRYRWYTWavKJ8x14AFsv7bmAV46mYwnfD3vy8goQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/05b38c7e63d1c8bca8c07ab4c8b194eed3c50ec7

Modified Files
--------------
src/backend/commands/indexcmds.c          | 24 ++++++++++++++++++++
src/backend/commands/tablecmds.c          | 37 -------------------------------
src/test/regress/expected/foreign_key.out | 12 ++++++++++
src/test/regress/sql/foreign_key.sql      | 10 +++++++++
4 files changed, 46 insertions(+), 37 deletions(-)