Subject Re: [IBO] Big Batch...
Author Geoff Worboys
> but noone seems to have noticed
> your components. You have to do two changes to maximize speed:
<...>
> AutoCommit = False //Don't use true for batch inserts

Excellent! I did not read far enough down pick up on this.

It seems to me that your posting must come close to being appropriate
for a TechSheet or HowTo item in the IBO help. Just another minor
change...

<etc>
finally
dsql.EndBusy;
end;
IB_Transaction1.Commit;

Firstly, EndBusy should come before any attempt to commit to be sure
it will be called. (My own preference is also for the BeginBusy to be
immediately prior to the try call, although it should make little/no
difference since the BeginBusy call is unlikely to fail in itself.)

Secondly I prefer the commit outside the try/finally. If an exception
occurs I would prefer not to commit the changes since I do not know
how far it got.



> dsql.BeginBusy(True); //Don't remember whether BeginBusy
> this a property of TIB_DSQL, use ib_transaction1 if not.

Its available from all components that derive from TIB_Component
(which includes all the statements/datasets, connection, transaction
etc). These components call the BeginBusy of the associated
IB_Session.


Geoff Worboys
Telesis Computing