 |
The Question is:
Is there a maximum record length allowed for indexed files, and if so, what
is it and can it be changed.configured? I appear to have found a limit of 22
x 512 (11264 bytes). The record has a key(11+2 bytes), 2 byte count, 10
occurences of 3 fixed fields (
4+2+2 bytes), followed by count (3 bytes) and varying 1 to 200 occurences of
6 fields (1+2+3+2+2+45 bytes). I want to increase it to 300 from 200
occurences, but get error:
$> create /fdl=LEASE_ZONE.FDL LEASE_ZONE.ah
%FDL-F-CREATE, error creating DEV7:[BCAB.OUTPUT.ENRON]LEASE_ZONE.AH;
-RMS-F-NPK, no primary key defined for indexed file
It works at 204 (11218 bytes total).
The Answer is :
An indexed file record must be able to fit entirely in a 'BUCKET' with
some room to spare for record overhead (circa 11 bytes) bucket overhead
(circa 15 bytes) and a few bytes for potential compression overhead
(nothing to compress).
With the maximum bucket size being 63 this gives an absolute maximum
record length for a variable record for an indexed (Prolog 3) file is
32,224 bytes (qv: RMS Reference Manual, Chapter 4, Table 4-4).
If you find a maximum of 11K bytes, then apparently you specified a
bucketsize = 22. To store records of 16Kb you would need to select
a bucketsize greater than 32.
The 'NPK' error is somewhat surprising if only the record size changed.
How was the FDL file created? A standard tool or manual edit?
If you wish to pursue this, please contact the Compaq Customer Support
Center with further details, including a copy of the FDL file.
|