RBLDIDX C-1





Copyright (C) 1994-95 Conetic Software Systems, Inc. All names, products, and services mentioned are the trademarks of their respective organizations.



NAME


rbldidx - rebuild RMS index file

SYNOPSIS


rbldidx [-vx] [-t n] file [file...]

DESCRIPTION


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.

SEE ALSO

rmsck(C-1).