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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers