Re: BUG #18465: Wrong results from SELECT DISTINCT MIN in scalar subquery using HashAggregate
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: mtakahar@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2024-05-18T14:18:01Z
Lists: pgsql-bugs
> On Tue, May 14, 2024 at 09:14:34PM +0000, PG Bug reporting form wrote: > > postgres=# SELECT ( SELECT DISTINCT MIN( col_int ) FROM B AS > SUBQUERY1_t1 WHERE SUBQUERY1_t1 .col_int = table1 .col_int ), table1 > .col_int FROM CC AS table1 ; > min | col_int > --------+--------- > <null> | <null> > <null> | 1 <------- *** wrong *** > <null> | 2 > (3 rows) > > postgres=# SELECT ( SELECT DISTINCT MIN( col_int ) FROM B AS > SUBQUERY1_t1 WHERE SUBQUERY1_t1 .col_int = table1 .col_int ), table1 > .col_int FROM CC AS table1 ; > min | col_int > -----+--------- > 1 | 1 <------- *** correct *** > 1 | 2 <------- *** wrong *** > 1 | <null> <------- *** wrong *** > (3 rows) Thanks, I could reproduce this in v15 and v16. Interestingly enough it was fixed in d0d44049d1, but looks like due to lack of error reports the fix was applied only on the main branch. I assume this one makes it necessary to back-patch the fix.
Commits
-
Account for optimized MinMax aggregates during SS_finalize_plan.
- ce0d1654463e 16.4 landed
- 7f90a5dc3686 13.16 landed
- 686c995fc222 12.20 landed
- 5ac340602e74 14.13 landed
- 4ac385adc5b7 15.8 landed
-
Add test case showing that commit d0d44049d fixed a live bug.
- 779ac2c74bd1 17.0 landed