pgsql: Fix partitioned index creation bug with dropped columns

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix partitioned index creation bug with dropped columns
Date: 2019-03-26 23:25:31
Message-ID: E1h8vRj-0005kg-Ba@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix partitioned index creation bug with dropped columns

ALTER INDEX .. ATTACH PARTITION fails if the partitioned table where the
index is defined contains more dropped columns than its partition, with
this message:
ERROR: incorrect attribute map
The cause was that one caller of CompareIndexInfo was passing the number
of attributes of the partition rather than the parent, which confused
the length check. Repair.

This can cause pg_upgrade to fail when used on such a database. Leave
some more objects around after regression tests, so that the case is
detected by pg_upgrade test suite.

Remove some spurious empty lines noticed while looking for other cases
of the same problem.

Discussion: https://postgr.es/m/20190326213924.GA2322@alvherre.pgsql

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/126d631222328d3def7910934bfa9cbdc99d79cc

Modified Files
--------------
src/backend/catalog/index.c | 1 -
src/backend/commands/indexcmds.c | 1 -
src/backend/commands/tablecmds.c | 2 +-
src/test/regress/expected/indexing.out | 5 +++++
src/test/regress/sql/indexing.sql | 5 +++++
5 files changed, 11 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2019-03-27 00:06:45 pgsql: Compute XID horizon for page level index vacuum on primary.
Previous Message Tom Lane 2019-03-26 22:21:18 pgsql: Build "other rels" of appendrel baserels in a separate step.