[RECORD NAME IS
{ALL[ EXCEPT recordname-1,...] |
recordname-2,...}
[{WITH | WITHOUT}
{LOCATION CHECK | KEYVALUE CHECK}]
]
recordname
Name of a record type of the specified schema;
recordname must be located within the specified realm or realms.
ALL
BCHECK checks all record types of the named schema which are contained in the realms to be checked.
ALL EXCEPT recordname-1,...
Same meaning as for ALL; however, BCHECK excludes the listed record types from the check.
recordname-2,...
Names of the record types - listed individually which BCHECK is to check.
WITH LOCATION CHECK
BCHECK also checks all management structures associated with the storage of a record type, i.e. in the DBTT the references to the records. No key value check takes place.
BCHECK checks for record types defined with LOCATION MODE IS CALC:
- the results of hashing (for primary pages and first overflow pages only)
- the chaining of overflow pages
- the internal structure of the CALC tables and
- the references in the CALC table entries to the records
WITH KEYVALUE CHECK
BCHECK also checks all key fields of a record which occur in any access path.
WITH KEYVALUE CHECK also includes the functionality of WITH LOCATION CHECK.
WITH KEYVALUE CHECK is the default value as of UDS/SQL V2.6.
WITHOUT LOCATION CHECK
BCHECK only checks local information on record types, i.e. it checks whether the record addresses in the DBTT are plausible and whether the record lengths match the entries in the SIA, but it does not generate any check records.
WITHOUT KEYVALUE CHECK
This clause is not permitted.
The RECORD statement specifies for BCHECK the record types to be checked. The statement may be specified as often as desired in any position after the control statements. BCHECK ignores duplicate entries.
Information on CALC keys:
If two or more CALC keys with the same key length exist in a realm (indirect CALC keys or CALC search keys), BCHECK cannot carry out a global check on them unless all CALC keys in this realm have been specified with this key length.
If such a key is selected for checking, BCHECK refuses to perform a global check on it but carries out a local check for the hash area concerned. Since for this local check BCHECK uses all those CALC pages which contain CALC keys of the same length as the CALC keys to be checked, it may be the case that BCHECK will report local consistency errors in CALC pages which do not belong to any of the CALC keys specified.
The key value check of indirect CALC tables for consistency criterion 9 can generally also not be performed for a specified record type. To prevent alleged inconsistencies being flagged in a consistent database - in particular in summing mode - you are recommended to always include all record types in the check.
In a sort check it is generally not possible to pinpoint consistency errors in CALC keys. BCHECK is only able to determine which realm they are in, the RSQ, and the key length.
The occurrence of illegal duplicates of a CALC key in various pages of a hash overflow chain cannot be determined by BCHECK.
Information on the key value check:
Missing SET or KEY clauses containing a member record type which is to be checked lead to the check for the access path concerned not being performed, and in particular also to a required key value check not being performed.
In order to position key fields in a record, BCHECK needs a subschema which contains the complete record type concerned or member record type concerned, including the set.
If key values for a record type which do not occur in any subschema are to be checked, a warning is issued and the check in the record types concerned is then performed without a key value check.
The metadata for key value checking is always generated for all record types. As a result, the warning may also be issued when one of the record types is not to be checked.
Information on distributable lists:
When an indirect CALC key or a CALC search key which belongs to a distributable list is checked, all realms in which the records of the associated member set type can reside must always be specified.