CRDB is a utility used to create and update PMDF database files. Syntax PMDF CRDB input-file-spec[,...] output-database-spec Command Qualifiers Defaults /APPEND /NOAPPEND /COUNT /COUNT /DELETE /NODELETE /DUMP See text /DUPLICATES /NODUPLICATES /EXCEPTION_FILE=file-spec /NOEXCEPTION_FILE /EXCLUDE=(suffix1[,...]) See text /FAST_LOAD /FAST_LOAD /HUGE_RECORDS /NOHUGE_RECORDS /LONG_RECORDS /NOLONG_RECORDS /QUOTED /NOQUOTED /REMOVE /NOREMOVE /SCRATCH_DISK=device-spec See text /STATISTICS /STATISTICS /STRIP_COLONS /NOSTRIP_COLONS /WRITE_CHECK /NOWRITE_CHECK
1 – Restrictions
None.
2 – Prompts
Input file: input-file-spec[,...] Output database: output-database-spec
3 – Parameters
input-file-spec[,...] A comma separated list of one or more text files containing the entries to be placed into the database. Each line of the text files must correspond to a single entry. All specified input files are read and merged into a single output database. output-database-spec The name of the database file to write the database to. This may be a new or existing database. If the /NOFAST_LOAD qualifier is specified and the database already exists no new database will be created; records will simply be added to the existing database.
4 – Description
CRDB is a utility to create and or update PMDF database files. CRDB simply converts a plain text file into PMDF database records and either builds a new database or updates the records in an existing database. In general, each line of the input file must consist of a left hand side and a right hand side. The two sides are separated by one or more spaces or tabs. The left hand side is limited to 32 characters in a short database (the default variety), 80 characters in a long database, or 252 characters in a huge database. The right hand side is limited to 80 characters in a short database, 256 characters in a long database, or 1024 characters in a huge database. Spaces and tabs may not appear in the left hand side (but see the description of the /QUOTED qualifier below). The format of the input files is described in the PMDF System Manager's Guide.
5 – Command Qualifiers
5.1 /APPEND
/APPEND /NOAPPEND (default) If /APPEND is specified, the database is loaded with RMS $PUT operations. If the database already exists it will be appended to; if not, a new database will be created. Duplicate keys (left hand sides) will replace existing entries in databases created with /NODUPLICATE, so the last occurrence of a given key will be the one that is used. /NOAPPEND is a synonym for for /FAST_LOAD.
5.2 /COUNT
/COUNT (default) /NOCOUNT Controls whether or not a count is output after each group of 100 input lines are processed. This qualifier only applies if /APPEND is in effect; it is ignored in /FAST_LOAD mode.
5.3 /DELETE
/DELETE /NODELETE (default) If /DELETE is specified, the given entries are deleted from the database. The input file should contain one key value per line for the entries to delete. The data portion of the line is ignored. If the database was created with /DUPLICATE, for multiple entries with the same key value, only the first entry is deleted.
5.4 /DUMP
PMDF CRDB/DUMP is a synonym for PMDF DUMPDB. It is used to cause PMDF CRDB to dump an existing database to a flat text file-or to SYS$OUTPUT if no output file is specified. When /DUMP is specified, the parameters to PMDF CRDB are interpreted as the input database specification, and optionally a flat text file to which to write the output. No other qualifiers are valid when /DUMP is specified.
5.5 /DUPLICATES
/DUPLICATES /NODUPLICATES (default) Controls whether or not duplicate records are allowed in the output file. Currently duplicate records are of use only in the domain databases (rewrite rule databases) and databases associated with the directory channel.
5.6 /EXCEPTION_FILE
/EXCEPTION_FILE=file-spec /NOEXCEPTION_FILE CRDB may encounter records that cannot be loaded into the database. This usually means that in /FAST_LOAD mode these records had keys (left hand sides) that were duplicates of other keys previously encountered in the input file. When /FAST_LOAD is used (the default), these exception records can optionally be written to a separate output file for later examination. The /EXCEPTIONS_FILE qualifier controls the writing of this file. Note that the lines in this file are not plain text; they are formatted as database entries.
5.7 /EXCLUDE
/EXCLUDE=(suffix[,...]) Any left-hand side entries ending with the string suffix will be excluded from the database. By default no entries are omitted.
5.8 /FAST_LOAD
/FAST_LOAD (default) /NOFAST_LOAD This qualifier controls whether or not the fast load algorithm is used. If /FAST_LOAD is specified, callable CONVERT is used to build the database. A new database is always created. If records with duplicate keys (left hand sides) are encountered in the input stream and /NODUPLICATE is in effect, the specific occurrence that will be used is unpredictable. /NOFAST_LOAD is a synonym for for /APPEND.
5.9 /LONG_RECORDS
/LONG_RECORDS /NOLONG_RECORDS (default) /HUGE_RECORDS /NOHUGE_RECORDS These qualifiers control the size of the output records. By default left hand sides are limited to 32 characters and right hand sides are limited to 80 characters. If /LONG_RECORDS is specified the limits are changed to 80 and 256, respectively. If /HUGE_RECORDS is specified the limits are changed to 252 and 1024 characters, respectively. Currently, /HUGE_RECORDS databases are supported only for the alias database.
5.10 /QUOTED
/QUOTED /NOQUOTED (default) This qualifier controls the handling of quotes. Normally CRDB pays no particular attention to double quotes. If /QUOTED is specified, CRDB matches up double quotes in the process of determining the break between the left and right hand sides of each input line. Spaces and tabs are then allowed in the left hand side if they are within a matching pair of quotes. This is useful for certain kinds of databases, where spaces may form a part of the database keys. Note: The quotes are not removed unless the /REMOVE qualifier is also specified.
5.11 /REMOVE
/REMOVE /NOREMOVE (default) This qualifier controls the removal of quotes. If CRDB is instructed to pay attention to quotes, the quotes are normally retained. If /REMOVE is specified, CRDB removes the outermost set of quotes from the left hand side of each input line. Spaces and tabs are then allowed in the left hand side if they are within a matching pair of quotes. This is useful for certain kinds of databases, where spaces may form a part of the database keys. Note: /REMOVE is ignored if /QUOTED is not in effect.
5.12 /SCRATCH_DISK
/SCRATCH_DISK=device-spec CRDB uses one or two temporary scratch files to build the database if /FAST_LOAD is used (the default). The /SCRATCH_DISK qualifier can be used to specify the device on which these files are created. It may be useful to place these files in a specific place, either to improve performance or to get around protection and quota limitations. If /SCRATCH_DISK is not specified, the temporary files will be created on the disk specified by PMDF_SCRATCH. If PMDF_SCRATCH is not defined, the temporary files will be created on the disk specified by SYS$SCRATCH. If SYS$SCRATCH is not defined, the temporary files will be created on whatever disk the current default directory is on.
5.13 /STATISTICS
/STATISTICS (default) /NOSTATISTICS Controls whether or not some simple statistics are output by CRDB, including number of entries (lines) converted, number of exceptions (usually duplicate records) detected, and number of entries that could not be converted because they were too long to fit in the output database. /NOSTATISTICS suppresses output of this information.
5.14 /STRIP_COLONS
/STRIP_COLONS /NOSTRIP_COLONS (default) The /STRIP_COLONS qualifier instructs CRDB to strip a trailing colon from the right end of the left hand side of each line it reads from the input file. This is useful for turning former alias file entries into an alias database.
5.15 /WRITE_CHECK
/WRITE_CHECK /NOWRITE_CHECK (default) Controls whether or not RMS write checking is enabled on the output database. This only applies to /FAST_LOAD mode; this qualifier is ignored otherwise.
6 – Examples
The following commands may be used to create an alias database with "long" record entries; note that the creation is performed in a two-step process using a temporary database to minimize any window of time, such as during database generation, when the database would be locked and inaccessible to PMDF: $ PMDF CRDB/LONG_RECORDS PMDF_TABLE:aliases.txt aliases.tmp $ RENAME aliases.tmp PMDF_ALIAS_DATABASE