Re: Have the planner convert COUNT(1) / COUNT(not_null_col) to COUNT(*)
Corey Huinker <corey.huinker@gmail.com>
From: Corey Huinker <corey.huinker@gmail.com>
To: David Rowley <dgrowleyml@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-01T01:18:53Z
Lists: pgsql-hackers
> > 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? > I've attached a very slightly revised version of the patch. I became > aware of a function named get_func_support(), which can be used rather > than fetching the pg_proc tuple from SysCache, which I was doing in > v1. No other changes. > > David > The change is a big win for clarity. Applies clean. Passes.
Commits
-
Have the planner replace COUNT(ANY) with COUNT(*), when possible
- 42473b3b3123 19 (unreleased) landed