I once heard or read somewhere that DF used a technique to avoid DeadLocks, by locking the tables in a fixed ordering... maybe the filelist ordering, or some other else. Whatever order it is, the same order was followed by every single program, so this would avoid the famous Deadlocks to happen on embedded db (dat tables) , and would also help to avoid them as much as possible when using SQL drivers.

Is this statement really true ? If yes, is it documented somewhere in the help. I confess I have been searching for it for the last couple of days, but I was not able to find it.. The best I could find was this small sentence..

There are deadlock avoidance strategies. The native DataFlex database uses one of these strategies
I don't recall if I read this kind of conversation here in the forum, or if I ever read it in the official docs.

Can DAW please confirm this ?

Was this true in the past, but not anymore ?


Is it true when using embedded db (dat) only, but not true when using SQL drivers ? I don't think the behavior would be different if using or not sql drivers.

I am trying to assist in a deadlock situation here, and it's clear from the database logs that this "fixed lock ordering", is not happening...

Application 1, locks table A, then Table B,
Application 2, locks Table B first, then table A.