Re: [PATCH] SQL assertions prototype - Mailing list pgsql-hackers

From Josh Berkus
Subject Re: [PATCH] SQL assertions prototype
Date
Msg-id 52B0C171.2000705@agliodbs.com
Whole thread Raw
In response to [PATCH] SQL assertions prototype  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: [PATCH] SQL assertions prototype
List pgsql-hackers
On 11/15/2013 05:41 AM, Heikki Linnakangas wrote:
> A fundamental problem with this is that it needs to handle isolation
> reliable, so that the assertion cannot be violated when two concurrent
> backends do things. Consider the example from the manual, which checks
> that a table has at least one row. Now, if the table has two rows to
> begin with, and in one backend you delete one row, and concurrently in
> another backend you delete the other row, and then commit both
> transactions, the assertion is violated.
> 
> In other words, the assertions need to be checked in serializable mode.
> Now that we have a real serializable mode, I think that's actually
> feasible.

Going back over this patch, I haven't seen any further discussion of the
point Heikki raises above, which seems like a bit of a showstopper.

Heikki, did you have specific ideas on how to solve this?  Right now my
mind boggles.

-- 
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: processing time zone
Next
From: Alvaro Herrera
Date:
Subject: Re: 9.3 reference constraint regression