• Tom Lane's avatar
    Dig down into sub-selects to look for column statistics. · 1cb108ef
    Tom Lane authored
    If a sub-select's output column is a simple Var, recursively look for
    statistics applying to that Var, and use them if available.  The need for
    this was foreseen ages ago, but we didn't have enough infrastructure to do
    it with reasonable speed until just now.
    
    We punt and stick with default estimates if the subquery uses set
    operations, GROUP BY, or DISTINCT, since those operations would change the
    underlying column statistics (particularly, the relative frequencies of
    different values) beyond recognition.  This means that the types of
    sub-selects for which this improvement applies are fairly limited, since
    most subqueries satisfying those restrictions would have gotten flattened
    into the parent query anyway.  But it does help for some cases, such as
    subqueries with ORDER BY or LIMIT.
    1cb108ef
selfuncs.c 195 KB