HP OpenVMS Systems

ask the wizard
Content starts here

Maximum RMS indexed key and record length?

» close window

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.
 

answer written or last revised on ( 1-SEP-1999 )

» close window