![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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.
|