Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: serializable isolation level behavior question
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?
Yours,
Laurenz Albe
Received on Tue Oct 17 2006 - 02:53:17 CDT