Need help on stale data and scroll cursors.
Posted in 1995
Topics: SQL Development & Query Writing, Connectivity: ESQL/C, 4GL & Embedded SQL
We're having concurrency problems with some of our ESQL/C applications, and hope that somebody may have an answer. The problem occurs when one user updates or deletes a row that is in the active set of another user's cursor - the second user still sees the old data. The old data still shows up even if the row is fetched again. The only way we know to update the data is to close and re-open the cursor, which is too expensive an operation. Just to complicate things, the behavior is inconsistent - with simpler cursors, the updates show up in the second user's cursor. The more complicated the select statement, the less likely it is to work the way we need. But there has to be some solution out there - the Perform screens show all updates when a record is re-fetched. If a user deletes a row in another user's active set, the second user even gets a message - an extremely useful thing that we cannot duplicate at all. So, our biggest question is: How can we do in ESQL what sperform does ? We'd also appreciate hearing about any other solutions people may have found to stale data problems. Versions: Informix ESQL/C 4.11 Informix SE 4.11 (Standard Engine, not OnLine - does OnLine work the way we need ?) Interactive Unix (SVR3.2) Thanks.