>>>>> "Dean" == Dean Rasheed <dean.a.rasheed@gmail.com> writes:
> On 16 January 2016 at 13:12, Andres Freund <andres@anarazel.de> wrote:
>> Hm, I'm a bit hesitant to potentially noticeably regress plans here,
>> although it seems unikely that already "relies" on this. Can't we
>> essentially treat references to columns which can be set to null by
>> due to a grouping set, as containing an agg clause and only prevent
>> moving in that case?
Dean> I suppose it could be done, but it seems like a fair bit of
Dean> work. It would be a bit like check_ungrouped_columns() except
Dean> that it would only be safe to move the clause if it only referred
Dean> to expressions that appeared in the intersection of all the
Dean> grouping sets. I think that would rule out most real-world
Dean> examples, including just about anything using rollup or cube, so
Dean> I'm not sure it would be worth the effort.
Obvious question is, can we keep the optimization in the case that the
qual is strict? and if so, should we?
--
Andrew (irc:RhodiumToad)