|Subject||Re: [IBO] will timeout forceclosed end an OAT in active state?|
Thank you Helen for all the information. -Harriet
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@t...> wrote:
> At 03:10 PM 11/10/2005 +0000, you wrote:
> >will the TIBOdatabase timeout forceclosed property close a
> >transaction in an active state?
> Yes, as long as ForceClosed is greater than zero. A transaction is
> "active" if it is started but neither committed nor rolled back.
> help text for ForceClosed:
> "All datasets of this transaction will be closed as a result of
> action. If AutoCommit is set true, a transaction Close will attempt
> commit and if an exception is raised it will force a rollback."
> >We want to let IBObjects manage the transactions for us but we
> >want to leave the transaction open.
> Then don't use AutoCommit.
> >We're using TIBOQueries with implicit default transaction and a
> >we use a button to force a database->Commit and that does roll the
> >OAT over but doesn't end the transaction. The transaction sits in
> >state of "active".
> Calling Commit does force a hard commit on an Autocommit
transaction but it
> doesn't change the behaviour of Autocommit, i.e. to start a new
> as soon as the existing one is committed or rolled back.
> >How can we close the transaction when the app is just sitting
> Don't use Autocommit.
> >We're unhappy to use a timer because want to only measure time when
> >user is inactive.
> Can't comment on this because I don't understand it.
> >In our application we have many tabs with TMS DB string grids and
> >use TIBOQueries that have <default> for their IB_Transaction and
> >queries are pointing to a single TIBODatabase that has the default
> >for "DefaultTransaction" and
> >database.isolation = tiCommit
> >default properties for database.timeoutproperties
> The default for ForceClosed is 0.
> >query.pessimistic locking = false
> >query.commitAction = caInvalidateCursor
> >query.RequestLive = true
> The application will be "cold" when all datasets are closed (the
> following a ForceClosed). RequestLive applies only to open
> >We want the transaction to end but the data to remain visible in
> Then don't use Autocommit. You'll also have to remember that any
> in the buffers after the hard commit is invalid. When work resumes
> afterwards, the next Dataset.Open will refresh the buffers.
> >Do we have to use explicit TIBOTransaction and do manual commits
> >instead of using the TIBODatabase and have autocommit=true?
> No to the first, yes to the second. You handle the embedded
> just like any other transaction: its properties and methods are
> in the TIBODatabase.
> >What are the settings for the implicit <default> transaction that
> >TIBODatabase and TIBOQuery have?
> Queries don't "have transactions", other than in the context of the
> connection. Because you are using only the embedded transaction,
> only concerned with the defaults of that transaction. You can
> defaults by dropping a fresh TIBODatabase into a new project and
> the transaction-related properties.