• Tom Lane's avatar
    Fix planning of parameterized appendrel paths with expensive join quals. · 5372275b
    Tom Lane authored
    The code in set_append_rel_pathlist() for building parameterized paths
    for append relations (inheritance and UNION ALL combinations) supposed
    that the cheapest regular path for a child relation would still be cheapest
    when reparameterized.  Which might not be the case, particularly if the
    added join conditions are expensive to compute, as in a recent example from
    Jeff Janes.  Fix it to compare child path costs *after* reparameterizing.
    We can short-circuit that if the cheapest pre-existing path is already
    parameterized correctly, which seems likely to be true often enough to be
    worth checking for.
    
    Back-patch to 9.2 where parameterized paths were introduced.
    5372275b
allpaths.c 62.9 KB