DBeaver Transaction Mode and Implicit DDL Commits
25K reputation · 23 Aug 2020, 03:56 UTC
DBeaver allows users to toggle between Auto-commit and Manual-commit modes to manage transaction boundaries. While Manual-commit is intended to provide a safety net for data modifications, the behavior during schema changes (DDL) depends heavily on the underlying database engine's implementation.
Certain database drivers trigger implicit commits the moment a DDL statement is executed, which may bypass DBeaver's manual transaction controls and prevent a rollback of the schema alteration.
Design Uncertainty
There is a need to clarify how DBeaver handles the synchronization between its internal transaction state and the actual state of the database when an implicit commit occurs during a schema change.
- Does DBeaver provide a mechanism to detect if a DDL statement forced an implicit commit?
- How does the application update the transaction status indicator when the database engine overrides the Manual-commit setting?