rbldidx - rebuild RMS index file
rbldidx [-vx] [-t n] file [file...]
This command is for internal RMSfile maintenance only. It is run
only
by other C/Base commands. Use rmsck(C-1)
for general RMSfile repair.
Rbldidx rebuilds indices for a C/Base RMSfile.
The following flags are recognized by rbldidx:
-t Use a n byte table when rebuilding index. See the description
of
this flag in the OPERATION section below.
-v Displays progress information on standard output.
-x Rebuild index using external sort. See the description of this
flag in the OPERATION section below.
OPERATION
When rebuilding an index, rbldidx reads each data record, and builds
a
table in memory to hold the key values. When the table is filled,
it
is sorted, and then the keys are written (in order) to the RMS index
file.
If all the record keys will not fit in the table in memory, then
this
process is repeated until all the records have been read.
Filling the table and writing its sorted contents into the index
is called
a batch. Rbldidx uses a custom version of RMS that efficiently adds
record keys when they are in ascending order, and there are not
other
record keys already in the index. Rbldidx may run slower if many
batches
are necessary to process one index, as each batch must be merged
into
the batches already contained in the index.
There are two solutions available for this. By default, rbldidx
allocates
a table less than 32K bytes. The -t flag lets you set a much larger
table size, thus reducing the number of batches necessary. Because
of
processor restrictions, you cannot increase the batch size on Intel
8086
and 80286 processors.
The second solution is to use the -x flag. This does not use the
internal
memory table, but instead creates a text file containing the record
keys,
uses an external sort program to sort all the keys simultaneously,
and
then adds all the record keys in one batch.
Neither of these command line flags is required. Rbldidx will always
work properly without them. In fact, rbldidx will automatically
select
the -x flag if more than 10 batches are necessary to rebuild an
index.
Using these flags will speed up rbldidx when dealing with very large
RMSfiles.
When rbldidx has completed rebuilding all the RMSfiles, it displays
a
total of the number of RMSfiles with errors. If there are any files
with errors, the program also exits with a non-zero status.