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