Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: serializable isolation level behavior question
<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