Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 4 of 4 total |
Verifytable is not reliable |
Tue, Sep 23 2008 5:06 PM | Permanent Link |
Steve Baker | Hello...
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. |
Tue, Sep 23 2008 5:12 PM | Permanent Link |
Steve Baker | Version 4.26 (4.26 Build 3)
|
Wed, Sep 24 2008 7:03 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Steve,
<< 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. >> I've corrected this for the 4.27 release of DBISAM, which should be available in a week or so. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Sep 24 2008 7:31 PM | Permanent Link |
Steve Baker | Thanks Tim
/steve >>I've corrected this for the 4.27 release of DBISAM, which should be >>available in a week or so. |
This web page was last updated on Wednesday, April 17, 2024 at 10:35 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |