Subject Re: [IBO] Database growth
Author Mark Irving
No joy. I'm only running simple thread using the main thread datamodule at
the moment to keep things simple. I have a TIB_SessionsProps component with
Timerinterval set to 5000 and ForceClose set to 120s in the transaction
component. I still see the OAT stuck at a starting value and the database
growing continuously.

Not sure how I would explicitly close all transactions myself as the
internal query happens during the first of my selects. I suppose I could add
a dummy select on server start up and have a timer event wait then close all
transactions and hope no user has logged in during the start up but that
feels a real kludge. I don't really want to change the IBO code but that
feels a lesser evil at the moment to get me working.

There is a reference in the Timerinternal property that not setting a value
will cause a cached schema problem (ie the problem I've got) but setting it
hasn't fixed it. It also talks about problems in multiple threads and having
to fire the timer event manually which is a bridge I will have to cross once
I get single thread mode working. If I'm stuck in a simple thread model I
might as well continue with IBX at present. Still confused why any internal
query which is created, does a select and is freed should cause such
problems.


----- Original Message -----
From: "Geoff Worboys" <geoff@...>
To: "Mark Irving" <IBObjects@...>
Sent: Sunday, May 12, 2002 10:46 AM
Subject: Re: [IBO] Database growth


> > the hell of it I add a exit to the get schema call deep within IBO
> > to stop that SELECT happening and now my app increments the
> > transaction IDs and the database growth is stopped!
>
> Drop a TIB_SessionProps component onto your mainform. Check the
> TimerInterval property - make sure it is not zero! If it is zero set
> it to 2000 or 5000 in order to activate transaction automation.
>
> This should solve your immediate problem - as the timer will set off
> automatic checking of transactions and the internal transaction will
> get stopped after 2 - 5 minutes.
>
>
> Mind you I am a little puzzled by the fact that the internal
> transaction is staying started anyway (and I can see that happen here
> when TimerInterval is set to zero). It is set to AutoCommit and
> statements are active - so it seems to me that it should not need to
> be stopped by the automation anyway. I will investigate this further.
>