UltraLite checksum_level creation parameter

Sets the level of checksum validation for the database.

Syntax
{ ulcreate | ulinit | ulload } -o checksum_level=value;...
Allowed values

0, 1, 2

Default

0

Remarks

Checksums are used to detect offline corruption on pages stored to disk, flash, or memory, which can help reduce the chances of other data being corrupted as the result of a bad critical page. Depending on the level you choose, UltraLite calculates and records a checksum for each database page before it writes the page to storage.

If the calculated checksum does not match the stored checksum for a page read from storage, the page has been modified or became corrupted during the storage/retrieval of the page. If a checksum validation fails, when the database loads a page, UltraLite stops the database and reports a fatal error. This error cannot be corrected; you must re-create your UltraLite database and report the database failure to iAnywhere.

If you unload and reload an UltraLite database with checksums enabled, the checksum level is preserved and restored.

The following values are supported for the checksum_level:

  • 0   Do not add checksums to database pages.

  • 1   Add checksums to important database pages, such as indexes and synchronization status pages, but not row pages.

  • 2   Add checksums to all database pages.

From Sybase Central, you can configure the use of checksums in any wizard that creates a database. On the New Database Storage Settings page, select the Checksum Level For Database Pages option.

From a client application, set this parameter as one of the creation parameters for the create database method on the database manager class.

See also