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.


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

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.