Subject | Re: [firebird-support] CommitRetaining |
---|---|
Author | Helen Borrie |
Post date | 2004-10-28T01:09:03Z |
At 07:18 PM 27/10/2004 -0400, you wrote:
commit and roll back the same transaction.
CommitRetaining is "commit without cleanup". It was introduced by Borland
as a way to "dumb down" database development, enable "autocommit" with
InterBase and make it seem to Delphi users that they were using Paradox
(which doesn't know about transactions --- Post == Commit).
CommitRetaining has its "pluses" but it should be used with careful
attention to hard-committing at reasonable intervals, to avoid blowing RAM
on the server from having transactions for which no cleanup is possible.
Most Delphi data-access interfaces do AutoCommit/CommitRetaining by
default. You're going to have the crashing problems you have been
reporting as long as you don't take explicit control of transaction management.
./heLen
>"Call CommitRetaining to permanently store to the database server allOnce CommitRetaining is executed, the data are committed. You can't both
>updates, insertions, and deletions of data associated with the current
>transaction and then retain the transaction context."
>
>What does this mean? What happens on a rollback?
commit and roll back the same transaction.
CommitRetaining is "commit without cleanup". It was introduced by Borland
as a way to "dumb down" database development, enable "autocommit" with
InterBase and make it seem to Delphi users that they were using Paradox
(which doesn't know about transactions --- Post == Commit).
CommitRetaining has its "pluses" but it should be used with careful
attention to hard-committing at reasonable intervals, to avoid blowing RAM
on the server from having transactions for which no cleanup is possible.
Most Delphi data-access interfaces do AutoCommit/CommitRetaining by
default. You're going to have the crashing problems you have been
reporting as long as you don't take explicit control of transaction management.
./heLen