Overview
The RootSchema provides the JADE Logical Certifier diagnostic utility, which performs various database consistency checks, particularly the validation of inverse references and collections. You can check the referential integrity of user data and the user meta schema definition.
The logical certification process analyzes each class in a schema and performs various cross-checks on each instance, to verify its logical integrity.
Certify your schemas in production systems regularly as data is updated, so that any problems can be detected as soon as possible. (You can certify schemas in a development environment less frequently, as data is generally more stable.)
Certify meta data in:
-
Production systems occasionally, especially following the deployment of schema changes.
-
Your development environment regularly, especially during the development phase. The development environment in which meta data is certified must be a stable system (that is, one in which no structural changes are being made).
Although you could certify meta data in a backed up version of your JADE development environment, any fixes that are required apply only to a system in the same structural state.
You should check the meta-structure of schemas only when schemas are not versioned and you are running in single user mode. If entities are versioned, only the current version is checked for integrity.
You should use the JADE Logical Certifier utility in addition to the Certify Files command in the JADE Database utility, which checks the physical integrity of your database files.
Any errors that are detected are reported in the _logcert.err file in the specified output log directory.
If you want to perform an online repair of a collection while it is concurrently updated, call the
When there are a relatively small number of entries to be repaired in a large collection, the Application class repairCollection method, designed to be invoked online, is significantly faster than Collection::rebuild method used by the JADE Logical Certifier utility.
Use the Application::repairCollection method only when you know that the collection is structurally sound and that only the entries in that collection are invalid. You can obtain an indication of the structural integrity of the collection by iterating the collection and counting entries. If the iteration completes without encountering an exception and the number of entries is equal to the value of the
Because the repair is done by a background process, you can use the repairCollection method only with committed persistent or shared transient collections.
The JADE Logical Certifier:
-
Writes meta data certification output to _metacert.* files, except for the fix file, which is output as _logcert.fix.
-
Appends output to the _logcert.log file and the _repair.log file, rather than overwriting them.
-
Uses the JadeLog directory instance as the default value of the Log File Directory text box on the Jade Logical Certifier dialog.