Handling rollback of sub-transactions
- Last Updated: July 15, 2026
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
DataServer for Oracle supports savepoints for backing out sub-transactions and
to maintain sub-transaction boundaries efficiently. The ABL sub-transactions are
translated to Oracle DataServer savepoints and
UNDO of
a sub-transaction is handled by the Oracle DataServer.Note: The savepoint feature is
disabled by default as there is a performance impact observed while loading bulk
records. You can enable this feature by using the
-Dsrv
PRGRS_SAVEPOINT connection switch. The following sections describe how rollback of sub-transactions is handled:
UNDO of sub-transactions with LOBs
In the absence of savepoint, backing out a sub-transaction with LOBs aborted the entire transaction and resulted in the following error:
|
UNDO of DELETE
Savepoints allows you to eliminate the gap in the
PROGRESS_RECID value. You can submit a CREATE command after performing an UNDO of a DELETE sub-transaction.
The absence of savepoint will generate a gap in PROGRESS_RECID value. For example, consider that the
PROGRESS_RECID value is 1, and you performed an UNDO of a
DELETE sub-transaction. If you create a new
record after the UNDO, the PROGRESS_RECID value changes to 3 instead of 2 which is a gap in the
value.