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