Re: SOS: locked rows are blocking table read !?
Posted in 1999
From: axsander@okay.net (Axel Sander)
>
>I just encountered a nasty problem. Our application is using SE 5.0 under
>Solaris and is working fine (but we're planning an upgrade to IDS 7.x later
>this year). First we are porting our program modules to Windows NT SP4 with
>IDS 7.30-TC9. There were no problems on compilation but now I got the
>following runtime problem:
>This is an OLTP application, so users start working interactively. This can
>lead to temporary open transactions, that are not commited, if they have to
>look something up, go to luch and so on. Newly created or updated records
>are meanwhile locked by this user - *this* is OK for me;-) But this records
I take it you wrote this? Take yourself outside and shoot yourself.
Transactions (i.e. BEGIN WORK...COMMIT/ROLLBACK WORK) should never span a
user interaction. You are leaving yourself open to all sorts of concurrency
hassles.
>can't be *read* by any other process. Instead the access seems to be
>blocked - if I do a simple "select" statement from dbaccess to show all
>records in a table I get:
>"-244: Could not do a physical-order read to fetch next row (ISAM-error
>-107: record is locked)">most times followed by a
>"-245: could not position within a file via an index"
>
>All tables are created with row level locking, so the locking of a single
>record shouldn't block the complete table, a *read* should *always* be
>allowed. The SE doesn't works this way, so I wonder, if I'm missing
>something in the online configuration or running into an informix bug.
SET ISOLATION TO DIRTY READ;
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com