tableBASE stores persistent copies of tables in a tableBASE library on DASD. The delivered default includes one defined library (MAINLIB). There may be more than one library; some clients have a different library for each application, or for a series of applications, while others house all their tables in MAINLIB. Additional libraries can be defined by a call to tableBASE, or through the tableBASE utility called TBEXEC. When more than one library is used, application performance can be tuned by specifying the sequence in which libraries are searched to locate tables.
When a table is needed by an application, tableBASE retrieves it from a library and places the entire table in memory.
The tableBASE library is organized to optimize storage capacity and access time, so that:
- library facilities are shared
- tables load fast, with little overhead
- the need for compression is eliminated, because the libraries are self-organized
- up to nine table generations can be kept
Shared Library Facilities
tableBASE allows libraries to be shared between users, and a single job step may access one or more libraries. With tableBASE, multiple concurrent tasks can open the same table (read-only) from the same library. If a table has been opened for write, other programs, job steps, and tasks may read the table but will not be able to open it for write. The user may request that the task wait until the table is available (enqueue) then continue with processing. tableBASE also allows different tables to be stored into the same library concurrently by multiple tasks.