Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Avoiding any locks in SQL Servers - read and understand....its magic.
"VC" <boston103_at_hotmail.com> writes:
>Earlier in the thread Heikki Tuuri mentioned that neither Oracle nor
>Postgres (which mimics Oracle's concurrency mechanism) implement the
>true SERIALIZABLE IL. Someone, I think Ed Avis, asked to give an
>example of a scenario in which non-serializable transactions use
>'pure' SQL without PL/SQL extensions (although I am not sure why it
>matters).
I asked because I was thinking of conformance with the ANSI SQL standard (or standards), and PL/SQL is not part of these standards, so if you want an example of where the 'serializable' isolation level is not properly implemented you'd need to use only plain SQL.
>the following schedule (S1) whilst runnig under Oracle's SIL:
>
>T1(update);T2(update);T1(commit);T2(commit);
>
>produces a result different from the SERIAL execution (S2):
>
>T1(update);T1(commit);T2(update);T2(commit);
>
>Therefore, S1 is not serializable.
Well, you need to show that it produces a result different from _any_ serial execution, so in this case you must also check that it is different from
T2(update);T2(commit);T1(update);T1(commit);
but this is also true, so you are right, the schedule is not serializable.
-- Ed Avis <ed_at_membled.com>Received on Sat Feb 07 2004 - 10:46:49 CST
![]() |
![]() |