Google
 

Trailing-Edge - PDP-10 Archives - iqlv30 - reclen.mem
There are 2 other files named reclen.mem in the archive. Click here to see a list.
Changing Record Lengths in IQL3                                   Page 1


     1.  Standard (Field Image or  Field  Test)  versions  of  IQL3  are
         distributed  with  generous record lengths for user data files.
         If you do not have files with records this long, IQL uses  more
         core  than  necessary.   You can cut down on (or enlarge) these
         record lengths with no impact on the output  of  IQL,  and  the
         shorter the record lengths, the faster IQL will run.

     2.  The standard compiled-in record lengths on distributed versions
         are, at the time of writing:

                Primary ASCII sequential file:          3410 characters
                Primary SIXBIT sequential file:         4092 characters

                Primary ASCII ISAM  file:               3410 characters
                        x 10 blocking factor
                Primary SIXBIT ISAM file:               4092 characters
                        x 10 blocking factor

                Secondary ASCII sequential file:        3410 characters
                        (also tertiary)
                Secondary SIXBIT sequential file:       4092 characters
                        (also tertiary)

                Secondary ASCII ISAM file:              3410 characters
                (and tertiary)  x 10 blocking factor
                Secondary SIXBIT ISAM file:             4092 characters
                (and tertiary)  x 10 blocking factor

     3.  Normally secondary and tertiary files are used for lookup under
         control  of  the  primary  file.   They are usually quite a bit
         shorter than the primary file, which is  often  a  long  record
         length master file.

     4.  We therefore suggest consideration of the following procedure:

         1.  Canvass your users to see what the longest  record  lengths
             they  expect  to present to IQL.  Break expected file usage
             into one of the categories shown above.

         2.  Edit the IQL sources as described in the next paragraph and
             regenerate the system with the new record lengths.

         3.  If you are using DBMS, leave the primary SIXBIT file record
             length  (the  file  is  named INF1SD6) sufficiently long to
             hold the  concatenated  records  from  the  database.   IQL
             abutts  the  database  records  end-to-end  in this buffer,
             thereby requiring that it be moderately large.  In  certain
             installations  using DBMS, it may even be the case that the
             default record buffer size is too small for very large DBMS
             schemas.   In such cases, it is permissable to increase the
             primary  buffer  size  as  necessary  to  accomodate   such
             schemas.
Changing Record Lengths in IQL3                                   Page 2


         4.  If you choose to change the ISAM data file blocking factors
             from  10,  you  should  also  change  the value of the item
             MAX-BLKFACT in IQL.CBL, which  is  used  to  test  for  and
             generate  a warning message in case someone tries to define
             a dictionary with a bloking factor too  large.   It  is  at
             line  sequence  number 002715, which is at the beginning of
             the WORKING-STORAGE section.


     5.  There is a problem in IQL that is inherent to its use of  COBOL
         and which will go away with COBOL V13:

         1.  COBOL,  at  RESET  time,  checks  the  parameters  of   the
             compiled-in ISAM files against named files that it requires
             to be found on DSK:.  This is the reason  the  dummy  files
             ISAMF6.IDX and ISAMF7.IDX are required.

         2.  At OPEN time COBOL complains if the parameters of the  file
             actually   opened   (IQL   changes  the  files'  names  and
             parameters such as  record  length,  blocking  factor,  key
             location,  key  length,  etc.   after reset time and before
             OPEN time).

         3.  As distributed, COBOL V12 required that the  parameters  on
             the  opened file match exactly those compiled-in.  PCO #535
             changed this so that COBOL V12  requires  that  the  record
             length   of  the  opened  file  be  not  greater  than  the
             copiled-in record length, and that the blocking  factor  of
             the opened file be not greater than that of the compiled-in
             file.  This means that in setting  up  the  new  ISAM  file
             parameters  in  IQL you should independently set the record
             length to the maximum record length you expect for any ISAM
             file,  and the blocking factor independently to the maximum
             blocking factor you expect in  any  such  ISAM  file.   The
             alternative is to block down the actual ISAM data files for
             IQL usage.
Changing Record Lengths in IQL3                                   Page 3


     6.  The following lines in the modules shown are  those  to  change
         for record lengths:



                              Module IQE:


Primary sequential SIXBIT file:
        002120 01 INF1SD6-REC PIC X(3410).

Primary sequential ASCII file:
        002260 01 INF1SD7-REC PIC X(3410).

Secondary and Tertiary sequential SIXBIT files:
        002400 01 INF2SD6-REC PIC X(3410).
        002680 01 INF3SD6-REC PIC X(3410).

Secondary and Tertiary sequential ASCII files:
        002540 01 INF2SD7-REC PIC X(3410).
        002820 01 INF3SD7-REC PIC X(3410).

Primary SIXBIT ISAM file:
        003400     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        003440 01 INF1ISAM6-REC.
        003460     02  INF1ISAM6-RECKEY PIC X(30).
        003480     02  FILLER           PIC X(4062).

Primary ASCII ISAM file:
        003580     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        003620 01 INF1ISAM7-REC.
        003640     02  INF1ISAM7-RECKEY PIC X(30).
        003660     02  FILLER           PIC X(4062).

Secondary and Tertiary SIXBIT ISAM files:
        003760     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        003800 01 INF3ISAM6-REC.
        003820     02  INF3ISAM6-RECKEY PIC X(30).
        003840     02  FILLER           PIC X(4062).

        004120     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        004160 01 INF3ISAM6-REC.
        004180     02  INF3ISAM6-RECKEY PIC X(30).
        004200     02  FILLER           PIC X(4062).

Secondary and Tertiary ASCII ISAM files:
        003940     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        003980 01 INF2ISAM7-REC.
        004000     02  INF2ISAM7-RECKEY PIC X(30).
        004020     02  FILLER           PIC X(3380).
Changing Record Lengths in IQL3                                   Page 4


        004300     LABEL RECORDS ARE STANDARD 
                        BLOCK CONTAINS 10 RECORDS
        004340 01 INF3ISAM7-REC.
        004360     02  INF3ISAM7-RECKEY PIC X(30).
        004380     02  FILLER           PIC X(3380).
Changing Record Lengths in IQL3                                   Page 5


                               Module IQU


001420 FD  QIFLE7
001440     VALUE OF IDENTIFICATION IS QIFLE7-ID
001460     LABEL RECORD IS STANDARD
001480     BLOCK CONTAINS 0 RECORDS
001500     DATA RECORD IS QIFLE7-REC.
001520 01  QIFLE7-REC USAGE IS DISPLAY-7.
001540     02  FILLER          PIC X(3410).
001560
001580 FD  QIFLE6
001600     VALUE OF IDENTIFICATION IS QIFLE6-ID
001620     LABEL RECORD IS STANDARD
001640     BLOCK CONTAINS 0 RECORDS
001660     DATA RECORD IS QIFLE6-REC.
001680 01  QIFLE6-REC USAGE IS DISPLAY-6.
001700     02  MAIN-REC.
001720         04  MAIN-REC72   PIC X(72).
001740         04  FILLER       PIC X(4020).
001760
001780 FD  QOFLE7
001800     VALUE OF IDENTIFICATION IS QOFLE7-ID
001820     LABEL RECORD IS STANDARD
001840     BLOCK CONTAINS 0 RECORDS
001860     DATA RECORD IS QOFLE7-REC.
001880 01  QOFLE7-REC USAGE IS DISPLAY-7.
001900     02  FILLER          PIC X(3410).
001920
001940 FD  QOFLE6
001960     VALUE OF IDENTIFICATION IS QOFLE6-ID
001980     LABEL RECORD IS STANDARD
002000     BLOCK CONTAINS 0 RECORDS
002020     DATA RECORD IS QOFLE6-REC.
002040 01  QOFLE6-REC USAGE IS DISPLAY-6.
002060     02  FILLER          PIC X(4092).

002280 FD  QISAM6
002300         VALUE OF IDENTIFICATION IS QIFLE6-ID
002320     LABEL RECORDS ARE STANDARD
002340     BLOCK CONTAINS 10 RECORDS
002360     DATA RECORD IS QISAM6-REC.
002370*    *NOTE THAT BOTH RECORD AND KEY BELOW -MUST- BE WORD-ALIGNED
002380 01  QISAM6-REC DISPLAY-6.
002390     02  QISAM6-RECKEY PIC X(30).
002400     02  FILLER        PIC X(4062).
002404 
002440 FD  QISAM7
002460     VALUE OF IDENTIFICATION IS QIFLE7-ID
002480     LABEL RECORDS ARE STANDARD
002500     BLOCK CONTAINS 10 RECORDS
002520     DATA RECORD IS QISAM7-REC.
002530*    *NOTE THAT BOTH RECORD AND KEY BELOW -MUST- BE WORD-ALIGNED
002540 01  QISAM7-REC USAGE IS DISPLAY-7.
002550     02  QISAM7-RECKEY PIC X(30).
Changing Record Lengths in IQL3                                   Page 6


002560     02  FILLER        PIC X(3380).