
A History of Transaction Histories - yarapavan
https://ristret.com/s/f643zk/history_transaction_histories
======
mjw1007
He writes "Like the way ANSI thinks about it, if you eliminate dirty reads,
non-repeatable reads, and phantom reads, you’re serializable.", but that isn't
true.

The sql-92 standard was already clear:

« SERIALIZABLE is guaranteed to be serializable. A serializable execution is
defined to be an execution of the operations of concurrently executing SQL-
transactions that produces the same effect as some serial execution of those
same SQL-transactions. A serial execution is one in which each SQL-transaction
executes to completion before the next SQL-transaction begins. »

A little later it has a table showing which anomalies can happen in which
isolation modes, but under the table it says

« Note: The exclusion of these phenomena or SQL-transactions executing at
isolation level SERIALIZABLE is a consequence of the requirement that such
transactions be serializable »

At some point someone seems to have looked at the table of anomalies and
decided that it was the standard's definition of SERIALIZABLE, and the idea
that the SQL standard got it wrong seems to have taken root. (The "Critique of
ANSI SQL Isolation Levels" paper doesn't make this mistake.)

So it isn't surprising that, as he writes, "the ANSI definitions have not been
fixed": they were never wrong.

------
yarapavan
> This is also finally the year when people start to wake up and realize they
> care about serializability, because Jeff Dean said its important. Michael
> Stonebraker, meanwhile, has been shouting for about 20 years and is very
> frustrated that people apparently only care when The Very Important Googlers
> say its important.

