Enscribe Programmer's Guide
Typically, in a changing database most blocks will be approximately two-thirds full at any given
time. When using the FUP LOAD command to load data into a key-sequenced file, you can specify
how much empty space to provide for future growth.
Figure 14 Key-Sequenced B-Tree Structure
AMY
CAROL
LOUISE
First (Highest)-Level Index Block
Second-Level Index Block
Data Blocks
Second-Level Index Block
0 MOLLY VINCE
0 CAROL LOUISE
ytpmEYTTEB
ytpmESIRHC
ytpmEYLLIM
MOLLY OLGA STEVE
ytpmE ETANYLLOM
ytpmEYTSURAGLO
ytpmEANELUEVETS
Data Record
Primary Key
Variable-Length
Physical Records
Saved
for Future
Insertions
NATE is alphabetically greater than MOLLY but less than VINCE.
Go to the second-level index block that begins with MOLLY.
NATE is alphabetically greater than MOLLY but less than OLGA.
Go to the data block that begins with MOLLY.
Legend
1
2
1
2
Note that data records are never chained together in Enscribe key-sequenced files. Instead, the
tree structure is dynamically rebalanced to ensure that all records in the file can be accessed with
the same number of FILE_READ64_/READ operations, that number being the number of levels of
indexes plus one for the data block.
Unique Features of EKS Files
Enhanced Key-Sequenced Files (EKS) have these unique features:
• The primary partition does not store user data but rather stores file meta data
• When creating an EKS file, the partial key of the first secondary partition must be explicitly
set to all zeros.
70 Key-Sequenced Files