On Fri, Sep 26, 2025 at 11:13 AM David Christensen <[email protected]> wrote: > > On Fri, Sep 26, 2025 at 11:05 AM Tom Lane <[email protected]> wrote: > > > > David Christensen <[email protected]> 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
