How about replacing:
 
> Some variation on this theme (probably involving a utility
> subroutine):
>   READVU SEQ.ID FROM ctrl.fvar, ctrl.id, n ...
>   WRITEV  SEQ.ID+1 TO ctrl.fvar, ctrl.id, n
>   WRITE NEW.REC TO fvar, SEQ.ID

with some variation of:

   OPENSEQ path TO ctrl.fseq ELSE ...
   READSEQ SEQ.ID FROM ctrl.fseq ELSE ...
   SEEK ctrl.fseq, 0, 0 ELSE ...
   WRITESEQ SEQ.ID+1 TO ctrl.fseq ELSE ...
   CLOSESEQ ctrl.fseq
   WRITE NEW.REC TO fvar, SEQ.ID

All that would be inside the TRANSACTION START / COMMIT.
It uses Ray's sequential I/O idea so that the write would happen
immediately.  
OPENSEQ locks the control "item", CLOSESEQ releases it.

A little timing test shows it is about 30% slower than the original.
(My test did not do the WRITE NEW.REC TO fvar, SEQ.ID, just to be
clear.)


cds
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to