]> granicus.if.org Git - postgresql/commit
Fix partitioned index creation bug with dropped columns
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 26 Mar 2019 23:19:39 +0000 (20:19 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 26 Mar 2019 23:19:39 +0000 (20:19 -0300)
commit7009f1a2df65598fc6c28368d3a6f1b9e96d69f5
treee38169c4c2e38a5bfb408893e88aba5493816d57
parente46072dc397fcdde3eebe6c4963d9692058da6e3
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
src/backend/catalog/index.c
src/backend/commands/indexcmds.c
src/backend/commands/tablecmds.c
src/test/regress/expected/indexing.out
src/test/regress/sql/indexing.sql