• T
    Clean up rewriter routines to use expression_tree_walker and · 389af07c
    Tom Lane 提交于
    expression_tree_mutator rather than ad-hoc tree walking code.  This shortens
    the code materially and fixes a fair number of sins of omission.  Also,
    change modifyAggrefQual to *not* recurse into subselects, since its mission
    is satisfied if it removes aggregate functions from the top level of a
    WHERE clause.  This cures problems with queries of the form SELECT ...
    WHERE x IN (SELECT ... HAVING something-using-an-aggregate), which would
    formerly get mucked up by modifyAggrefQual.  The routine is still
    fundamentally broken, of course, but I don't think there's any way to get
    rid of it before we implement subselects in FROM ...
    389af07c
locks.c 5.4 KB