Gavin Sherry <[EMAIL PROTECTED]> writes: > Regardless of which, we could insert a special case in ExecutePlan() (or > somewhere more appropriate?) to test that the tuple returned from the > lower level ExecTidScan() still satisifies the cursor query. It should be > sufficient to use HeapTupleSatisfies() or some of the logic there in to do > this.
I don't think so; you'll need to use EvalPlanQual. This is not different from the situation where a regular UPDATE finds a tuple that is not the latest version of its row. Should I point out that we already have semantics for that behavior, and they depend on the serialization mode? Most of this discussion seems to completely ignore the MVCC semantics we already have for updates/deletes applied to rows that aren't current anymore. ISTM we should stick to that behavior ... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster