Locking impact on queries
- Last Updated: January 17, 2024
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
Locking impact on queries
The DataServer processes query statements marked with SHARE-LOCK and EXCLUSIVE-LOCK queries
very differently from NO-LOCK queries.
SHARE-LOCK when the record isolation
level is read uncommitted are treated like a NO-LOCK.The records of a NO-LOCK query are pre-fetched, which
means that changes to the result set after the query has been executed
are unknown. Records modified in the database after the query is
established will not be reflected in the result set. SHARE-LOCK and EXCLUSIVE-LOCK queries
do not pre-fetch records, but do preselect record keys. The query
behavior is that of a "keyset-driven" cursor. Since the record keys
are stored at the time an ABL query is first executed, new records
added to the database since the key list was established are not
included in the query result set. However, records that have been
deleted or modified in the database will be reflected in the query
results as records are accessed by the application.