pgsql: Fix failure when creating cloned indexes for a partition - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Fix failure when creating cloned indexes for a partition
Date
Msg-id E1iQloA-0003vZ-D8@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix failure when creating cloned indexes for a partition

When using CREATE TABLE for a new partition, the partitioned indexes of
the parent are created automatically in a fashion similar to LIKE
INDEXES.  The new partition and its parent use a mapping for attribute
numbers for this operation, and while the mapping was correctly built,
its length was defined as the number of attributes of the newly-created
child, and not the parent.  If the parent includes dropped columns, this
could cause failures.

This is wrong since 8b08f7d which has introduced the concept of
partitioned indexes, so backpatch down to 11.

Reported-by: Wyatt Alt
Author: Michael Paquier
Reviewed-by: Amit Langote
Discussion: https://postgr.es/m/CAGem3qCcRmhbs4jYMkenYNfP2kEusDXvTfw-q+eOhM0zTceG-g@mail.gmail.com
Backpatch-through: 11

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/7963c4c4b7821f286e335c8aed66821c87404ce3

Modified Files
--------------
src/backend/commands/tablecmds.c           |  2 +-
src/test/regress/expected/create_table.out | 49 ++++++++++++++++++++++++++++++
src/test/regress/sql/create_table.sql      | 23 ++++++++++++++
3 files changed, 73 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Add some assertions in syncrep.c
Next
From: Tom Lane
Date:
Subject: pgsql: Validate ispell dictionaries more carefully.