Subject ERRCODE = 100 & dangling transaction.
Author tickerboo2002 <support@tickerboo.com>
Hello

Whilst investigating some deadlocks I decided to use the
TIB_StatusDialog.

After opening and closing one of my forms, a transaction remains
active.

The form contains one main query and 5 other queries for populating
TIB_Lookupcombos, all of which use the same IB_Connection and
IB_Transaction. After further investigation and commenting out code,
it appears that one of the (lookup) queries is leaving a transaction
open. This transaction is not the transaction on the form, but my
main connection's internal transaction.

The dodgy lookup query is very simple:

select * from mytable

mytable consists of:

ID int
mytext varchar(32)

and contains about 6 entries

When watching this executing in the TIB_MonitorDialog, a see a number
of 'ERRCODE = 100' entries (other lookup queries do not get this) and
then there are some statements querying RDB$RELATION_FIELDS,
RDB$FIELDS tables, which uses a different transaction (the dangling
active transaction?).

After closing the form, watching the active transaction in the
TIB_StatusDialog shows the 'Time Active' value increasing, but the
State value is inactive ! After about 2mins the OAT returns to zero.

Curiously, the next time I display the dialog, a transaction does NOT
remain active.

Throughout this, my form performs as required. Can anyone shed any
light on why this one query should leave a dangling transaction?

TIA

David