modulo 1....... Help (OpenInsight Specific)
At 30 AUG 2000 03:55:20PM Matt Bavis wrote:
I am looking at a file that has 9000+ records in it, but has a modulo of 1. Framesize is 2048, threshold is 80%, and sizelock is 0. No GFE's are reported on this file. I have tried copying the table into another table, but an Rlist statement will not return a list of keys. Copy_Row says it executes successfully, but nothing is copied. If I do a Select statement and then a readnext, I am not able to read any keys. Does anyone have any suggestions for me.
Matt Bavis
Electronic Registry Systems, Inc.
matt@ers-can.com
At 31 AUG 2000 01:08PM Don Miller - C3 Inc. wrote:
Matt ..
I had a similar problem a long time ago. The table was trashed such that the Modulo pointer was totally wrong. In this case, it was a huge number, although I think I saw a modulo 1 table with a bunch of records also.
Here's what I think I did, but I'm not sure:
I think in one case an R/BASIC select worked such that it returned @ID into a READNEXT statement. Read the record checking for STATUS() and wrote all good records into a temp workfile without a dictionary. Next, ran DUMPLH with the ALL option to fix the original. Got a bunch of records into the DUMP_FIX_GARBAGE file with the key at the head. Did an R/BASIC process there to recover the data from the GARBAGE file - select, readnext, figger out the key and strip it, the balance of @RECORD is the remainder, look to see if it's already there and write the fixed data if missing.
Of course you can always use OSBREAD with a record size equal to your frame size, traverse the frames to get the data and save it into a temp file.
At any rate, you'll need to recreate a new file and get whatever you can back into it. Be sure to do the DICT as well, but since they are in different REVnnnnn's the DICT is probably OK.
Good Luck
Don Miller