In article <4BohXBAFQ0200AOo@excelsis.co.uk>, Dave Cook
<dave.cook@excelsis.co.uk> writes
>
>Any opinions on whether the following is a bug? Tech Support tell me it
>isn't as it's "just the way it works".
>
>Online 7.22 is the culprit
>
>When performing an update, a lock is placed on all rows scanned in the
>table, unless the update statement uses a unique index
>
>e.g. (very simple example)
>
>create table dave (col1 integer, col2 integer);
>create index i_dave on dave(col1);
>insert into dave values ( 1, 10 );
>insert into dave values ( 2, 20 );
>insert into dave values ( 3, 30 );
>insert into dave values ( 4, 40 );
>insert into dave values ( 5, 50 );>begin work;
>update dave set col2 = 100 where col1 = 1;>
>If I then (before committing) switch to another screen and update a
>completely different row in the table by doing the following:
>
>begin work;
>update dave
>set col2 = 1000 where col1 = 5
>
>I get the error:
>-244 Could not do physical order read to get next row
>-107 Record is locked
>
What isolation level are you using?
What does onstat -k give in each instance?
>If I create the index "i_dave" as unique I do not get the error.
>
>
>Thanks,
>
>
--
David Williams
Maintainer of the Informix FAQ
Primary site (Beta Version) http://www.smooth1.demon.co.uk
Official site http://www.iiug.org/techinfo/faq/faq_top.html
I see you standin', Standin' on your own, It's such a lonely place for you, For
you to be If you need a shoulder, Or if you need a friend, I'll be here
standing, Until the bitter end...
So don't chastise me Or think I, I mean you harm...
All I ever wanted Was for you To know that I care