Subject | ERRCODE = 100 & dangling transaction. |
---|---|
Author | tickerboo2002 <support@tickerboo.com> |
Post date | 2003-02-21T13:15:31Z |
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
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