Subject | Re: [firebird-support] Re: Performance when deleting a lot of records, again |
---|---|
Author | Helen Borrie |
Post date | 2005-04-07T13:26:21Z |
> > >At 02:50 PM 7/04/2005 +0200, Martijn "You can buy me with chocolate" Tonies
> > >autocommit is often referred to as commit retaining.
> >
> > No. Autocommit works in different ways in different
> > implementations. Delphi happens to use CommitRetaining when it does its
> > "client-side autocommit".
wrote:
>Actually, not Delphi... But I guess you mean "IBX". I don't think IBOIBO doesn't do a CommitRetaining unless you tell it to make the transaction
>does a CommitRetaining unless you tell it to.
AutoCommit. Then, it does. The only way to override that is to do
explicit transaction starts and commits. CommitRetaining was invented for
Delphi and it does have great benefits for Delphi's "scrolling"
dataset. With IBO you can have butter on both sides of the bread, provided
you make use of the timeout features.
Note that, with IBO, you can set the ServerAutocommit true. As long as
Autocommit is false, you won't get a Commit with Retain happening. It's
not used for SELECTs, though, since you do actually want a "live" cursor on
a dataset that you are working on. You're more likely to use
ServerAutocommit for running scripts. For normal DML it's generally a
pain, since you don't get any feedback on the client unless there's an
exception and the statement has to be executed with ExecuteImmediate2 (no
prepare).
IBX makes transactions Autocommit by default (or used to, last time I looked).
>How about FIB+?Don't know; but I'd expect it to have the smarts not to make Autocommit
the default.
./heLen