• Tom Lane's avatar
    Avoid sharing subpath list structure when flattening nested AppendRels. · ee63981c
    Tom Lane authored
    In some situations the original coding led to corrupting the child AppendRel's
    subpaths list, effectively adding other members of the parent's list to it.
    This was usually masked because we never made any further use of the child's
    list, but given the right combination of circumstances, we could do so.  The
    visible symptom would be a relation getting scanned twice, as in bug #5673
    from David Schmitt.
    
    Backpatch to 8.2, which is as far back as the risky coding appears.  The
    example submitted by David only fails in 8.4 and later, but I'm not convinced
    that there aren't any even-more-obscure cases where 8.2 and 8.3 would fail.
    ee63981c
allpaths.c 41.9 KB