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:
> > > 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.
> 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.
>
> 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 a prudent choice especially taking into account that Oracle does not support SERIALIZABLE even with ordinary DML statements. Oracle's SERIALIZABLE is a misnamed SNAPSHOP. Received on Thu Oct 19 2006 - 10:26:45 CDT