Please enable JavaScript to view this site.

ASQL Reference

Navigation: » No topics above this level «

AUTO_MEMOPEN

Scroll Prev Top Next More

This option causes every ASB random file OPEN to first check to see if the file being opened is already in memory. If so, it accesses the memory copy as if the filespec had specified MEM: directly.

The idea of this option is that it permits you to experiment with, or take advantage of the MEM: device (described above) without actually modifying your programs to specify MEM: in the file open statements.

For example, consider the following open statement:

OPEN #CH, "DSK2:MYFILE.DAT[123,222]",RANDOM,RSIZE,RFILE

If OPTIONS=AUTO_MEMOPEN is set, then the OPEN will first check to see if myfile.dat is in user memory. If not, then it works normally. But if it is, then it uses the memory copy. So to make a particular report program run faster, you could just manually LOAD the file (e.g. .LOG DSK2:MYFILE.DAT[123,222]) before running the program.

It must be noted that this is only practical for files that are not updated by a program. (Any updates would be written to memory, not disk.) Caution should be exercised to make sure you don't inadvertently leave the file in memory and then run a program that performs updates on it (thinking the updates were being written to disk.)

History

2008 June, A-Shell 5.1.1116:  AUTO_MEMOPEN also applies to sequential input files (OPEN #CH, FILE$, INPUT) and LOOKUP. See DEVICE for details on defining the MEM: device.