When to Defer Constraints until Post Commit

Previous Next

See Also

Constraints that are deferred until post-commit are fired after the current transaction has been successfully committed. This means that it is possible to 'chain' transactions: the constraint that is fired after commit can trigger a new manipulation causing a new transaction to start. In this transaction another post-commit constraint can be fired, causing another link to be added to the transaction chain. By default the maximum transaction chain depth is set to 500, but if necessary it can be changed using a setting in the Rules Engine Parameters table (accessed from the Definer Tools menu).

A typical reason for deferring a constraint until post commit could be that you want to trigger a new transaction but you do not want the first transaction to fail if anything should go wrong.


Constraints that are deferred until post-commit are NOT reported in a BenchMark constraint violation report.