Transact
Transact_SelectForUpdate
(SWI &4FC06)
Just like the Transact_Select SWI, this SWI builds a result set for future reading by the client's application, the way the result set is built depends on the session's transaction mode (DIRTY_READ, READ_COMMITED ou READ_REPEATABLE1). In addition, this SWI locks the accessed part of the file just like for an UPDATE.
On entry
- R0 = External session ID as returned by
Transact_CreateSession;
- R1 = Data file's external ID (
NULL or pointer to the pathname of the file);
- R2 = Pointer to internal ID for the file to be accessed;
- R3 = Start of the zone to select (offset of the first byte from the beginning of the file);
- R4 = End of the zone to select (offset of the last byte from the beginning of the file + 1);
- R5 = Cursor flag (
ALLOW_BACKWARD =1, FORWARD_ONLY =0).
On exit
- R0 = Cursor external ID (to be used in subsequent
Transact_Fetch / Transact_AllDone requests)
- All other registers are preserved
Possible errors
- &812B00 Busy (not yet implemented in this release)
- &812B01 Unknown session
- &812B02 Unknown object
- &812B05 Invalid parameters
- &812B04 Not enough memory to service this request
- &812B08 Cursor in use
- &812B07 Conflict with another session which already has a lock active on the part to select