Product Documentation

c-treeACE V10.0 Update Guide

Previous Topic

Next Topic

Handling of SDAT_ERR (445) When Rebuilding Files

The index rebuild function RBLIFIL() now supports deleting records whose key formation fails with error SDAT_ERR (445, Not enough data to assemble key value). This situation is not expected; however, it can happen if the data file is damaged. To use this feature, include the constant purgeIFIL in the tfilno member of the IFIL structure you pass to RBLIFIL(). This option forces records having illegal duplicate key values to be deleted by the rebuild function (existing behavior) and also records whose key formation fails with SDAT_ERR are deleted. The following message is then logged to CTSTATUS.FCS for each record that is marked deleted due to error SDAT_ERR:

Rebuild marked record at offset <offset> deleted due to error 445

The index rebuild utility, ctrbldif, uses the -purge option to enable this behavior.

TOCIndex