IBM®
Skip to main content
    United States [change]      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     
     
  TPF : Support : Maintenance : TPFDF
SUBJECT:         APAR  NUMBER: PQ47099
 
REFERENCE:  AREA:     TPFDF CENTRAL DATABASE ROUTINES
            SEGMENT:  C$CDFEQ13  - RELEASE:  TPFDF (C-Header)
            SEGMENT:  TPFDB13    - RELEASE:  TPFDF (Macro)
            SEGMENT:  UFGASO13   - RELEASE:  TPFDF (Copy)
            SEGMENT:  UFGESO13   - RELEASE:  TPFDF (Copy)
            SEGMENT:  UWAA13     - RELEASE:  TPFDF (Assembler)
 
 
Pre-requisite APARs are (TPF only) :
FOR SEGMENT C$CDFEQ13  (C-Header)  - REL TPFDF
      PN57135 PN61834 PN74617 PN83423 PN91920 PN91521 PQ08645
      PQ25825 PQ28550 PQ32209 PQ32210
FOR SEGMENT TPFDB13    (Macro)     - REL TPFDF
      PN30016 PN40034 PN41095 PN43714 PN55118 PN61834 PN64719
      PN72208 PN73989 PN83423 PN86337 PN87893 PN89980 PQ06194
      PQ13787 PQ27195 PQ25824 PQ25825 PQ32209 PQ36156 PQ32210
FOR SEGMENT UFGASO13   (Copy)      - REL TPFDF
      PN84867 PN86534 PQ00810 PQ32210
FOR SEGMENT UFGESO13   (Copy)      - REL TPFDF
      PN84867 PN86534 PQ00810 PQ05192 PQ10088 PQ32209 PQ32210
FOR SEGMENT UWAA13     (Assembler) - REL TPFDF
      PQ32210
To be applied in the order listed for each segment.
ABSTRACT OF PROBLEM
___________________
Currently,  there is no way for an application to force TPFDF to
use the B+Tree index when adding an LREC or to request a  B+Tree
file to be packed when closed.
 
COMMENTS ON PROBLEM
___________________
 
1.  The  first  access of a B+Tree file uses the B+Tree index to
    locate the proper block. The index  can  locate  the  wanted
    block  using  few  I/Os. However, if an LREC is added subse-
    quently, the index is not automatically used and there is no
    way to force the index to be used.    If  this  add  is  not
    sequential, this can cause unnecessary I/O.
 
2.  Packing  a  TPFDF  file  at close time eliminates LREC spare
    slots left after LRECs have been  deleted  during  a  trans-
    action.
 
    B+Tree  files  can be large databases. Therefore, packing  a
    B+Tree file can be a resource intensive operation.
 
    Currently, TPFDF is designed to  prevent  applications  from
    packing  a  B+Tree  file  to avoid this resource drain.  The
    only method to pack B+Tree files is  to  use  ZUDFM  OAP  or
    CRUISE.
 
SOLUTION
________
 
1.  The  USEBTREE  parameter  for DBADD has been introduced with
    this APAR. Now, the application can force TPFDF to  use  the
    B+Tree index to add an LREC.
 
    The  USEBTREE  parameter  will  be  ignored if not used on a
    B+Tree file.
 
2.  TPFDF has been updated to no longer ignore  a  pack  request
    during the close processing of a B+Tree file.
 
DEPENDENCIES
____________
 
Related Segments Affected By This APAR.
_______________________________________
 
Segments to be assembled or compiled:
 
On TPF - UFGAIC, UFGEIC
On ALCS - UFGA, UFGE
 
Segments to be link edited:
 
On TPF  - CTDF
On ALCS - TPFDFC3
 
Migration Considerations
 
 
After this APAR has been applied, TPFDF will now:
 
1.  Use  the B+Tree index to add LRECs after the B+Tree file has
    been accessed if the USEBTREE parameter with the DBADD macro
    or the DFADD_USEBTREE dfadd function.  See the following for
    an example on how to use the USEBTREE parameter:
 
               DBOPN REF=IR76DF,HOLD
      **********************************************************
      * FIRST ADD WITHOUT BTREE USES BTREE INDEX TO LOCATE BLOCK
      **********************************************************
               DBADD REF=IR76DF,NEWLREC=ID60K86,UNIQUE,ERROR=ERRTWICE
               MVC   ID60A80(15),=C'THE SECOND LREC'
      **********************************************************
      * THEN ADD WITH USEBTREE OPTION. THE BTREE INDEX IS USED
      **********************************************************
               DBADD REF=IR76DF,NEWLREC=ID60K86,UNIQUE,USEBTREE
 
2.  If the USEBTREE parameter is coded with DBADD and  the  file
    is  not  a  B+Tree  file the following MNOTE warning will be
    issued:
 
           4,DBADD USEBTREE PARAMETER IGNORED; ONLY VALID FOR B+TREE FILES
 
3.  The B+Tree index can  be  packed  during  close  processing.
    However,  B+Tree databases should be packed with care due to
    resources required to pack large database.    See  the  fol-
    lowing coding example for using the PACK parameter:
 
               DBOPN REF=IR76DF,REG=R7
               DBDEL REF=IR76DF,LRECNBR=R4
      **********************************************************
      * THE BTREE FILE WILL BE PACKED
      **********************************************************
               DBCLS REF=IR76DF,PACK
 
-- END APAR PQ47099
 
 
 


Download file(s) using new Server: Login once to access server, leave window open, then click on link(s) below.
Package
 

    About IBM Privacy Contact