From 235934188cc3ac25315ba7beb155744d16a23768 Mon Sep 17 00:00:00 2001 From: Kirill Logachev Date: Tue, 21 Jul 2026 01:53:38 +0000 Subject: [PATCH 1/3] chore(bigquery-jdbc): fix standalone it build --- java-bigquery-jdbc/Makefile | 2 +- java-bigquery-jdbc/pom-it.xml | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/java-bigquery-jdbc/Makefile b/java-bigquery-jdbc/Makefile index 827cbcd94058..d3c1f014eff4 100644 --- a/java-bigquery-jdbc/Makefile +++ b/java-bigquery-jdbc/Makefile @@ -70,7 +70,7 @@ package: cp target/google-cloud-bigquery-jdbc-*-all.jar $(PACKAGE_DESTINATION)/ build-it-standalone: - mvn -Dmaven.test.skip=true package -f pom-it.xml + mvn -Dmaven.test.skip=true package -f pom-it.xml -Dbigquery-jdbc.version=$(JDBC_DRIVER_VERSION) run-it-standalone: java -cp $(JDBC_JAR):target-it/* org.junit.platform.console.ConsoleLauncher --select-class com.google.cloud.bigquery.jdbc.it.suites.ITDriverAgnosticTests diff --git a/java-bigquery-jdbc/pom-it.xml b/java-bigquery-jdbc/pom-it.xml index 3b6ae457bcee..9b053e7c9df0 100644 --- a/java-bigquery-jdbc/pom-it.xml +++ b/java-bigquery-jdbc/pom-it.xml @@ -14,6 +14,7 @@ UTF-8 8 8 + 1.2.0-SNAPSHOT @@ -21,7 +22,7 @@ com.google.cloud google-cloud-bigquery-jdbc - 1.0.0 + ${bigquery-jdbc.version} test-jar compile @@ -88,6 +89,20 @@ target-it + + org.apache.maven.plugins + maven-compiler-plugin + + + default-compile + none + + + default-testCompile + none + + + org.apache.maven.plugins maven-shade-plugin From a983b915fdd76f310ac70fa9a863147258e611e1 Mon Sep 17 00:00:00 2001 From: Kirill Logachev Date: Tue, 21 Jul 2026 19:10:29 +0000 Subject: [PATCH 2/3] Update pom-it to shade --- java-bigquery-jdbc/pom-it.xml | 33 +++++++++++-------- .../bigquery/jdbc/BigQueryJdbcBaseTest.java | 17 ++++++---- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/java-bigquery-jdbc/pom-it.xml b/java-bigquery-jdbc/pom-it.xml index 9b053e7c9df0..75c8e3016fae 100644 --- a/java-bigquery-jdbc/pom-it.xml +++ b/java-bigquery-jdbc/pom-it.xml @@ -114,21 +114,26 @@ shade - false - - - com.google.cloud:google-cloud-bigquery - com.google.cloud:google-cloud-bigquerystorage - io.grpc:* - com.google.protobuf:* - - + + + + com. + com.google.bqjdbc.shaded.com. + com.google.cloud.bigquery.jdbc.it.** + + + org. + com.google.bqjdbc.shaded.org. + + org.junit.** + + + + io. + com.google.bqjdbc.shaded.io. + + *:* diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java index 8be466e8178c..48da519a2db0 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java @@ -17,10 +17,11 @@ package com.google.cloud.bigquery.jdbc; import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryOptions; import com.google.cloud.bigquery.jdbc.utils.TestUtilities; import com.google.cloud.bigquery.jdbc.utils.URIBuilder; +import java.sql.Connection; import java.sql.DriverManager; -import java.sql.SQLException; public class BigQueryJdbcBaseTest { @@ -48,12 +49,16 @@ public class BigQueryJdbcBaseTest { protected static BigQuery getBigQuery(String connectionUrl) { try { - return DriverManager.getConnection(connectionUrl) - .unwrap(BigQueryConnection.class) - .getBigQuery(); - } catch (SQLException e) { - throw new RuntimeException("Failed to initialize BigQuery client", e); + Class bqConnClass = Class.forName("com.google.cloud.bigquery.jdbc.BigQueryConnection"); + Connection conn = DriverManager.getConnection(connectionUrl); + Object unwrapped = conn.unwrap(bqConnClass); + if (unwrapped != null) { + return (BigQuery) bqConnClass.getMethod("getBigQuery").invoke(unwrapped); + } + } catch (Throwable e) { + // ignore for some set of tests; Proxy/TPC tests will fail if it doesn't work. } + return BigQueryOptions.getDefaultInstance().getService(); } protected static URIBuilder getBaseUri() { From 03297b3eaccb8a13b925c18d931a8f9b88b1813f Mon Sep 17 00:00:00 2001 From: Kirill Logachev Date: Tue, 21 Jul 2026 21:58:40 +0000 Subject: [PATCH 3/3] fix method visibility --- .../com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java index 48da519a2db0..2529c1bff75a 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java @@ -20,6 +20,7 @@ import com.google.cloud.bigquery.BigQueryOptions; import com.google.cloud.bigquery.jdbc.utils.TestUtilities; import com.google.cloud.bigquery.jdbc.utils.URIBuilder; +import java.lang.reflect.Method; import java.sql.Connection; import java.sql.DriverManager; @@ -53,7 +54,9 @@ protected static BigQuery getBigQuery(String connectionUrl) { Connection conn = DriverManager.getConnection(connectionUrl); Object unwrapped = conn.unwrap(bqConnClass); if (unwrapped != null) { - return (BigQuery) bqConnClass.getMethod("getBigQuery").invoke(unwrapped); + Method method = bqConnClass.getDeclaredMethod("getBigQuery"); + method.setAccessible(true); + return (BigQuery) method.invoke(unwrapped); } } catch (Throwable e) { // ignore for some set of tests; Proxy/TPC tests will fail if it doesn't work.