Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: serializable isolation level behavior question
"Laurenz Albe" <invite_at_spam.to.invalid> wrote in message
news:1161071595.908950_at_proxy.dienste.wien.at...
> Bob Jones <email_at_me.not> wrote:
>>> Session 2 (isolation level serializable)
>>>
>>> Set transaction isolation level serializable
>>>
>>> Select * from dd; (2 rows returned at this point)
>>>
>>> Now truncate the table from session1:
>>> Truncate table dd; (issue implicit commit)
>>>
>>> Now again run the following select from session 2:
>>>
>>> Select * from dd; (This should still shows 2 rows as
>>> read data from rollback segments since in serializable mode, it need to
>>> show the pre-image before the truncate but it is showing 0 rows)
>>>
>>> Is this expected behavior that in second session it returns 0 rows and
>>> not 2 rows?
>>
>> Yes, truncate does not generate any undo. In this case, you should use
>> delete instead.
>
> True, that explains why anybody who knows Oracle could expect this
> behaviour.
>
> But that is not standard compliant, is it?
>
What standard? What does the standard say? Received on Tue Oct 17 2006 - 17:42:41 CDT