On 2013-12-18 13:07:51 +0200, Heikki Linnakangas wrote: > Here's another idea that doesn't involve SSI: > > At COMMIT, take a new snapshot and check that the assertion still passes > with that snapshot. Now, there's a race condition, if another transaction is > committing at the same time, and performs the same check concurrently. That > race condition can be eliminated by holding an exclusive lock while running > the assertion, until commit, effectively allowing the assertion to be > checked by only one transaction at a time. > > I think that would work, and would be simple, although it wouldn't scale too > well.
It probably would also be very prone to deadlocks. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers