• Michael Paquier's avatar
    Fix dependency handling of column drop with partitioned tables · 1df5875d
    Michael Paquier authored
    When dropping a column on a partitioned table which has one or more
    partitioned indexes, the operation was failing as dependencies with
    partitioned indexes using the column dropped were not getting removed in
    a way consistent with the columns involved across all the relations part
    of an inheritance tree.
    
    This commit refactors the code executing column drop so as all the
    columns from an inheritance tree to remove are gathered first, and
    dropped all at the end.  This way, we let the dependency machinery sort
    out by itself the deletion of all the columns with the partitioned
    indexes across a partition tree.
    
    This issue has been introduced by 1d92a0c9, so backpatch down to
    REL_12_STABLE.
    
    Author: Amit Langote, Michael Paquier
    Reviewed-by: Álvaro Herrera, Ashutosh Sharma
    Discussion: https://postgr.es/m/CA+HiwqE9kuBsZ3b5pob2-cvE8ofzPWs-og+g8bKKGnu6b4-yTQ@mail.gmail.com
    Backpatch-through: 12
    1df5875d
indexing.sql 35.1 KB