Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    a87c7291
    Fix EquivalenceClass processing for nested append relations. · a87c7291
    Tom Lane authored
    The original coding of EquivalenceClasses didn't foresee that appendrel
    child relations might themselves be appendrels; but this is possible for
    example when a UNION ALL subquery scans a table with inheritance children.
    The oversight led to failure to optimize ordering-related issues very well
    for the grandchild tables.  After some false starts involving explicitly
    flattening the appendrel representation, we found that this could be fixed
    easily by removing a few implicit assumptions about appendrel parent rels
    not being children themselves.
    
    Kyotaro Horiguchi and Tom Lane, reviewed by Noah Misch
    a87c7291
    History
    Fix EquivalenceClass processing for nested append relations.
    Tom Lane authored
    The original coding of EquivalenceClasses didn't foresee that appendrel
    child relations might themselves be appendrels; but this is possible for
    example when a UNION ALL subquery scans a table with inheritance children.
    The oversight led to failure to optimize ordering-related issues very well
    for the grandchild tables.  After some false starts involving explicitly
    flattening the appendrel representation, we found that this could be fixed
    easily by removing a few implicit assumptions about appendrel parent rels
    not being children themselves.
    
    Kyotaro Horiguchi and Tom Lane, reviewed by Noah Misch