The memory model uses segmented memory for efficient memory management. Segmented memory means the space allocated for data rows are not contiguous and therefore the rows do not need to be moved to accommodate updates. Instead, an Index is used for each table to point to the rows. This allows for efficient use of the local TSR and VTS-TSRs. When an entire segment becomes empty, the space is freed for reuse.
The data is maintained as efficiently as possible as a result of using segmented memory. When there is insufficient memory available to load data together, tableBASE will use whatever space is available — even if it is not contiguous.
All tables are stored internally as Pointer tables. Previous to Version 6, tableBASE allowed two type of tables: Pointer tables and True tables. True tables were characterized by not having an Index and by being stored in contiguous memory. In Version 6, the concept of True tables still exists, however they are treated within tableBASE as Pointer tables, as all memory is in segmented memory that requires Indexes. The True table Indexes are transparent to the application program.