Re: Inconsistent Behavior of GROUP BY ROLLUP in v17 vs master

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: 邱宇航 <iamqyh(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Inconsistent Behavior of GROUP BY ROLLUP in v17 vs master
Date: 2025-09-23 07:38:14
Message-ID: CAApHDvo4bmZtT9Ta1t68JFEmMvLYw1rLx0+4xZxfBvBm=jZCSQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 23 Sept 2025 at 15:49, 邱宇航 <iamqyh(at)gmail(dot)com> wrote:
> I've noticed that two GROUP BY ROLLUP queries behave differently in v17
> compared to master and REL_18_STABLE. The issue can be reproduced by
> following SQL:
>
> After some git bisect work, I traced the root cause:
> - The first issue was introduced by commit f5050f79 (Mark expressions
> nullable by grouping sets).
> - The second issue stems from commit 67a54b9e (Allow pushdown of HAVING
> clauses with grouping sets).

If you check the release notes and the commit message for f5050f795
you'll see that it does mention that wrong results could be returned.

What wasn't mentioned was that this wasn't fixed in prior versions.
The reason being is that the fix required changing the query tree
representation, which we can't change in the back branches due to
incompatibility with stored rules in existing databases. So, a change
in query results for certain queries here is expected.

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vaibhav Jain 2025-09-23 07:39:34 Re: Fix overflow of nbatch
Previous Message Shlok Kyal 2025-09-23 07:29:42 Re: issue with synchronized_standby_slots