free records vs deleted records

Kenneth Brody kenbrody at spamcop.net
Fri Aug 2 20:10:23 PDT 2013


On 8/2/2013 6:43 PM, Fairlight wrote:
> Assume one does a lookup for a free record, and it succeeds.  Further
> assume that one does not ever issue a "write lookupname" command.

Okay.

> Does the record actually get written by default, even with blank records?

If no WRITE is ever executed(*), then the record will be written when (1) 
processing ends, or (2) that lookup (or one with the same alias) is 
executed.  If nothing was ever assigned to any field in that record, is will 
be written with all blank fields.  Otherwise, whatever fields were assigned 
to will be written with the value(s) assigned.

(*) Or a WRITE was executed, but the record was modified since that WRITE.

> I see blank ones showing up in the keys, but I'm unsure as to how to find
> out if it's considered "taken/used", or flagged as "deleted" and available
> for reuse in the freechain.

If you found it by any method other than record number, or if it shows up in 
a browse (even by record number), then it must be a used record.  However, 
if you are seeing a "blank" record on a screen in *clerk, it might be a 
blank used record, or a deleted/free record.  In that case, you can always 
show @CD on the screen, as it will be blank on a deleted/free record, and 
set on any used record, even if every field in that record is blank.

> I'd appreciate insight into this vagary.  Thanks!

FYI - There is no difference between a "free" record and a "deleted" record, 
as deleting a record places it back on the freechain.

-- 
Kenneth Brody


More information about the Filepro-list mailing list