• Michael Paquier's avatar
    Consider only relations part of partition trees in partition functions · 34229557
    Michael Paquier authored
    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
    34229557
partition_info.out 7.36 KB