Inconsistent Behavior of GROUP BY ROLLUP in v17 vs master

From: 邱宇航 <iamqyh(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Inconsistent Behavior of GROUP BY ROLLUP in v17 vs master
Date: 2025-09-23 03:48:58
Message-ID: 0879D9C9-7FE2-4A20-9593-B23F7A0B5290@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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:

``` SQL
CREATE TABLE t(id int);

INSERT INTO t SELECT generate_series(1, 3);

-- Query 1
SELECT DISTINCT 'XXX'
FROM t
GROUP BY ROLLUP (id, 1);

-- Query 2
SELECT 'XXX'
FROM t
GROUP BY ROLLUP(id)
HAVING NOT (NULL IS NULL);
```

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).

Best regards,
Yuhang Qiu

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2025-09-23 03:50:16 Re: [PATCH] Introduce unified support for composite GUC options
Previous Message Pavel Stehule 2025-09-23 03:42:05 Re: [PATCH] Introduce unified support for composite GUC options