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: Serializable transactions get rolled back while there are no othertransactions running?!

Re: Serializable transactions get rolled back while there are no othertransactions running?!

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 23 Jun 2004 09:06:53 +0000 (UTC)
Message-ID: <cbbh7c$1qh$1@hercules.btinternet.com>

Note in-line

-- 
Regards

Jonathan Lewis

http://www.jlcomp.demon.co.uk

http://www.jlcomp.demon.co.uk/faq/ind_faq.html
The Co-operative Oracle Users' FAQ

http://www.jlcomp.demon.co.uk/seminar.html
Optimising Oracle Seminar - schedule updated May 1st


<ctcgag_at_hotmail.com> wrote in message
news:20040620152317.432$RM_at_newsreader.com...

>
> > I think that's what most people would expect of serializable.
>
> Not I. I would expect one of the two to get a "cannot serialize" error.
> The isolation level that Oracle calls "serializable" is not truly
> serializable. I'm not saying that that level isn't useful, nor am I
saying
> that it could be made truly serializable without incurring significant
> performance penalties. I'm just saying they probably shouldn't have named
> it "serializable" when it really isn't.
>
I sympathise with the view-point. Life gets difficult when words are given a specific meaning for a technical context that doesn't match the 'intuitive' meaning outside that context. At the time, of course, 'serializable' was described twice in the SQL standard: and one of the descriptions was a list of the phenomena that qualify a serializable transactions - one of which was "repeatable reads". So Oracle put three ticks against the list, and said "that's it - we comply to that feature". I must read the latest standard some time to see what it says on the topic. Your comment leads to an interesting philosophical point - I execute a serializable transaction, but do NOT revisit row X, which gets changed and committed by another user in the interim. I execute the same serializable transaction, but DO revisit row X, which gets changed and committed by another user in the interim. However, there is nothing in my transaction that I do differently, whether or not I can see the change (which I couldn't in Oracle of course). Should either, neither, or both of those transaction fail according to your concept of serializable ? I think this may qualify as the "Schrödinger's Cat" of the serializable transaction. (Side-note: my spell-checker wants to change the American spelling of serializable into "fertilizable" - does this mean the entire discussion is a load of horse-manure ?)
Received on Wed Jun 23 2004 - 04:06:53 CDT

Original text of this message

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