Thread: pgsql: Allow to push down clauses from HAVING to WHERE when grouping se

pgsql: Allow to push down clauses from HAVING to WHERE when grouping se

From
Andres Freund
Date:
Allow to push down clauses from HAVING to WHERE when grouping sets are used.

Previously we disallowed pushing down quals to WHERE in the presence of
grouping sets. That's overly restrictive.

We now instead copy quals to WHERE if applicable, leaving the
one in HAVING in place. That's because, at that stage of the planning
process, it's nontrivial to determine if it's safe to remove the one in
HAVING.

Author: Andrew Gierth
Discussion: 874mkt3l59.fsf@news-spur.riddles.org.uk
Backpatch: 9.5, where grouping sets were introduced. This isn't exactly
    a bugfix, but it seems better to keep the branches in sync at this point.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/29e4455d7139d0b1bf8d3b62e566e7bb20cf0ec6

Modified Files
--------------
src/backend/optimizer/plan/planner.c |    5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)