FilePro - was Re: Bye Bye $CO

FilePro - was Re: Bye Bye $CO

Post by Bill Vermilli » Mon, 12 Jul 1993 23:41:33





>>'guy across the hall here uses FilePRO and has been for some time (couple of
>>years). he sez that the only time it happened to him the problem was caused
>>by a logic error in his own code.

>Ah...well, I called FilePRO and after checking several things, he
>suggested I just rebuild the indexes.  That worked fine.  No more
>doubling.  
>Also figured out why you have like 5 records, but only one
>there...when you delete records, it just blanks out the data, and then
>reuses them next time you add.  *shrug*  works for me, i guess.

Well if you select by record number you will find an empty record.  But
if you search by index or other way you will not be shown the data.

FilePro keeps pointed information in a linked list.   When you delete a
record that record is marked as free to use and will not be displayed
when using any method other than a search by record number.

The records will be reused in the order in which they are removed,
similar in effect to the the way Unix manages it's free list.

By reusing the record the file size never grows to more than the
maximum number of records used.   And by re-using, you don't have the
problems that used to plague dBase programmers of having to pack the
database to get rid of empty records.  (I haven't been near dBase for
about 8-10 years - so if it's changed don't flame me.).

This method seems to perplex some people - and I wish at times there
was an option to keep the record number from being displayed at the
bottom of the screen.   In the lib directory under fp directory you can
run    freechain <filename> and it will set the pointer to use the
freed records in ascending order, much like the -s option to fsck.

--

 
 
 

FilePro - was Re: Bye Bye $CO

Post by Bill Vermilli » Wed, 14 Jul 1993 11:08:00


I said:

Quote:>FilePro keeps pointed information in a linked list.   When you delete a
>record that record is marked as free to use and will not be displayed
>when using any method other than a search by record number.
>The records will be reused in the order in which they are removed,
>similar in effect to the the way Unix manages it's free list.

That last statement contradicts itself.   I knew what I was
talking about but it surely doesn't look that way the way I
wrote it.     If you delete a record that will be the next one
used. I was thinking that when I typed.   But the order used is
the reverse of order deleted - last out first in.  Just like
the Unix free list.

Sorry for any confusion.

Bill

--


 
 
 

1. Bye Bye $CO


The older versions had a problem of corrupt indexes at times - and
while the records weren't doubled in reality, they appeared to be.
This can also happen when indexes are built on associated fields.  You
will display a record for as many instances of the associated field
occurance in each record.

There has been some discussion of this in the recent filePro mailing
list.   If the record is doubled it's usually a coding problem, if you
see a single record more than once - that is the same record displayed
multiple times - that can be an index problem, and since the actuall
problem code hasn't been posted to the list the feeling there was that
perhaps some process is modifying a field that is indexed.  And since
the indexes are dynamic that change appears immediately and will really
screw things up.  Again, that's a coding problem.

--

2. can a transaction block itself?

3. SQL Server went bye-bye after install / patch

4. How to change # of SQL Locks

5. bye-bye master

6. Excel address sort

7. Bye Bye

8. Serial ID in replication

9. Init went bye bye

10. Bye-bye mvBase and mvEnterprise

11. Announce: Altra release Micropoint Mouse Alternative, Kiss your Mouse Good-bye

12. Announce: Altra Releases Micropoint Mouse Alternative, Kiss your Mouse Good-bye