Robert Haas <robertmh...@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