Andres Freund <andres(at)anarazel(dot)de> writes:
> What could the join removal path (and similar places) *possibly* do against
> such a case? Without stopping to use SnapshotNow I dont see any way :-(
But the planner, along with most of the rest of the backend, *does* use
SnapshotNow when examining the system catalogs.
I share your feeling of discomfort but so far I don't see a hole in
Simon's argument. Adding a constraint should never make a
previously-correct plan incorrect. Removing one is a very different
story, but he says he's not changing that case. (Disclaimer: I have
not read the patch.)
regards, tom lane