Re: Remove useless GROUP BY columns considering unique index
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Zhang Mingli <zmlpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-09-18T07:50:15Z
Lists: pgsql-hackers
On Wed, 18 Sept 2024 at 19:28, Peter Eisentraut <peter@eisentraut.org> wrote: > > On 12.09.24 03:43, David Rowley wrote: > > (Likely it could just look at pg_attribute.attnotnull instead) > > That won't work because you can't record dependencies on that. (This is > one of the reasons for cataloging not-null constraints as real constraints.) I'm not seeing any need to record constraint dependencies for this optimisation. It would be different for detecting functional dependencies in a view using a unique constraint+not null constraints for ungrouped columns, but that's not what this is. This is just a planner optimisation. The plan can be invalidated by a relcache invalidation, which will happen if someone does ALTER TABLE DROP NOT NULL. For reference, see 5b736e9cf. David
Commits
-
Detect redundant GROUP BY columns using UNIQUE indexes
- bd10ec529796 18.0 landed
-
Defer remove_useless_groupby_columns() work until query_planner()
- 430a5952deb3 18.0 landed