Skip to content

Conversation

@vikrantpuppala
Copy link
Collaborator

Summary

  • Changes default value of IgnoreTransactions parameter from 0 to 1, making transactions disabled by default
  • Updates supportsTransactions() to respect the IgnoreTransactions flag, returning false when transactions are ignored (default) and true when explicitly enabled
  • Adds test case for when transactions are explicitly enabled via IgnoreTransactions=0

Background

The multi-statement transaction feature is currently in private preview for limited workspaces. When BI tools (Tableau, Power BI, DBeaver) detect transaction support via supportsTransactions(), they automatically use transaction methods, causing failures for customers not enrolled in the preview.

This change prevents unexpected failures for non-preview customers while allowing preview participants to opt-in by explicitly setting IgnoreTransactions=0 in their connection string.

Migration Path

  • Non-preview customers: No action required - transactions are now disabled by default
  • Preview participants: Set IgnoreTransactions=0 in connection string to enable transaction support
  • GA migration: When multi-statement transactions reach GA, flip the default back to 0

Test plan

  • Verify existing tests pass
  • Verify default connection returns supportsTransactions() = false
  • Verify connection with IgnoreTransactions=0 returns supportsTransactions() = true
  • Verify transaction methods (setAutoCommit, commit, rollback) are no-ops by default

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings January 9, 2026 09:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR changes the default behavior of transaction support in the JDBC driver to address issues with BI tools during the private preview phase of multi-statement transactions. The default value of IgnoreTransactions is flipped from 0 to 1, effectively disabling transaction support by default.

  • Changed default value of IgnoreTransactions parameter from 0 to 1 in the enum definition
  • Updated supportsTransactions() method to return the inverse of getIgnoreTransactions() instead of hardcoded true
  • Removed hardcoded default value "0" from getIgnoreTransactions() implementation, now uses enum default
  • Updated test naming and added test case for explicitly enabled transactions

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java Changed IGNORE_TRANSACTIONS default value from "0" to "1"
src/main/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java Updated supportsTransactions() to respect IgnoreTransactions flag
src/main/java/com/databricks/jdbc/api/impl/DatabricksConnectionContext.java Removed hardcoded default "0", now uses enum default value
src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java Renamed test and added new test for enabled transactions scenario

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vikrantpuppala vikrantpuppala force-pushed the flip-ignore-transactions-default branch 2 times, most recently from 085233a to 3b04de0 Compare January 9, 2026 10:18
…action preview

Change the default value of IgnoreTransactions from "0" (disabled) to "1" (enabled)
to prevent unexpected failures for customers not enrolled in the multi-statement
transaction private preview. Preview participants can opt-in by explicitly setting
IgnoreTransactions=0 in their connection string.

Also update supportsTransactions() to respect the IgnoreTransactions flag, returning
false when transactions are ignored (default) and true when explicitly enabled.

Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vikrantpuppala vikrantpuppala force-pushed the flip-ignore-transactions-default branch from 3b04de0 to bce4cee Compare January 9, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant