Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Avoiding any locks in SQL Servers - read and understand....its magic.

Re: Avoiding any locks in SQL Servers - read and understand....its magic.

From: Ed Avis <ed_at_membled.com>
Date: 07 Feb 2004 16:46:49 +0000
Message-ID: <l1wu6yj0qu.fsf@budvar.future-i.net>


"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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US