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?
>
I suppose it could be done, but it seems like a fair bit of work. It
would be a bit like check_ungrouped_columns() except that it would
only be safe to move the clause if it only referred to expressions
that appeared in the intersection of all the grouping sets. I think
that would rule out most real-world examples, including just about
anything using rollup or cube, so I'm not sure it would be worth the
effort.
Regards,
Dean