Re: attempted to lock invisible tuple - PG 8.4.1

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Stuart Bishop <stuart(at)stuartbishop(dot)net>
Cc: Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>, pgsql-general(at)postgresql(dot)org
Subject: Re: attempted to lock invisible tuple - PG 8.4.1
Date: 2009-10-06 17:21:36
Message-ID: 20091006172136.GN5929@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I think the previous patch to snapmgr.c was mistaken. Instead of fixing
a single trouble spot, we're better off fixing PushActiveSnapshot so
that any use of it that involves a snapshot that's subject to a future
command counter update should create a new copy.

This is correct because the 8.3 code used to do CopySnapshot anytime it
was setting ActiveSnapshot. So we're not disrupting any behavior here
-- we're merely restoring what was the previous customary behavior.

The attached patch implements this idea. It reverts the code changes
done in the previous patch, because they're obviously no longer
necessary. The new regression test that it added still passes with this
new patch. I will add a new one for this new problem.

(This new patch restores CopySnapshot as a static function too).

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Attachment Content-Type Size
snapmgr-bugfix-rehash.patch text/x-diff 4.5 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2009-10-06 17:36:14 Re: attempted to lock invisible tuple - PG 8.4.1
Previous Message Jonathan Vanasco 2009-10-06 16:57:58 is it possible to do an update with a nested select that references the outer update ?