- Notifications
You must be signed in to change notification settings - Fork126
feat: Add multi-statement transaction support#704
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Implement PEP 249-compliant transaction control with extensions formanual commit/rollback operations. This enables atomic multi-tableoperations with REPEATABLE_READ isolation semantics.Core API additions:- connection.autocommit property for enabling/disabling auto-commit mode- connection.commit() to commit active transactions- connection.rollback() to rollback active transactions- connection.get_transaction_isolation() returns current isolation level- connection.set_transaction_isolation() validates isolation level- TransactionError exception for transaction-specific failuresImplementation details:- Added autocommit state caching in Session with optional server query- Added TRANSACTION_ISOLATION_LEVEL_REPEATABLE_READ constant- All transaction operations include proper error handling and telemetry- Supports fetch_autocommit_from_server connection parameterTesting:- Unit tests covering all transaction methods and error scenarios- e2e integration tests validating transaction behavior including multi-table atomicity, sequential transactions, and isolation semanticsDocumentation:- Comprehensive TRANSACTIONS.md guide with examples and best practices- Updated README.md with basic usage and reference to detailed docsRequires MST-enabled Databricks SQL warehouse and Delta tables with'delta.feature.catalogOwned-preview' table property.
Thanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
Thanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
What type of PR is this?
Description
Implement PEP 249-compliant transaction control with extensions for manual commit/rollback operations. This enables atomic multi-table operations with REPEATABLE_READ isolation semantics.
Core API additions:
Implementation details:
Testing:
Documentation:
Requires MST-enabled Databricks SQL warehouse and Delta tables with 'delta.feature.catalogOwned-preview' table property.
How is this tested?
Related Tickets & Documents