Icon View Incident Report

Serious Serious
Reported By: Steve Baker
Reported On: 9/23/2008
For: Version 4.26 Build 3
# 2833 VerifyTable Not Reporting Text Index Corruption Properly

I have run in to a couple of problems where a table has some corruption, but VerifyTable returns TRUE, even though the problems are identified and reported in the log file. The reported error can be fixed by the repairtable function. The problem though is that VerifyTable does not return false, even though it has found a problem and reported it in the log file. If you depend on the return value of VerifyTable to then run RepairTable, you will never repair the table because the return value of VerifyTable is not correct. This can be duplicated in code, and also using the Database System Utility.

Example:

VerifyTable returned TRUE after verifiying the following table, yet reported corruption in the log file:

Verification of table TempSkeds started at 09/23/08 3:20:57 PM
Invalid or corrupt text indexing parameters in index
Verification of table TempSkeds completed at 09/23/08 3:20:57 PM

If Repairtable is run on this database, the following report is generated in the log file:

Repair of table TempSkeds started at 9/23/2008 3:39:04 PM...
Invalid or corrupt text indexing parameters in index, error fixed...
Indexes do not match record data and are invalid, starting to fix indexes...
Invalid indexes fixed...
Repair of table TempSkeds completed at 9/23/2008 3:39:04 PM...

This means we can't rely on VerifyTable. The only work around I can think of is to run repairtable on every table every time we open it. All our options currently in the distributed applications rely on VerifyTable, so I have no way for force RepairTable to run if VerifyTable does not return false.


Resolution Resolution
Fixed Problem on 9/26/2008 in version 4.27 build 1


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM CLX Client-Server
DBISAM CLX Client-Server with Source
DBISAM CLX Standard
DBISAM CLX Standard with Source
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image