Re: Wrong results with grouping sets
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-07-06T02:06:48Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove the RTE_GROUP RTE if we drop the groupClause
- ffe12d1d22e7 18.0 landed
-
Mark expressions nullable by grouping sets
- f5050f795aea 18.0 landed
-
Introduce an RTE for the grouping step
- 247dea89f761 18.0 landed
On Fri, Jul 5, 2024 at 5:51 AM Andres Freund <andres@anarazel.de> wrote: > On 2024-07-01 16:29:16 +0800, Richard Guo wrote: > > Here is an updated version of this patchset. I've run pgindent for it, > > and also tweaked the commit messages a bit. > > > > In principle, 0001 can be backpatched to all supported versions to fix > > the cases where there are subqueries in the grouping expressions; 0002 > > can be backpatched to 16 where we have the nullingrels stuff. But both > > patches seem to be quite invasive. I'm not sure if we want to backpatch > > them to stable branches. Any thoughts about backpatching? > > As-is they can't be backpatched, unless I am missing something? Afaict they > introduce rather thorough ABI breaks? And API breaks, actually? Indeed, you're correct. I did not think about this. This patchset modifies certain struct definitions in src/include/ and also changes the signature of several functions, resulting in definite ABI and API breaks. BTW, from catversion.h I read: * Another common reason for a catversion update is a change in parsetree * external representation, since serialized parsetrees appear in stored * rules and new-style SQL functions. Almost any change in primnodes.h or * parsenodes.h will warrant a catversion update. Since this patchset changes the querytree produced by the parser, does this indicate that a catversion bump is needed? Thanks Richard