Releases: databricks/databricks-jdbc
Releases · databricks/databricks-jdbc
Release 3.0.5
Added
- Added support for high-performance batched writes with parameter interpolation:
supportManyParameters=1: Enables parameter interpolation to bypass 256-parameter limit (default: 0)EnableBatchedInserts=1: Enables multi-row INSERT batching (default: 0)BatchInsertSize=<SIZE>: Maximum rows per batch (default: 1000)- Note: Large batches are chunked for execution. If a chunk fails, previous chunks remain committed (no transaction rollback). Consider using staging tables for critical workflows.
- Added Feature-flag integration for SQL Exec API rollout
- Call statements will return result sets in response
- Add a gating flag for enabling GeoSpatial support:
EnableGeoSpatialSupport. By default, it will be disabled
Updated
- Minimized OAuth requests by reducing calls in feature flags and telemetry.
- Geospatial
getWKB()now returns OGC-compliant WKB values.
Fixed
- Fix: SQLInterpolator failing to escape temporal fields and special characters.
- Fixed: Errors in table creation when using BIGINT, SMALLINT, TINYINT, or VOID types.
- Fixed: PreparedStatement.getMetaData() now correctly reports TINYINT columns as Types.TINYINT (java.lang.Byte) instead of Types.SMALLINT (java.lang.Integer).
- Fixed: TINYINT to String conversion to return numeric representation (e.g., "65") instead of character representation (e.g., "A").
- Fixed: Complex types (Structs, arrays, maps) now show detailed type information in metadata calls in Thrift mode
- Fixed: incorrect chunk download/processing status codes.
- Shade SLF4J to avoid conflicts with user applications.
v3.0.4
Added
- Added support for telemetry log levels, which can be controlled via the connection parameter
TelemetryLogLevel. This allows users to configure the verbosity of telemetry logging from OFF to TRACE. - Added full support for JDBC transaction control methods in Databricks. Transaction support in Databricks is currently available as a Private Preview. The
IgnoreTransactionsconnection parameter can be set to1to disable or no-op transaction control methods. - Added a new config attribute
DisableOauthRefreshTokento control whether refresh tokens are requested in OAuth exchanges. By default, the driver does not include theoffline_accessscope. Ifoffline_accessis explicitly provided by the user, it is preserved and not removed.
Updated
- Updated sdk version from 0.65.0 to 0.69.0
Fixed
- Fixed SQL syntax error when LIKE queries contain empty ESCAPE clauses.
- Fix: driver failing to authenticate on token update in U2M flow.
- Fix: driver failing to parse complex data types with nullable attributes.
- Fixed: Resolved SDK token-caching regression causing token refresh on every call. SDK is now configured once to avoid excessive token endpoint hits and rate limiting.
- Fixed: TimestampConverter.toString() returning ISO8601 format with timezone conversion instead of SQL standard format.
- Fixed: Driver not loading complete JSON result in the case of SEA Inline without Arrow
Releasing 3.0.3 to Maven
Fixing regression in increased traffic for Token endpoint
v1.0.9-oss
Added
- Added support for providing custom HTTP options:
HttpMaxConnectionsPerRouteandHttpConnectionRequestTimeout. - Add V2 of chunk download using async http client with corresponding implementations of AbstractRemoteChunkProvider and
AbstractArrowResultChunk - Telemetry is being enabled by default, with a configuration to opt-out.
Updated
Fixed
- Fixed Statement.getUpdateCount to return -1 for non-DML queries.
- Fixed Statement.setMaxRows(0) to be interepeted as no limit.
- Fixed retry behaviour to not throw an exception when there is no retry-after header for 503 and 429 status codes.
- Fixed encoded UserAgent parsing in BI tools.
- Fixed setting empty schema as the default schema in the spark session.
v1.0.8-oss
Added
- Added DCO (Developer Certificate of Origin) check workflow for pull requests to ensure all commits are properly signed-off
- Added support for SSL client certificate authentication via parameter: SSLTrustStoreProvider
- Provide an option to push telemetry logs (using the flag
ForceEnableTelemetry=1). For more details see documentation - Added putFiles methods in DBFSVolumeClient for async multi-file upload.
- Added validation on UID param to ensure it is either not set or set to 'token'.
- Added CloudFetch download speed logging at INFO level
- Added vendor error codes to SQLExceptions raised for incorrect UID, host or token.
Updated
- Column name support for JDBC ResultSet operations is now case-insensitive
- Updated arrow to 17.0.0 to resolve CVE-2024-52338
- Updated commons-lang3 to 3.18.0 to resolve CVE-2025-48924
- Enhanced SSL certificate path validation error messages to provide actionable troubleshooting steps.
Fixed
- Fixed Bouncy Castle registration conflicts by using local provider instance instead of global security registration.
- Fixed Azure U2M authentication issue.
- Fixed unchecked exception thrown in delete session
- Fixed ParameterMetaData.getParameterCount() to return total parameter count from SQL parsing instead of bound parameter count, aligning with JDBC standards
v1.0.7-oss
Added
- Added support for DoD (.mil) domains
- Enables fetching of metadata for SELECT queries using PreparedStatement prior to setting parameters or executing the query.
- Added support for SSL client certificate authentication via keystore configuration parameters: SSLKeyStore, SSLKeyStorePwd, SSLKeyStoreType, and SSLKeyStoreProvider.
Fixed
- Updated JDBC URL regex to accept valid connection strings that were incorrectly rejected.
- Updated decimal conversion logic to fix numeric values missing decimal precision.
v1.0.6-oss
Added
- Support for fetching tables and views across all catalogs using SHOW TABLES FROM/IN ALL CATALOGS in the SQL Exec API.
- Support for Token Exchange in OAuth flows where in third party tokens are exchanged for InHouse tokens.
- Support for polling of statementStatus and sqlState for async SQL execution.
- Support for REAL, NUMERIC, CHAR, and BIGINT JDBC types in
PreparedStatement.setObjectmethod. - Support for INTERVAL data type.
Fixed
- Added explicit null check for Arrow value vector when the value is not set and Arrow null checking is disabled.