On Fri, Feb 10, 2012 at 01:59:18PM -0500, Robert Haas wrote: > I guess I'm not particularly excited by the idea of trying to make > TRUNCATE MVCC-safe. I notice that the example involves the REPEATABLE > READ isolation level, which is already known to be busted in a variety > of ways; that's why we now have SERIALIZABLE, and why most people use > READ COMMITTED. Are there examples of this behavior at other > isolation levels?
Marti's example works for SERIALIZABLE isolation too. In general, when DDL operations weren't previously MVCC-safe under REPEATABLE READ, we didn't change that in SERIALIZABLE. There's some SSI code for TRUNCATE TABLE that tries to do something reasonable, and it catches some (more subtle) anomalies involving concurrent truncates -- but it can only do so much when TRUNCATE itself isn't MVCC-safe. I expect that the combination of that code and this patch would ensure full serializability for TRUNCATE operations. Dan -- Dan R. K. Ports MIT CSAIL http://drkp.net/ -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers