Re: Remembering bug #6123
Kevin Grittner <kevin.grittner@wicourts.gov>
From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: <pgsql-hackers@postgresql.org>
Date: 2012-01-12T20:24:55Z
Lists: pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> wrote: > it needs to check the tuple's cmax [...] And that means the patch > will be a bit more invasive than this, because heap_update and > heap_delete don't return that information at present. I'm thinking that I could keep the test for: GetCurrentCommandId(false) != estate->es_output_cid as a "first pass". If that's true, I could use EvalPlanQualFetch() to find the last version of the tuple, and generate the error if the tuple's cmax != estate->es_output_cid. I think, although I'm not entirely sure, that EvalPlanQualFetch needs a little work to support this usage. Attached is a patch based on these thoughts. Is it on the right track? I suspect I haven't got everything covered, but thought a reality check was in order at this point. It does pass regression tests, including the new ones I added. -Kevin