Closure to run within a database transaction. Errors (throwing or returned by future) should cause a transaction rollback.
Currently, the transaction is only rolled back if the future that the transaction closure returns throws, not if the transaction closure throws (which violates the design according to the documentation.)
The documentation for
TransactionSupporting.transactionExecute(_:on:)
states:Currently, the transaction is only rolled back if the future that the
transaction
closure returns throws, not if thetransaction
closure throws (which violates the design according to the documentation.)PR incoming...