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.