VCursor lock question - 2d try
Fran=?ISO-8859-1?B?5w==?=ois Van Lerberghe
frvanlerberghe at gmail.com
Tue Oct 8 11:38:08 CDT 2013
As nobody answer my question, let me post it again :
I have a function (RealBasic/Xojo method) where I update every record of a
table (5000 records). In order to do that, I make a VCursor with
EVLokType.kReadWrite on the whole table.
At the end of this function , I call another function to update a few
records (50) of that same table. This update is in another function because
it is called by some other places of the project. How must I deal with the
records locking in this second Vcusor using the same table, but not the same
records ?
1) If I nil the first Vcursor (locking the whole table) before create the
second, locking the needed records, I have a risk (very low I know, but that
exist) that, just before I create my second Vcursor, another user lock some
records of that table, reading or writing incorrect data and stopping me to
complete the work.
2) Must I keep the first Vcursor ensuring that nobody can modify the table
and create the second with kNoLock ? Is it safe to update the records in
this second Vcursor ?
3) I see a third option : Keeping the first cursor. I pass this Vcursor as
parameter to iterate, test each record and update the records that meet some
condition. I don't like this option as
- I prefer sending a second SQL query to retrieve the needed records rather
than iterate and test each record
- this second function is called by some other places of the project
I prefer the second option if it is safe. Could you be kind enough to give
me your advice on this ?
François Van Lerberghe
Rue Thier Monty, 15 A
4570 Marchin
Belgium
More information about the Valentina
mailing list