LH_Verify
Published By | Date | Version | Knowledge Level | Keywords |
---|---|---|---|---|
Sprezzatura Ltd | 01 APR 1991 | 2.1+ | EXPERT | LH_VERIFY, LH_VERIFY_DATA, LH_GROUP_DATA, LH_ALL, GFE |
One of the new features promised in 2.1 is a routine to permit the user to test linear hash files and verify them to be structurally sound. Afficionados of the Upgrade Report produced by the AREV INSTALL process will be aware that the rudiments of this routine were introduced several months ago in the form of several new VERBS entries and a couple of COMMANDS entries.
This article documents how to use these features for users who wish to have the functionality without paying for the 2.1 upgrade. Note that the features documented herein are subject to change by RevTech in the official 2.1 release.
What is LH_VERIFY?
LH_VERIFY is a routine that runs through a nominated volume, a set of files on a volume or just a set of files then analyses the file itself and the individual records within it. It looks at amount of space taken, amount of primary and overflow space used, average disk access times and percentage utilisations (with Standard Deviations). It calculates results data for these checks and stores them in a temporary file (LH_VERIFY_DATA) which is then used to view the results. It also checks for (but doesn't fix) GFEs. In the production version it will make recommendations based around the analysis of the file such as "DUMP the file and ^R to clear the overflow space".
Running LH_VERIFY normally clears down the LH_VERIFY_DATA file although there are options to prevent this. LH_VERIFY can be run in create mode (scan the file, create the results records then exit), create and report mode (scan the file, create the results records then report in one of a number of ways) or just report mode (report in one of a number of ways). The options are controlled at TCL by standard command line modifiers.
Setting up for LH_VERIFY
LH_VERIFY will not run if certain files are absent. Therefore the following files should be created.
LH_VERIFY_DATA LH_GROUP_DATA
When creating these files from scratch it should be noted that they will lack dictionary items required by the window (COMMANDS LH_ALL) used by LH_VERIFY. As the window contains all of the information required for the dictionary items (excepting symbolics) this can be rectified by taking the following steps.
At TCL, PAINT COMMANDS LH_ALL
F10, More, Update, Select prompts to update dictionary. Automatically update each field.
Select all prompts then F9. Accept Date as the key field.
The system will then create all the F type fields in LH_VERIFY_DATA that are required. It will not create the symbolics but indications from Beta testers are that the symbolics are not yet particularly useful.
Invoking LH_VERIFY From TCL
To invoke the verification routine the following syntax should be used
:LH_VERIFY {volume} {file_list{*account}} {options}
If a volume is specified on its own, all files on that volume will be processed. If a file (or files) is (are) specified then just that file (files) will be processed. Files may be qualified by volume. Note that files in another account may be verified by use of the syntax LH_VERIFY VOLUME FILE*ACCOUNT EG
LH_VERIFY DATAVOL BP*SYSPROG
The options to LH_VERIFY can be mixed and matched as with all TCL commands. The options thus far observed have been
(E) | Suppress fatal system errors |
(O) | Produce list report of GFES. (Fails on pre 2.1 because of lack of symbolics). |
(P) | Produce Form to printer based on LH_ALL |
(PO) | Produce list report of GFES to printer. (Fails on pre 2.1 because of lack of symbolics). |
(S) | Suppress system messages |
(T) | Display window containing results of latest LH_VERIFY operation |
(X) | If there are no file names present on the command line establishes a browse list for all records currently in the LH_VERIFY_DATA file with the LH_ALL window. If file names exist, the details of these are read from LH_VERIFY_DATA and put into a browse list for examination. |
Note that the X option does not CLEARFILE on the DATA and GROUP files unlike all of the other options.
Caveat
The version of LH_VERIFY in releases prior to 2.1 is incomplete. This obviously means that it is not a supported product. I have used it several times on my standalone machine with absolutely no problems. However a colleague on Compuserve writes as follows.
"I have a report out here from ….. that LHV trashed the LH verify data file when he ran it on mult workstations, each against a volume. The data files checked ok."
(Volume 2, Issue 10, Pages 6,7)