Transact
Transact_Select
(SWI &4FC05)
Construit un jeu de résultats pour une lecture pour une future consultation par l'application cliente, la façon dont le jeu est constitué dépend du mode transactionnel adopté pour la session (DIRTY_READ
, READ_COMMITED
ou READ_REPEATABLE1
).
En entrée
- R0 = ID externe de session telque retouné par
Transact_CreateSession
;
- R1 = ID externe de fichier (NULL ou pointeur sur le nom de fichier);
- R2 = Pointeur sur l'ID interne du fichier à accéder;
- R3 = Début de la zone à consulter (offset calculé par rapport au début du fichier);
- R4 = Fin de la zone à lire (offset du dernier octet de la zone + 1);
- R5 = Mode du curseur (
ALLOW_BACKWARD
=1, FORWARD_ONLY
=0).
En sortie
- R0 = ID externe de curseur (à utiliser dans les requêtes
Transact_Fetch
/ Transact_AllDone
à venir)
- Tous les autres registres sont conservés.
Erreurs possibles
- &812B00 Busy (non encore implémenté dans cette release)
- &812B01 Unknown session
- &812B02 Unknown object
- &812B05 Invalid parameters
- &812B04 Not enough memory to service this request
- &812B08 Cursor in use
Note additionnelle
Typiquement, la séquence des appels à soumettre suit ce schéma:
- Appel à
Transact_Select
ou à Transact_SelectForUpdate
pour construire le jeu de résultat;
- En fonction du volume de donnés concernées dans l'opération
Transact_Select
, appel à autant de Transact_Fetch
que nécessaire;
- A partir du moment où l'application n'est plus interessée par les données du jeu de résultats, appel à
Transact_AllDone
pour réinitialiser les ressources et pouvoir par la suite appeler de nouveau Transact_Select
.