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 isolation level behavior question

Re: serializable isolation level behavior question

From: Bob Jones <email_at_me.not>
Date: Fri, 20 Oct 2006 01:08:35 GMT
Message-ID: <nkVZg.12553$TV3.7139@newssvr21.news.prodigy.com>

<hasta_l3_at_hotmail.com> wrote in message news:1161242937.795839.104520_at_k70g2000cwa.googlegroups.com...
>> > A serializable transaction must not get different results when issuing
>> > the
>> > same query twice. Period.
>> >
>>
>> Again, truncate is not a query, it is not even a dml.
>>
>
> I really cannot get your point, Bob...
>
> The OP transaction performed casher DML statements.
> It had transaction level serializable.

No, the session that was serializable was doing a truncate that is NOT a DML.
> But nevertheless got phantom reads generated by the concurrent
> execution of *another* transaction.
>
> That *other* transaction indeed happens to be the single
> DDL statement "truncate". However I cannot see anywhere the
> restriction that a serializable transaction is not protected against
> ddl
> statements performed by other sessions.
>

Again back to the beginning, truncate does not write to rollback. How do you get the pre-image?

> Now, I didnt look very hard, because the fine points dont really matter
> :
> *** If a casher serializable transaction can see phantom reads, then
> the
> whole point of that isolation level is lost. ***
>
> I would expect Oracle to at least generate some error "cannot
> serialize",
> from a QOI point of view.
>
> (Not that I really care. Never used serializable :-)
>

That is if you consider a DDL which cannot be rolled back, a transaction. Received on Thu Oct 19 2006 - 20:08:35 CDT

Original text of this message

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