Re: Have the planner convert COUNT(1) / COUNT(not_null_col) to COUNT(*)
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Corey Huinker <corey.huinker@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-03T22:49:15Z
Lists: pgsql-hackers
On Sat, 1 Nov 2025 at 14:19, Corey Huinker <corey.huinker@gmail.com> wrote: >> >> which might be a more realistic thing if the query without the WHERE >> clause was part of a VIEW. However, we don't currently have any >> infrastructure to detect when a column *is* NULL. There's only the >> opposite with expr_is_nonnullable() or var_is_nonnullable(). > > But we'd still catch NULL constants, yes? Yes. It could. I've left that part of the patch #ifdef'd out. I wasn't planning on using it. I just left it there as an example for if someone wanted to test it. > The change is a big win for clarity. Applies clean. Passes. Thanks for checking. David
Commits
-
Have the planner replace COUNT(ANY) with COUNT(*), when possible
- 42473b3b3123 19 (unreleased) landed