On Fri, May 9, 2025 at 11:47 AM Richard Guo <guofengli...@gmail.com> wrote:
> On Fri, May 9, 2025 at 12:18 AM Bruce Momjian <br...@momjian.us> wrote:
> > On Thu, May  8, 2025 at 07:46:11PM +0900, Richard Guo wrote:
> > > On Thu, May 8, 2025 at 5:41 AM Bruce Momjian <br...@momjian.us> wrote:
> > > > On Wed, May  7, 2025 at 03:03:32PM +0900, Richard Guo wrote:
> > > > > I'm wondering if we should consider mentioning that several
> > > > > long-standing issues related to grouping sets have been fixed starting
> > > > > from PostgreSQL v18.  I understand that we typically don't include bug
> > > > > fixes in the release notes, but these particular issues have been
> > > > > present since grouping sets were first introduced, and currently they
> > > > > still exist in the back branches (yeah, for some reason we do not have
> > > > > back-branch fixes; we only fix them in v18 and going forward).
> > > > >
> > > > > There have been complaints from users about grouping sets giving
> > > > > incorrect results in certain cases, which has made them hesitant to
> > > > > use PostgreSQL for analytical workloads.  Since these issues are fixed
> > > > > in v18, it might be worthwhile to point this out — if only to reassure
> > > > > users that these issues are no longer a concern going forward.
> > > > >
> > > > > (FWIW, the related commits are 247dea89f, f5050f795, and cc5d98525).
> > > >
> > > > Agreed, any fix that commonly used to return wrong results should be
> > > > mentioned.  Applied patch attached.
> > >
> > > I'm not sure whether it's appropriate to put the incorrect-result
> > > fixes under the item "Allow some HAVING clauses on GROUPING SETS to
> > > be pushed to WHERE clauses", since that item is an optimization and
> > > does not fix these incorrect-result issues.
> > >
> > > But I'm also unsure where else they should go.  Would it make sense to
> > > list them as a new item instead?
> >
> > I put it there because that is the only mention of GROUPING SETS.  If we
> > create a separate item, would the text just be "This release fixes
> > some GROUPING SETS queries that used to return incorrect results."  Is
> > there any pattern to the fix?  Seems NULLs or subqueries were involved.
> > Is this an incompatibility?  Could people be relying on the old
> > behavior?
>
> I think there are two patterns here:
>
> * 247dea89f and cc5d98525 fix cases where grouping expressions fail to
> match lower-level target items due to expression preprocessing or
> subquery pull-up.  Subqueries are one example of such expressions.
>
> * f5050f795 fixes cases where some seemingly redundant grouping or
> ordering expressions were incorrectly ignored, without recognizing
> that they could be nulled by grouping sets.
>
> I don't think this constitutes an incompatibility, and it's unlikely
> that anyone is relying on the old behavior, as it was clearly
> incorrect.
>
> (I realize these descriptions are too technical, but I'm not sure how
> to express them in a more user-facing way.)

How about putting them this way:

* 247dea89f and cc5d98525 fix queries in which GROUP BY columns
contain expressions that are complex or originate from subqueries.

* f5050f795 fixes queries in which ORDER BY columns contain
expressions that are used in grouping sets.

Thanks
Richard


Reply via email to