On Fri, Sep 26, 2025 at 11:13 AM David Christensen <david@pgguru.net> wrote:
>
> On Fri, Sep 26, 2025 at 11:05 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >
> > David Christensen <david@pgguru.net> writes:
> > > Here is a rebased version with a few more tests. I also changed the
> > > main check here to using `!contain_agg_clause` instead of
> > > `!IsA(Aggref))` directly. (This was defined in `optimizer/clauses.h`,
> > > but we already are pulling in `optimizer.h`, so it felt valid to me.)
> >
> > contain_agg_clause will blow up on a SubLink, so I doubt this is
> > gonna be robust.
>
> Fair enough, see that Assert now; easy enough to make a new
> expression_tree_walker that only looks for Aggref and short-circuits
> SubLink (which I assume is the right behavior here, but might have to
> add some more tests/play around with subqueries in the GROUP BY ALL
> part).
Or contain_aggs_of_level(), assuming I can suss out how to get the
current level... :D Anyway, will mess with this for a bit.
David