> The return code errors are:
> - 246 could not I give an indexed read to get the next row
> - 107 ISAM error: record is locked
I don't think this is Adjacent Key Locking. As I recall, the error from AKL
is -144: Key value is locked.
I can't tell you exactly what's causing this, because it will depend on
what data you had in the tables and in what order all your statements are
executed, one user relative to the other. However, a few things to look for:
> SET ISOLATION TO REPEATABLE READ
When using REPEATABLE READ, make sure that your SELECTs are using an index,
preferably an index which corresponds exactly with the rows you are selecting.
You will lock all the rows you touch, so don't touch anything you don't have
to.
Also, I believe REPEATABLE READ will always lock one row past where you think
it will, because it always reads one row after all the rows that match your
criteria, in order to verify that it has reached the end. This is probably
what your problem is. There's a really old TechNotes article (probably
available on Informix-Link still) that talks about Repeatable Read and
locking.
June
---- June Tong Informix Asia/Pacific ----
---- On-Loan Engineer Singapore ----
---- Location-du-jour: Bangkok ----
---- junet@informix.com (65) 298-1716 ----