• Tom Lane's avatar
    Repair breakage of aggregate FILTER option. · c3dfe0fe
    Tom Lane authored
    An aggregate's input expression(s) are not supposed to be evaluated
    at all for a row where its FILTER test fails ... but commit 8ed3f11b
    overlooked that requirement.  Reshuffle so that aggregates having a
    filter clause evaluate their arguments separately from those without.
    This still gets the benefit of doing only one ExecProject in the
    common case of multiple Aggrefs, none of which have filters.
    
    While at it, arrange for filter clauses to be included in the common
    ExecProject evaluation, thus perhaps buying a little bit even when
    there are filters.
    
    Back-patch to v10 where the bug was introduced.
    
    Discussion: https://postgr.es/m/30065.1508161354@sss.pgh.pa.us
    c3dfe0fe
aggregates.out 56.1 KB