Re: Improper const-evaluation of HAVING with grouping sets and subquery pullup
Andrew Gierth <andrew@tao11.riddles.org.uk>
From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Pg Bugs <pgsql-bugs@postgresql.org>
Date: 2017-10-19T04:19:37Z
Lists: pgsql-bugs
>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: Tom> I don't think I buy this explanation, because the plan tree Tom> doesn't show any indication that we're actually folding (g,g) to Tom> (g): Huh. Yes, you're right. Tom> Digression: this seems like another example in which the "same" Tom> Var can represent two different values. At one point in the evolution of the GS patch it had a new node type, GroupedVar or some such name, to represent the possibly-nulled-out values. I'm not sure that it was being introduced early enough in planning to have prevented this problem (I suspect not, I'd have to dig up the old code). That stuff was all ripped out very late in the development process because as I recall, both you and Andres disliked it. -- Andrew (irc:RhodiumToad)
Commits
-
Fix incorrect handling of subquery pullup in the presence of grouping sets.
- ff99d7761aa4 9.5.11 landed
- d3ca1a6c3721 10.2 landed
- 90947674fc98 11.0 landed
- 6520d4a96928 9.6.7 landed
-
Make setrefs.c match by ressortgroupref even for plain Vars.
- 6a81ba1d4d26 10.1 landed
- 37b4e0fe9964 9.6.6 landed
- 08f1e1f0a47b 11.0 landed
-
Make the upper part of the planner work by generating and comparing Paths.
- 3fc6e2d7f5b6 9.6.0 cited