Re: Reduce "Var IS [NOT] NULL" quals during constant folding
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Richard Guo <guofenglinux@gmail.com>,
Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-21T17:21:43Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix misuse of Relids for storing attribute numbers
- 2d756ebbe857 19 (unreleased) landed
-
Reduce "Var IS [NOT] NULL" quals during constant folding
- e2debb64380e 19 (unreleased) landed
-
Centralize collection of catalog info needed early in the planner
- 904f6a593a06 19 (unreleased) landed
-
Expand virtual generated columns before sublink pull-up
- e0d05295268e 19 (unreleased) landed
-
Expand virtual generated columns in the planner
- 1e4351af329f 18.0 cited
Robert Haas <robertmhaas@gmail.com> writes: > However, I'm a bit concerned about the overall premise of the patch > set. It feels like it is moving something that really ought to happen > at optimization time back to parse time. I have a feeling that's going > to break something, although I am not sure right now exactly what. Ugh, no, that is *completely* unworkable. Suppose that the user does CREATE VIEW, and the parse tree recorded for that claims that column X is not-nullable. Then the user drops the not-null constraint, and then asks to execute the view. We'll optimize on the basis of stale information. The way to make this work is what I said before: move the planner's collection of relation information to somewhere a bit earlier in the planner. But not to outside the planner. regards, tom lane