Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How does VFP Lock a record?
Message
From
20/07/2000 08:57:30
Jon Nelson
Trader Systems Limited
Reading, United Kingdom
 
 
To
19/07/2000 07:18:32
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00393703
Message ID:
00394840
Views:
16
I've tried testing this theory - by creating a table with a single field and then doing a hex dump of the file with and without a RLOCK - but the results indicate that neither the table header nor the extra byte in the record are used for locking purposes...



>>>>Does anyone know what VFP is doing at the OS level when an RLOCK is issued?
>>>>
>>>>I've been trying to find an answer to the question "Who has locked this record" in a multi-user NT based system so that I can monitor the locks.
>>>
>>>That may be a tough one to do in that way, you're looking more at SQL Server type of DB for that. However, I have done this sort of thing in vfp in a home-made way - when a user locks a record, you can write username and PK (and table if necessary) to a tracking-table on server, not difficult to do.
>>Bruce,
>>
>>Thanks - I've already implemented a tracking table method with a wrapper to RLOCK and UNLOCK - but I am still interested in finding out how the OS handles lock as it would potentially enable implicit and explicit locks to be monitored
>>
>>Cheers
>>
>>
>>Jon Nelson
>>
>
>As far as I know there is a bit in each record that indicates whether it is locked or not. As you know, with a record that contains e.g. 99 bytes of data, 100 bytes are used for the record. The extra byte is used for indicating whether it is deleted or not, and I think also for the lock status.
>
>You could check out the description of the file formats that comes with VFP (at least, with the development edition). Maybe it's in there.
>
>There's also a byte or bit in the table's header to indicate whether the table is locked (I think).
>
>Marc
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform