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/
