Rollback method |
Applies to
TIB_Transaction
Declaration
Procedure Rollback;
Description
This method causes a rollback and the current transaction to be ended,
both the physical and logical aspects. It also cancels any pending inserts,
edits or deletes for all datasets that are a part of this transaction.
This method also causes the datasets to all be closed by default. The
CommitAction property on the datasets determines what action they should
take when their physical transaction is ended. It may be desirable for some
datasets to remain open in spite of the end of the transaction. This allows for
that to happen by fetching all records or performing a refresh after the
rollback, your choice.
One of the downfalls of the BDE is that it would force a FetchAll of all
datasets in order to preserve its cursor and maintain the dataset as Active when
Commit or Rollback was called. IBO is more careful to give you the control of
whether you want it to do that or not. In some cases this can be a valid
approach but in others it was a severe performance trap.
The settings to work around this problem were at a global-driver level and
resulted in soft-commits which caused the OAT to not be advanced properly.
This was very undesirable as well so with the BDE there really was no winning.