Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How does VFP Lock a record?
Message
De
20/07/2000 08:57:30
Jon Nelson
Trader Systems Limited
Reading, Royaume Uni
 
 
À
19/07/2000 07:18:32
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
00393703
Message ID:
00394840
Vues:
14
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform