Hi,
i have a problem accessing a Informix-Online-Database
(Version : 5.03.UC1) :
Description :
The Server is accessed via program by 2 Clients,
both are in transaction and work on the table ap;
Isolation is set to dirty read.
ap_idx is a column of ap, type serial, there is a
unique index on ap_idx.
Client1 : delete from ap where ap_idx = 2500
but stays in transaction !
Then :
Client2 : delete from ap where ap_idx = 2499
Client2 : insert into ap values (2499,.......)
or any other value < 2499
works.
But :
Client2 : delete from ap where ap_idx = 2501
Client2 : insert into ap values (2501,.......)
or
Client2 : insert into ap values (0,...) for
automatically the next Index
or any other value > 2501
ends up with errormessage -240 : Could not delete row
ISAM-Error -144 : key value locked
As far as i have understood the documentation this Error should
occur, if i try to insert data into the table with a value in the
"Unique-Index-Column", which isnt there at the moment, but was
deleted in a transaction, that is still open and could therefore
reappear, if this transaction is rollbacked, in the above example
ap_idx = 2500, but in this case i get the ISAM-Error
-107 : Record is locked !
Using the database on Informix-SE i don't have these problems !
Why has deleting of a row in a table any effect on inserting or
deleting of other rows with higher values in the
"Unique-Index-Column" ?
Are ther any Informix-Online settings, which enable the behavoiur
of the Informix-SE ?
I am very thankful for any ideas or comments concerning the problem.
Bye and thanks..
Michael
---