company logo

Repair consistency errors with OShell

For repairing consistency error for a specific index or instance, the OShell is most appropriate. It provides the fastest way of repairing, however, you have to navigate to the inconsistent location (instance or collection). After locating the critical location, one may call CheckData, which performs the most intensive check. When the error clearly indicates an index error (e.g. 0931), RepairIndex or RepairCollection is sufficient. Repairing an invalid key value in the index is done by calling RepairKey.

More details for calling the repair functions are described in the class reference for Property and Database.

When an index is inconsistent in a way that is not considered as physical inconsistency, i.e. missing keys or to many keys in the index, the index can be repaired calling RebuildIndex from the OShell. RebuildIndex only works, when the collection has at least one more index that is correct.

call OShell.exe OShell.ini

ODABA>cd SampleDB

cc 'Person::Persons'

loc 'P7'

cc children

CheckData

Notes:

Functions referenced above belong to the system API and are not member of odaba::Property, but PropertyHandle. Nevertheless, an OSI interface had been provided for those functions, too.