From 043653d0c6acc13b9c27914330c3762703fad6c0 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Wed, 17 Dec 2025 12:44:56 +0530 Subject: [PATCH 1/9] updated next_changelog --- NEXT_CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 121913c75c..b4144991e7 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -7,6 +7,7 @@ ### Updated - Log timestamps now explicitly display timezone. - **[Breaking Change]** `PreparedStatement.setTimestamp(int, Timestamp, Calendar)` now properly applies Calendar timezone conversion using LocalDateTime pattern (inline with `getTimestamp`). Previously Calendar parameter was ineffective. +- `DatabaseMetaData.getColumns()` with null catalog parameter now retrieves columns from all available catalogs when using SQL Execution API. ### Fixed - Fix timeout exception handling to throw `SQLTimeoutException` instead of `DatabricksSQLException` when queries timeout. From 1bbf4e2b9e55f0c87e14f67f052177e63b645442 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Fri, 20 Mar 2026 15:40:35 +0530 Subject: [PATCH 2/9] Bump version to 3.3.2-SNAPSHOT for next development cycle Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- README.md | 2 +- assembly-thin/pom.xml | 4 ++-- assembly-uber/pom.xml | 4 ++-- jdbc-core/pom.xml | 2 +- pom.xml | 6 +++--- .../java/com/databricks/jdbc/common/util/DriverUtil.java | 2 +- .../jdbc/api/impl/DatabricksDatabaseMetaDataTest.java | 4 ++-- .../safe/DatabricksDriverFeatureFlagsContextTest.java | 2 +- .../com/databricks/jdbc/common/util/DriverUtilTest.java | 4 ++-- test-assembly-thin/pom.xml | 4 ++-- test-assembly-uber/pom.xml | 4 ++-- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index cfefcc7d1e..0d72d043b8 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Add the following dependency to your `pom.xml`: com.databricks databricks-jdbc - 3.3.1 + 3.3.2-SNAPSHOT ``` diff --git a/assembly-thin/pom.xml b/assembly-thin/pom.xml index 3b083dd4bb..5c084cce6d 100644 --- a/assembly-thin/pom.xml +++ b/assembly-thin/pom.xml @@ -7,7 +7,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT databricks-jdbc-thin @@ -51,7 +51,7 @@ com.databricks databricks-jdbc-core - 3.3.1 + 3.3.2-SNAPSHOT diff --git a/assembly-uber/pom.xml b/assembly-uber/pom.xml index 0021c225b2..ce9c30486b 100644 --- a/assembly-uber/pom.xml +++ b/assembly-uber/pom.xml @@ -7,7 +7,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT databricks-jdbc @@ -51,7 +51,7 @@ com.databricks databricks-jdbc-core - 3.3.1 + 3.3.2-SNAPSHOT diff --git a/jdbc-core/pom.xml b/jdbc-core/pom.xml index dc4be45abb..6f50cf610e 100644 --- a/jdbc-core/pom.xml +++ b/jdbc-core/pom.xml @@ -6,7 +6,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT databricks-jdbc-core diff --git a/pom.xml b/pom.xml index 562fbedc90..3db02d02d0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT pom Databricks JDBC Parent Parent POM for Databricks JDBC Driver. @@ -63,7 +63,7 @@ 3.6.1 - 3.3.1 + 3.3.2-SNAPSHOT 18.3.0 3.18.0 2.10.1 @@ -238,7 +238,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.1 + 3.3.2-SNAPSHOT attach-sources diff --git a/src/main/java/com/databricks/jdbc/common/util/DriverUtil.java b/src/main/java/com/databricks/jdbc/common/util/DriverUtil.java index 55e274e8b1..1a479888ef 100644 --- a/src/main/java/com/databricks/jdbc/common/util/DriverUtil.java +++ b/src/main/java/com/databricks/jdbc/common/util/DriverUtil.java @@ -20,7 +20,7 @@ public class DriverUtil { private static final JdbcLogger LOGGER = JdbcLoggerFactory.getLogger(DriverUtil.class); - private static final String DRIVER_VERSION = "3.3.1"; + private static final String DRIVER_VERSION = "3.3.2-SNAPSHOT"; private static final String DRIVER_NAME = "oss-jdbc"; private static final String JDBC_VERSION = "4.3"; diff --git a/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java b/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java index eb87a4b4cd..e6cb30b8da 100644 --- a/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java +++ b/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java @@ -828,7 +828,7 @@ public void testNullsAreSortedAtEnd() throws SQLException { @Test public void testGetDatabaseProductVersion() throws SQLException { String result = metaData.getDatabaseProductVersion(); - assertEquals("3.3.1", result); + assertEquals("3.3.2-SNAPSHOT", result); } @Test @@ -840,7 +840,7 @@ public void testGetDriverName() throws SQLException { @Test public void testGetDriverVersion() throws SQLException { String result = metaData.getDriverVersion(); - assertEquals("3.3.1", result); + assertEquals("3.3.2-SNAPSHOT", result); } @Test diff --git a/src/test/java/com/databricks/jdbc/common/safe/DatabricksDriverFeatureFlagsContextTest.java b/src/test/java/com/databricks/jdbc/common/safe/DatabricksDriverFeatureFlagsContextTest.java index 0e28605b7e..395adb740a 100644 --- a/src/test/java/com/databricks/jdbc/common/safe/DatabricksDriverFeatureFlagsContextTest.java +++ b/src/test/java/com/databricks/jdbc/common/safe/DatabricksDriverFeatureFlagsContextTest.java @@ -37,7 +37,7 @@ class DatabricksDriverFeatureFlagsContextTest { @Mock private ObjectMapper objectMapperMock; private static final String FEATURE_FLAG_NAME = "featureFlagName"; private static final String FEATURE_FLAGS_ENDPOINT = - "https://test-host/api/2.0/connector-service/feature-flags/OSS_JDBC/3.3.1"; + "https://test-host/api/2.0/connector-service/feature-flags/OSS_JDBC/3.3.2-SNAPSHOT"; private DatabricksDriverFeatureFlagsContext context; diff --git a/src/test/java/com/databricks/jdbc/common/util/DriverUtilTest.java b/src/test/java/com/databricks/jdbc/common/util/DriverUtilTest.java index 1a26b86412..2d08c3448b 100644 --- a/src/test/java/com/databricks/jdbc/common/util/DriverUtilTest.java +++ b/src/test/java/com/databricks/jdbc/common/util/DriverUtilTest.java @@ -14,14 +14,14 @@ public class DriverUtilTest { public void testGetDriverVersion() { String version = DriverUtil.getDriverVersion(); assertNotNull(version); - assertEquals("3.3.1", version); + assertEquals("3.3.2-SNAPSHOT", version); } @Test public void testGetDriverVersionWithoutOSSSuffix() { String version = DriverUtil.getDriverVersionWithoutOSSSuffix(); assertNotNull(version); - assertEquals("3.3.1", version); + assertEquals("3.3.2-SNAPSHOT", version); } @Test diff --git a/test-assembly-thin/pom.xml b/test-assembly-thin/pom.xml index b597785b4a..27d322ea4e 100644 --- a/test-assembly-thin/pom.xml +++ b/test-assembly-thin/pom.xml @@ -7,7 +7,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT test-databricks-jdbc-thin @@ -24,7 +24,7 @@ com.databricks databricks-jdbc-thin - 3.3.1 + 3.3.2-SNAPSHOT org.junit.jupiter diff --git a/test-assembly-uber/pom.xml b/test-assembly-uber/pom.xml index 9cdcb3a37c..8b2754f4d1 100644 --- a/test-assembly-uber/pom.xml +++ b/test-assembly-uber/pom.xml @@ -7,7 +7,7 @@ com.databricks databricks-jdbc-parent - 3.3.1 + 3.3.2-SNAPSHOT test-databricks-jdbc-uber @@ -24,7 +24,7 @@ com.databricks databricks-jdbc - 3.3.1 + 3.3.2-SNAPSHOT org.junit.jupiter From 8b1d8fa10d62b312cca6f73aa26c584092048ac2 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Fri, 20 Mar 2026 15:49:30 +0530 Subject: [PATCH 3/9] Fix version bump: add DATABASE_PATCH_VERSION update and revert maven-source-plugin version Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- pom.xml | 2 +- .../databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3db02d02d0..63ee223823 100644 --- a/pom.xml +++ b/pom.xml @@ -238,7 +238,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.2-SNAPSHOT + 3.3.1 attach-sources diff --git a/src/main/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java b/src/main/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java index 54b6e3a2f6..2e695274ce 100644 --- a/src/main/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java +++ b/src/main/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaData.java @@ -28,7 +28,7 @@ public class DatabricksDatabaseMetaData implements DatabaseMetaData { public static final String PRODUCT_NAME = "SparkSQL"; public static final int DATABASE_MAJOR_VERSION = 3; public static final int DATABASE_MINOR_VERSION = 3; - public static final int DATABASE_PATCH_VERSION = 1; + public static final int DATABASE_PATCH_VERSION = 2; public static final Integer MAX_NAME_LENGTH = 128; public static final String NUMERIC_FUNCTIONS = "ABS,ACOS,ASIN,ATAN,ATAN2,CEILING,COS,COT,DEGREES,EXP,FLOOR,LOG,LOG10,MOD,PI,POWER,RADIANS,RAND,ROUND,SIGN,SIN,SQRT,TAN,TRUNCATE"; From 08b37eacaaeadc3b69b6901ffeac518033dd47f2 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Fri, 20 Mar 2026 18:02:31 +0530 Subject: [PATCH 4/9] Fix testGetDatabaseProductVersion: version is built from int constants, not DRIVER_VERSION getDatabaseProductVersion() constructs the version string from integer constants (MAJOR.MINOR.PATCH = 3.3.2), so it never includes -SNAPSHOT. Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- .../jdbc/api/impl/DatabricksDatabaseMetaDataTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java b/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java index e6cb30b8da..669626b15e 100644 --- a/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java +++ b/src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java @@ -828,7 +828,7 @@ public void testNullsAreSortedAtEnd() throws SQLException { @Test public void testGetDatabaseProductVersion() throws SQLException { String result = metaData.getDatabaseProductVersion(); - assertEquals("3.3.2-SNAPSHOT", result); + assertEquals("3.3.2", result); } @Test From cdfd59f992b8da24de042ac65f2ece35a1fb8529 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Mon, 23 Mar 2026 18:54:29 +0530 Subject: [PATCH 5/9] Trigger CI after merge with upstream main Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore From a805a7ecca99d333c61004ff203e5b27f8c9cd2e Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Wed, 25 Mar 2026 00:05:12 +0530 Subject: [PATCH 6/9] Skip OWASP dependency check in coverage workflow The OWASP check is irrelevant to coverage measurement and was causing 2+ hour delays (downloading 338K NVD records without API key), after which the JaCoCo report file was not found. Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- .github/workflows/coverageReport.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverageReport.yml b/.github/workflows/coverageReport.yml index 1b3ec131df..cfc121e4dc 100644 --- a/.github/workflows/coverageReport.yml +++ b/.github/workflows/coverageReport.yml @@ -34,7 +34,7 @@ jobs: ${{ runner.os }}-m2- - name: Run tests with coverage - run: mvn -pl jdbc-core clean test -Dgroups='!Jvm17PlusAndArrowToNioReflectionDisabled' jacoco:report + run: mvn -pl jdbc-core clean test -Dgroups='!Jvm17PlusAndArrowToNioReflectionDisabled' jacoco:report -Ddependency-check.skip=true - name: Check for coverage override id: override From ecd64da7b5564f576e3209aa51cda7e8589e69bd Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Wed, 25 Mar 2026 00:18:48 +0530 Subject: [PATCH 7/9] Trigger CI Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore From 46f3a0851a853230c2a49f4a2e40a54eb57b8447 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Wed, 8 Apr 2026 11:10:42 +0530 Subject: [PATCH 8/9] Revert upstream NEXT_CHANGELOG.md changes from merge Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- NEXT_CHANGELOG.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 9abb201837..a9f20818c1 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -5,9 +5,6 @@ ### Added ### Updated -- Log timestamps now explicitly display timezone. -- **[Breaking Change]** `PreparedStatement.setTimestamp(int, Timestamp, Calendar)` now properly applies Calendar timezone conversion using LocalDateTime pattern (inline with `getTimestamp`). Previously Calendar parameter was ineffective. -- `DatabaseMetaData.getColumns()` with null catalog parameter now retrieves columns from all available catalogs when using SQL Execution API. ### Fixed - Fixed primitive types within complex types (ARRAY, MAP, STRUCT) not being correctly parsed when Arrow serialization uses alternate formats: TIMESTAMP/TIMESTAMP_NTZ as epoch microseconds or component arrays, and BINARY as base64-encoded strings. From 4b07d6536a1431da8186f67fc8965c284a70bfc7 Mon Sep 17 00:00:00 2001 From: Madhavendra Rathore Date: Wed, 8 Apr 2026 11:14:39 +0530 Subject: [PATCH 9/9] Restore NEXT_CHANGELOG.md to match upstream/main Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore --- NEXT_CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index a9f20818c1..830d158671 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -9,6 +9,8 @@ ### Fixed - Fixed primitive types within complex types (ARRAY, MAP, STRUCT) not being correctly parsed when Arrow serialization uses alternate formats: TIMESTAMP/TIMESTAMP_NTZ as epoch microseconds or component arrays, and BINARY as base64-encoded strings. - Fixed `PARSE_SYNTAX_ERROR` for column names containing special characters (e.g., dots) when `EnableBatchedInserts` is enabled, by re-quoting column names with backticks in reconstructed multi-row INSERT statements. +- Fixed Volume ingestion for SEA mode, which was broken due to statement being closed prematurely. +- Fixed escaped pattern characters in catalogName for `getSchemas`, as returned catalogName should be unescaped. --- *Note: When making changes, please add your change under the appropriate section