On 24 June 2014 23:52, Tom Lane <t...@sss.pgh.pa.us> wrote: > Simon Riggs <si...@2ndquadrant.com> writes: >> On 24 June 2014 23:44, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> Simon Riggs <si...@2ndquadrant.com> writes: >>>> Having said that, any join plan that relies upon a constraint will >>>> still be valid even if we drop a constraint while the plan executes >>>> because any new writes will not be visible to the executing join plan. > >>> mumble ... EvalPlanQual ? > >> As long as we are relaxing a constraint, we are OK if an earlier >> snapshot thinks its dealing with a tighter constraint whereas the new >> reality is a relaxed constraint. > > I guess I should have been more explicit: EvalPlanQual processing could > see newer versions of tuples that might not satisfy the constraints the > plan was designed against. Now, this is true only for the tuple that's > the target of the UPDATE/DELETE, so it's possible you could prove that > there's no problem --- but it would take careful analysis of the specific > semantics of the constraints in question. I don't believe the argument > you've made here holds up.
OK, thanks for raising that. You're better at seeing these things than I. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers