VCursor lock question

Joseph Morgan joseph at checkos.com
Sat Oct 5 07:03:59 CDT 2013


Hi if you are using vserver, shouldn't vserver lock the records for you automatically? 

> On Oct 5, 2013, at 1:59 AM, François Van Lerberghe     <frvanlerberghe at gmail.com> wrote:
> 
> Hello,
> 
> I have a procedure 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 procedure, I call another procedure to update a few
> records (50) of that same table. This update is in another procedure 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 procedure 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
> 
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina


More information about the Valentina mailing list