pgsql: Consider only relations part of partition trees in partitionfun - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Consider only relations part of partition trees in partitionfun
Date
Msg-id E1h00oY-0003Ym-Nz@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Consider only relations part of partition trees in partition functions

This changes the partition functions so as tables and indexes which are
not part of partition trees are handled the same way as what is done for
undefined objects and unsupported relkinds: pg_partition_tree() returns
no rows and pg_partition_root() returns a NULL result.  Hence,
partitioned tables, partitioned indexes and relations whose flag
pg_class.relispartition is set are considered as valid objects to
process.

Previously, tables and indexes not included in a partition tree were
processed the same way as a partition or a partitioned table, which
caused the functions to return inconsistent results for inherited
tables, especially when inheriting from multiple tables.

Reported-by: Álvaro Herrera
Author: Amit Langote, Michael Paquier
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/20190228193203.GA26151@alvherre.pgsql

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3422955735d9b2623532c60c53cb885c9cb6e3b1

Modified Files
--------------
src/backend/utils/adt/partitionfuncs.c       | 13 ++------
src/test/regress/expected/partition_info.out | 48 +++++++++++++++++++++-------
src/test/regress/sql/partition_info.sql      | 17 ++++++++--
3 files changed, 55 insertions(+), 23 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Use a virtual rather than a heap slot in two places where thats
Next
From: Dean Rasheed
Date:
Subject: pgsql: Further fixing for multi-row VALUES lists for updatable views.