Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
TableUpdate within transaction
Message
From
08/12/2005 19:19:07
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01076280
Message ID:
01076462
Views:
24
>>>>>>Thanks, Aleksey. In other words we need to use this setting for TABLEVALIDATE in our application if we want to be able to open the files.
>>>>>>
>>>>>Yes, you need to combine 4 with whatever setting you are using now, SET TABLEVALIDATE TO 4 will disable all validations and is equivalent to SET TABLEVALIDATE TO 0 in that sense.
>>>>
>>>>I think we're using VFP default now.
>>>>>
>>>>>
>>>>>>The records still may be locked, right? But only the records that were updated, not all the records in the file. Am I right here?
>>>>>>
>>>>>VFP may choose to lock the file rather than locking individual records, it all depends.
>>>>>
>>>>
>>>>Depends on what? We're inserting new records into several tables.
>>>
>>>One difference would be APPEND, which I understand locks the header for the duration of the append. I guess that would extend to the end of a transaction if transactions are involved.
>>
>>Jim,
>>the answer of Aleksey is ambiguous, because "lock the File" = FLOCK() allow the other process to
>>open the table, but every write operation is impossible until the END TRAN/ROLLBACK is done.
>>
>>But I don't believe that VFP does this,
>>I think that VFP do a RLOCK() for every written record
>>and a RLOCK(0) if some records it is append.
>>
>>In every way, Naomi has never clarified if the other process
>>that has to open the table has to write or no.
>
>The other process may need to write to the records, but not the same that were just inserted. But first is has to open some of the tables to view the data.

Then it work, she forces your colleague to correctly make the things.

To understand the buffering,locking and transaction:

If imposes Buffering=4,
then BEGIN TRAN + TABLEUPDATE() it doesn't create some locks
because the locks have already been created by the buffer.
Previous
Reply
Map
View

Click here to load this message in the networking platform