>I believe that Insert-Sql locks the header of the table inserted and the record locks any aliased table. Is it possible that foxpro locks what it can and waits for locks on the rest? In this case two users would wait forever if one had one of the tables locked and another had one or more of the tables locked. I make it a practice to save all aliased fields to memory variables and then do the insert. That way I am only locking one table or record and the infinite wait is not possible. I ran a test:
>
>select 0
>use MyTable
>do while .t.
> insert into MyTable(field) values(value)
>enddo
>
>I ran this in two instances of vfp with reprocess set to 2 and never had a problem
Well, I don't think this will help in my case. Because, as mentioned, even one single INSERT INTO command can lock forever if it fail. So, even having a loop will not make it work.
I think this is a bug in Visual FoxPro. Only some users have had this behavior so far. It might be related to not all the applications may have the chance of collisions.