Re: computational model of transactions

From: vc <boston103_at_hotmail.com>
Date: 2 Aug 2006 13:42:10 -0700
Message-ID: <1154551329.992925.68260_at_s13g2000cwa.googlegroups.com>


paul c wrote:
[...] BTW, I think SQL's SERIALIABLE was supposed
> to mean that if a second user updated the bananas table after my program
> read the accounts table but before it read the bananas table, my program
> would fail when it tried to read the bananas table - if mine read
> bananas before the second user's program read it, then that user's
> program would fail.

'Serializability' in the context of concurrency control means that the series of operations ('history') is equivalent to some serial execution of such operations (where operations are not interleaved). For details, see Bernstein's book.

>I'm not sure what MVCC does here, but I suspect I
> would like it less than I like the program exceptions.)

If a locking scheduler cannot ensure serilaizability, one of the transactions fails due to a deadlock. If an MVCC scheduler cannot ensure serializability, one of the transactions is aborted, so the outcome is the same, just the error message might be different. Oracle, a sort of an MVCC scheduker, by the way does not have SERIALIZABLE isolation level.

>
> p
Received on Wed Aug 02 2006 - 22:42:10 CEST

Original text of this message