Nicolas Barbier <nicolas.barb...@gmail.com> wrote: >>>>>>> Switch to T1: > > 1> COMMIT; -- Commit the insertion... > COMMIT > >>>>>>> T2 continues: > > DELETE 1 > T2> COMMIT; -- Commit the deletion of a with i = 1. > COMMIT > T2> SELECT * FROM b EXCEPT SELECT * FROM a; > a_id > ------ > 1 > (1 Zeile) > > Woops. This is exactly the sort of issue for which true serializable behavior will provide a solution. I will be offering a patch to implement that for 9.1 once 9.0 settles down. FWIW when you commit T1, the patched code rolls back T2 with this message: T2> DELETE FROM a WHERE i = 1; ERROR: could not serialize access due to read/write dependencies among transactions HINT: The transaction might succeed if retried. Thanks for the example; I will it to the others. -Kevin
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers