Subject Re: [firebird-support] Firebird on Redhat Linux
Author Ann W. Harrison
sivahari33 wrote:
> We run Firebird on Redhat Linux platform. In some case a dead lock occurs while we try to update a record. But this dead lock is not happens always on the same table.

I think you may be using the term "dead lock" in a different
sense from the normal database usage. In transactional databases,
a deadlock is the result of two transactions trying to change
related pieces of data at the same time. For example transaction
1 updates record A, transaction 2 updates record B, then transaction
1 tries to update record B and transaction 2 tries to update record
A. Transaction 1 can't continue until transaction 2 finishes and
vice-versa. That's a deadlock. Firebird detects that the two
transactions are waiting for each other and returns an error to
one of them.

Firebird (like other MVCC systems) also produces a special case
of deadlock called an update conflict if a transaction tries to
update or delete a record that's been updated by a concurrent
transaction. The second transaction's update or delete fails.

These are normal errors that can be minimized by careful application
design. They're no more of a problem than errors caused by
inserting incorrect data. They have nothing to do with the version
of Firebird you're using.

What is the symptom of the "dead lock" you're seeing?