Directory manipulation

Creation

  +--------------------------------------------------------------------+
  | CALL  CDMDIR (PATH,NKEYS,CHFOR,CHTAG,MAXOBJ,IPREC,DELTA,CHOPT,IRC*) |
  +--------------------------------------------------------------------+
                                  

PATH
Character string specifying the path name to be created
NKEYS
Integer variable specifying the number of user keys, if any. The directory will automatically be created with the standard keys (system keys, experiment keys and the number of validity range pairs as specified when the database was created).
CHFOR
Character string specifying the user key type, as for the routine RZMDIR
CHTAG
Character array of significant length NKEYS containing the tags for the user keys
MAXOBJ
Integer variable specifying the maximum number of objects to be stored in each partition of a partioned directory
IPREC
Precision word specifying the number of significant digits to be stored (which may be zero). If IPREC is negative, then it specifies the number of digits to the left of the decimal point to retain.
DELTA
Variable specifying the absolute value below which data is treated as zero
CHOPT
' '
Default - non-partitioned directory
'C'
Data in this directory will be compressed by default
'P'
Create partitioned directories
IRC
Integer return code
0
Normal completion
43
Illegal number of user keys

This routine creates directories in a database and sets various directory constants.

Conversion

              +--------------------------------------------+
              |CALL  CDPART (PATHI,PATHO,MXPART,CHOPT,IRC*) |
              +--------------------------------------------+
                                  

PATHI
Character string describing the input pathname
PATHO
Character string describing the output pathname
MXPART
Maximum number of objects in each partition
CHOPT
Character string
IRC
Integer return code
0
Normal completion
68
Input directory is already partitioned
71
Illegal path name
73
RZOUT fails to write on disk
74
Error in RZRENK in updating key values for data set
75
Cannot find the Top directory name in pathname
76
Cannot form the IO descriptor for the FZ header
77
FZOUT fails to write on to the sequential file

Transforms the contents of a non-partitioned directory to a partitioned directory.

Deletion

                     +------------------------------+
                     |CALL  CDDDIR (PATH,CHOPT,IRC*) |
                     +------------------------------+
                                  

PATH
Character string specifying the path name to be deleted
CHOPT
Character variable specifying the options required.
IRC
Integer return code
0
Normal completion
171
Illegal Path name
172
Cannot find the top directory for the path name
173
Error in RZ for reading the dictionary object
174
Error in FZOUT for saving the journal file
175
Error in RZ in writing the dictionary object
176
Error in RZ in purging the dictionary directory
177
Error in RZ in deleting the tree

Deleting partitions from a partitioned directory

                  +------------------------------------+
                  |CALL  CDPURP (PATH,NKEEP,CHOPT,IRC*) |
                  +------------------------------------+
                                  

PATH
Character array specifying the path names of the directory tree to be purged.
NKEEP
Integer variable specifying the number of partitions to keep. Only the last NKEEP partitions will be kept.
CHOPT
Character variable specifying the options required.
IRC
Integer return code
0
Normal completion
69
Input directory is not partitioned
70
Error in deleting a partition
71
Illegal path name
73
RZOUT fails to write on disk
74
Error in RZRENK in updating key values for partitioned data set
75
Cannot find the Top directory name in pathname
77
FZOUT fails to write on to the sequential file

This routine can be used to delete partitions from a partitioned directory. Only the last NKEEP partitions will be kept.

Deleting multiple directory trees

                  +------------------------------------+
                  |CALL  CDKEEP (PATH,NPATH,CHOPT,IRC*) |
                  +------------------------------------+
                                  

PATH
Character array specifying the path names of the directory trees to be kept. All directory trees that are not in this list will be deleted.
NPATH
Integer variable specifying the number of path names in the character array PATH.
CHOPT
Character variable specifying the options required.
IRC
Integer return code
0
Normal completion
69
Input directory is not partitioned
70
Error in deleting a partition
71
Illegal path name
73
RZOUT fails to write on disk
74
Error in RZRENK in updating key values for partitioned data set
75
Cannot find the Top directory name in pathname
77
FZOUT fails to write on to the sequential file

This routine can be used to delete all bar the specified directory trees from a database.