Problem/Motivation
As described in numerous issues (see related), it is desirable to drop the auto-commit of database transactions during the destruction of Drupal's Transaction objects.
This meta issue is to track the overall plan to achieve that.
Proposed resolution
Done:
- Start allowing explicit COMMIT/RELEASE SAVEPOINT from the
Transactionobjects: #3398767: Allow returning explicitly to the prior nesting level in transactions (aka allow explicit COMMIT in Transaction objects) - Convert core to always explicitly commit/release:
To do:
- Deprecate auto-commit on
Transactiondestruction: #3584238: Deprecate implicit commit-on-destruct - #3584465: Fix inconsistencies in the TransactionManager behavior
- Ensure the event dispatcher is available before the container is ready: #3492391: Make the event dispatcher available before container full bootstrap
- #3348590: Add transaction-related events to the Database API
- Move post transaction callback execution to an event-based process and deprecate execution on
Transactiondestruction: issue tbd - #3584322: Cleanup transactions in try/catch blocks
- Clean up deprecations (Drupal 13 or 14)
Comments
Comment #2
mondrakeComment #3
mondrakeComment #5
liam morlandThis may also fix #2920527: Postgres driver issue with nested savepoints mimic_implicit_commit duplicated.
Comment #6
mondrakeComment #7
mondrakeComment #8
mondrakeComment #9
mondrakeComment #10
mondrakeComment #11
andypostLooks like parent issue is resolved #2920527-80: Postgres driver issue with nested savepoints mimic_implicit_commit duplicated