Subject | [IBO] OAT |
---|---|
Author | Paul Hope |
Post date | 2004-01-12T14:56:08Z |
Hi
I suspect I have OAT problems and would appreciate some help as to where to look.
This is an extract from DB Stats
Oldest transaction 983067
Oldest active 983068
Oldest snapshot 983067
Next transaction 1752712
If this is OK then I can stop worrying, however I think it means that there are some 770,000 transactions active - which doesnt sound reasonable :-(
The default transaction is set to AutoCommit and ReadCommitted. This is used by
- All read transactions
- All trivial single update transactions
All multiple updates use their own IB_Transaction (not AutoCommit, ReadCommitted) and the code contains a StartTransaction and Commit/Rollback in a try/except block. There is never any oportunity for the user to hold up the process between the two.
Forms that do not use data aware components are loaded using an IB_Cursor with everything as default except for the IB_Connection and the SQL. I will call First, read the data to EOF, then probably leave the IB_Cursor and let it be destroyed with the form.
Forms that do use data aware controls use the IB_Query with update SQL and the default transaction. Some of these use grids, and some of those are master detail connected to potentially large tables. Sometimes the forms have their own AutoCommit transaction object.
Any suggestions as to how I go about sorting this would be greatly appreciated.
( IB 5.6, D6, IBO4.2Ie)
Regards
Paul
[Non-text portions of this message have been removed]
I suspect I have OAT problems and would appreciate some help as to where to look.
This is an extract from DB Stats
Oldest transaction 983067
Oldest active 983068
Oldest snapshot 983067
Next transaction 1752712
If this is OK then I can stop worrying, however I think it means that there are some 770,000 transactions active - which doesnt sound reasonable :-(
The default transaction is set to AutoCommit and ReadCommitted. This is used by
- All read transactions
- All trivial single update transactions
All multiple updates use their own IB_Transaction (not AutoCommit, ReadCommitted) and the code contains a StartTransaction and Commit/Rollback in a try/except block. There is never any oportunity for the user to hold up the process between the two.
Forms that do not use data aware components are loaded using an IB_Cursor with everything as default except for the IB_Connection and the SQL. I will call First, read the data to EOF, then probably leave the IB_Cursor and let it be destroyed with the form.
Forms that do use data aware controls use the IB_Query with update SQL and the default transaction. Some of these use grids, and some of those are master detail connected to potentially large tables. Sometimes the forms have their own AutoCommit transaction object.
Any suggestions as to how I go about sorting this would be greatly appreciated.
( IB 5.6, D6, IBO4.2Ie)
Regards
Paul
[Non-text portions of this message have been removed]