From 7e414e442f2b4c6b4deec9744e05c707feb7c705 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 28 Oct 2025 12:12:22 +0000 Subject: [PATCH 01/19] chore(main): release 2.33.4-SNAPSHOT (#2273) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- versions.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index d741bb8a5..ea83da528 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-spanner-jdbc - 2.33.3 + 2.33.4-SNAPSHOT jar Google Cloud Spanner JDBC https://github.com/googleapis/java-spanner-jdbc diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 3cf3a3e4c..5fa54aaac 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-spanner-jdbc - 2.33.3 + 2.33.4-SNAPSHOT diff --git a/versions.txt b/versions.txt index c8fb75f41..1ffb9187e 100644 --- a/versions.txt +++ b/versions.txt @@ -1,4 +1,4 @@ # Format: # module:released-version:current-version -google-cloud-spanner-jdbc:2.33.3:2.33.3 +google-cloud-spanner-jdbc:2.33.3:2.33.4-SNAPSHOT From cdbef86ddc5544de342754fe8e0a3d44bcc547a5 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 28 Oct 2025 12:34:22 +0000 Subject: [PATCH 02/19] chore(deps): update dependency com.google.cloud:google-cloud-spanner-jdbc to v2.33.3 (#2274) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-spanner-jdbc](https://redirect.github.com/googleapis/java-spanner-jdbc) | `2.33.2` -> `2.33.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.cloud:google-cloud-spanner-jdbc/2.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.cloud:google-cloud-spanner-jdbc/2.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.cloud:google-cloud-spanner-jdbc/2.33.2/2.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.cloud:google-cloud-spanner-jdbc/2.33.2/2.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/java-spanner-jdbc (com.google.cloud:google-cloud-spanner-jdbc) ### [`v2.33.3`](https://redirect.github.com/googleapis/java-spanner-jdbc/blob/HEAD/CHANGELOG.md#2333-2025-10-28) [Compare Source](https://redirect.github.com/googleapis/java-spanner-jdbc/compare/v2.33.2...v2.33.3) ##### Bug Fixes - Run DatabaseMetadata tests for PG on emulator ([#​2271](https://redirect.github.com/googleapis/java-spanner-jdbc/issues/2271)) ([e7b20eb](https://redirect.github.com/googleapis/java-spanner-jdbc/commit/e7b20ebd0ec1554e969c9097c1d5b7c5b6dcc232))
--- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner-jdbc). --- samples/install-without-bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 0e24a8973..8fb4480bb 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-spanner-jdbc - 2.33.2 + 2.33.3 From 559cdee7633ae508f857890770f173ac2f18d2ca Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 31 Oct 2025 08:41:41 +0000 Subject: [PATCH 03/19] deps: update dependency com.fasterxml.jackson.core:jackson-databind to v2.20.1 (#2275) --- samples/quickperf/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/quickperf/pom.xml b/samples/quickperf/pom.xml index 961d4510f..fa77d4400 100644 --- a/samples/quickperf/pom.xml +++ b/samples/quickperf/pom.xml @@ -67,7 +67,7 @@ com.fasterxml.jackson.core jackson-databind - 2.20.0 + 2.20.1 From 360a9fbe0077abe072f2834823c9f208e2325fcf Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 09:54:25 +0000 Subject: [PATCH 04/19] deps: update dependency org.testcontainers:testcontainers-bom to v2.0.2 (#2285) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.testcontainers:testcontainers-bom](https://java.testcontainers.org) ([source](https://redirect.github.com/testcontainers/testcontainers-java)) | `2.0.1` -> `2.0.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.testcontainers:testcontainers-bom/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.testcontainers:testcontainers-bom/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.testcontainers:testcontainers-bom/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.testcontainers:testcontainers-bom/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
testcontainers/testcontainers-java (org.testcontainers:testcontainers-bom) ### [`v2.0.2`](https://redirect.github.com/testcontainers/testcontainers-java/releases/tag/2.0.2) [Compare Source](https://redirect.github.com/testcontainers/testcontainers-java/compare/2.0.1...2.0.2) ### What's Changed - Update docker image version to 25.0.5 ([#​11219](https://redirect.github.com/testcontainers/testcontainers-java/issues/11219)) [@​eddumelendez](https://redirect.github.com/eddumelendez) - Set default docker API version to 1.44 ([#​11216](https://redirect.github.com/testcontainers/testcontainers-java/issues/11216)) [@​eddumelendez](https://redirect.github.com/eddumelendez) - Fix ollama example ([#​11217](https://redirect.github.com/testcontainers/testcontainers-java/issues/11217)) [@​eddumelendez](https://redirect.github.com/eddumelendez) - Update testcontainers version to ${GITHUB\_REF##\*/} ([#​11125](https://redirect.github.com/testcontainers/testcontainers-java/issues/11125)) @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) - Update docs version to ${GITHUB\_REF##\*/} ([#​11126](https://redirect.github.com/testcontainers/testcontainers-java/issues/11126)) @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) #### ๐Ÿ› Bug Fixes - Optimize ScriptSplitter from O(n\*m) to O(1) when initializing database ([#​11130](https://redirect.github.com/testcontainers/testcontainers-java/issues/11130)) [@​hspragg-godaddy](https://redirect.github.com/hspragg-godaddy) #### ๐Ÿ“– Documentation - Update kotest-extensions-testcontainers link ([#​11138](https://redirect.github.com/testcontainers/testcontainers-java/issues/11138)) [@​noojung](https://redirect.github.com/noojung) #### ๐Ÿงน Housekeeping - Add getBaseUrl() to NginxContainer using NGINX\_DEFAULT\_PORT ([#​11137](https://redirect.github.com/testcontainers/testcontainers-java/issues/11137)) [@​ghusta](https://redirect.github.com/ghusta) #### ๐Ÿ“ฆ Dependency updates - Update docker-java version to 3.7.0 ([#​11218](https://redirect.github.com/testcontainers/testcontainers-java/issues/11218)) [@​eddumelendez](https://redirect.github.com/eddumelendez)
--- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner-jdbc). --- samples/spring-data-mybatis/googlesql/pom.xml | 2 +- samples/spring-data-mybatis/postgresql/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/spring-data-mybatis/googlesql/pom.xml b/samples/spring-data-mybatis/googlesql/pom.xml index 2a3211d21..fff3c7dc8 100644 --- a/samples/spring-data-mybatis/googlesql/pom.xml +++ b/samples/spring-data-mybatis/googlesql/pom.xml @@ -49,7 +49,7 @@ org.testcontainers testcontainers-bom - 2.0.1 + 2.0.2 import pom diff --git a/samples/spring-data-mybatis/postgresql/pom.xml b/samples/spring-data-mybatis/postgresql/pom.xml index a324b7e79..e80416d72 100644 --- a/samples/spring-data-mybatis/postgresql/pom.xml +++ b/samples/spring-data-mybatis/postgresql/pom.xml @@ -42,7 +42,7 @@ org.testcontainers testcontainers-bom - 2.0.1 + 2.0.2 import pom From ebbb0deb3e7c1e7f564a9a1a792ecba336d5fcb0 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 09:56:23 +0000 Subject: [PATCH 05/19] deps: update dependency com.google.cloud:google-cloud-trace to v2.79.0 (#2282) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-trace](https://redirect.github.com/googleapis/google-cloud-java) | `2.78.0` -> `2.79.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.cloud:google-cloud-trace/2.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.cloud:google-cloud-trace/2.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.cloud:google-cloud-trace/2.78.0/2.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.cloud:google-cloud-trace/2.78.0/2.79.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner-jdbc). --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ea83da528..02a10809d 100644 --- a/pom.xml +++ b/pom.xml @@ -216,7 +216,7 @@ com.google.cloud google-cloud-trace - 2.78.0 + 2.79.0 test From 4237635cc33784cecf9aa62d757fbf3fd4d1702d Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 09:58:27 +0000 Subject: [PATCH 06/19] deps: update dependency net.bytebuddy:byte-buddy-agent to v1.18.1 (#2280) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [net.bytebuddy:byte-buddy-agent](https://bytebuddy.net) | `1.17.8` -> `1.18.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/net.bytebuddy:byte-buddy-agent/1.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/net.bytebuddy:byte-buddy-agent/1.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/net.bytebuddy:byte-buddy-agent/1.17.8/1.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/net.bytebuddy:byte-buddy-agent/1.17.8/1.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner-jdbc). --- samples/spring-data-jdbc/postgresql/pom.xml | 2 +- samples/spring-data-mybatis/googlesql/pom.xml | 2 +- samples/spring-data-mybatis/postgresql/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/spring-data-jdbc/postgresql/pom.xml b/samples/spring-data-jdbc/postgresql/pom.xml index 1a53393d0..4d370b307 100644 --- a/samples/spring-data-jdbc/postgresql/pom.xml +++ b/samples/spring-data-jdbc/postgresql/pom.xml @@ -120,7 +120,7 @@ net.bytebuddy byte-buddy-agent - 1.17.8 + 1.18.1 test diff --git a/samples/spring-data-mybatis/googlesql/pom.xml b/samples/spring-data-mybatis/googlesql/pom.xml index fff3c7dc8..250f2d5eb 100644 --- a/samples/spring-data-mybatis/googlesql/pom.xml +++ b/samples/spring-data-mybatis/googlesql/pom.xml @@ -114,7 +114,7 @@ net.bytebuddy byte-buddy-agent - 1.17.8 + 1.18.1 test diff --git a/samples/spring-data-mybatis/postgresql/pom.xml b/samples/spring-data-mybatis/postgresql/pom.xml index e80416d72..03b3a0473 100644 --- a/samples/spring-data-mybatis/postgresql/pom.xml +++ b/samples/spring-data-mybatis/postgresql/pom.xml @@ -111,7 +111,7 @@ net.bytebuddy byte-buddy-agent - 1.17.8 + 1.18.1 test From 1fd49aa604a395032df675f5f9589eed9ea901c2 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:02:15 +0000 Subject: [PATCH 07/19] deps: update dependency io.opentelemetry:opentelemetry-bom to v1.56.0 (#2278) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.opentelemetry:opentelemetry-bom](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.55.0` -> `1.56.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry:opentelemetry-bom/1.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.opentelemetry:opentelemetry-bom/1.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.opentelemetry:opentelemetry-bom/1.55.0/1.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry:opentelemetry-bom/1.55.0/1.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
open-telemetry/opentelemetry-java (io.opentelemetry:opentelemetry-bom) ### [`v1.56.0`](https://redirect.github.com/open-telemetry/opentelemetry-java/blob/HEAD/CHANGELOG.md#Version-1560-2025-11-07) ##### API ##### Incubator - Support ExtendedOpenTelemetry in GlobalOpenTelemetry ([#​7799](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7799)) ##### SDK - Changes to MeterConfig, LoggerConfig, TracerConfig are guaranteed to be eventually visible ([#​7706](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7706)) ##### Metrics - Stabilize ExemplarFilter ([#​7768](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7768)) - Type specific exemplar reservoirs ([#​7758](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7758)) ##### Extensions - SDK incubator: Add incubator ComposableRuleBasedSampler ([#​7787](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7787)) - SDK incubator: Add incubator ComposableAnnotatingSampler ([#​7804](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7804)) - SDK incubator: Rename ComposableTraceIdRatioBased to ComposableProbability ([#​7786](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7786)) - Declarative config: **BREAKING** Remove component provider generic type ([#​7606](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7606)) - Declarative config: Add declarative config support for ExemplarFilter ([#​7769](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7769)) - Declarative config: Fix a few declarative configuration bugs ([#​7807](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7807)) ##### Project tooling - Move to oracle bare metal benchmark runner ([#​7740](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7740)) - Enable Develocity build scans ([#​7776](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7776)) - Document GPG signing key ([#​7783](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7783)) - Update build to use java 21 ([#​7784](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7784)) - Sync repository-settings.md documentation ([#​7791](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7791)) - Fix gradle deprecation warning ([#​7780](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7780)) - Small alignments of workflows across the 6 Java repos ([#​7806](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7806)) - Implement min java version gradle tooling from instrumentation repo ([#​7801](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7801))
--- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner-jdbc). --- samples/spring-data-jdbc/googlesql/pom.xml | 2 +- samples/spring-data-jdbc/postgresql/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/spring-data-jdbc/googlesql/pom.xml b/samples/spring-data-jdbc/googlesql/pom.xml index cd696f70c..2e53c85ce 100644 --- a/samples/spring-data-jdbc/googlesql/pom.xml +++ b/samples/spring-data-jdbc/googlesql/pom.xml @@ -44,7 +44,7 @@ io.opentelemetry opentelemetry-bom - 1.55.0 + 1.56.0 pom import diff --git a/samples/spring-data-jdbc/postgresql/pom.xml b/samples/spring-data-jdbc/postgresql/pom.xml index 4d370b307..a20a1fb0c 100644 --- a/samples/spring-data-jdbc/postgresql/pom.xml +++ b/samples/spring-data-jdbc/postgresql/pom.xml @@ -44,7 +44,7 @@ io.opentelemetry opentelemetry-bom - 1.55.0 + 1.56.0 pom import From 092f5a129761f0c8c9d8207c611232a086328896 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:04:09 +0000 Subject: [PATCH 08/19] deps: update dependency org.testcontainers:testcontainers to v2.0.2 (#2284) --- pom.xml | 2 +- samples/quickperf/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- samples/spring-data-jdbc/googlesql/pom.xml | 2 +- samples/spring-data-jdbc/postgresql/pom.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 02a10809d..baba67769 100644 --- a/pom.xml +++ b/pom.xml @@ -166,7 +166,7 @@ org.testcontainers testcontainers - 2.0.1 + 2.0.2 test diff --git a/samples/quickperf/pom.xml b/samples/quickperf/pom.xml index fa77d4400..77bb20a5c 100644 --- a/samples/quickperf/pom.xml +++ b/samples/quickperf/pom.xml @@ -73,7 +73,7 @@ org.testcontainers testcontainers - 2.0.1 + 2.0.2 test diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index d530b54f0..0b58ad4b5 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -54,7 +54,7 @@ org.testcontainers testcontainers - 2.0.1 + 2.0.2 test diff --git a/samples/spring-data-jdbc/googlesql/pom.xml b/samples/spring-data-jdbc/googlesql/pom.xml index 2e53c85ce..928e8be9e 100644 --- a/samples/spring-data-jdbc/googlesql/pom.xml +++ b/samples/spring-data-jdbc/googlesql/pom.xml @@ -90,7 +90,7 @@ org.testcontainers testcontainers - 2.0.1 + 2.0.2 diff --git a/samples/spring-data-jdbc/postgresql/pom.xml b/samples/spring-data-jdbc/postgresql/pom.xml index a20a1fb0c..a1b4aa171 100644 --- a/samples/spring-data-jdbc/postgresql/pom.xml +++ b/samples/spring-data-jdbc/postgresql/pom.xml @@ -132,7 +132,7 @@ org.testcontainers testcontainers - 2.0.1 + 2.0.2 test From 75823638436e446f1e0a7904dd485b2f84b16f3d Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:04:21 +0000 Subject: [PATCH 09/19] deps: update dependency commons-cli:commons-cli to v1.11.0 (#2283) --- samples/quickperf/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/quickperf/pom.xml b/samples/quickperf/pom.xml index 77bb20a5c..6b9987ca4 100644 --- a/samples/quickperf/pom.xml +++ b/samples/quickperf/pom.xml @@ -47,7 +47,7 @@ commons-cli commons-cli - 1.10.0 + 1.11.0 com.google.cloud From 3a15afa13b1583e0941a909ac09acac49c532a36 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:04:33 +0000 Subject: [PATCH 10/19] deps: update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.79.0 (#2281) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index baba67769..273631bef 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ com.google.api.grpc proto-google-cloud-trace-v1 - 2.78.0 + 2.79.0 test From fa83919382619c3cb6abc567e7d6753a2e2ead33 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:04:45 +0000 Subject: [PATCH 11/19] deps: update dependency net.bytebuddy:byte-buddy to v1.18.1 (#2279) --- samples/spring-data-jdbc/postgresql/pom.xml | 2 +- samples/spring-data-mybatis/googlesql/pom.xml | 2 +- samples/spring-data-mybatis/postgresql/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/spring-data-jdbc/postgresql/pom.xml b/samples/spring-data-jdbc/postgresql/pom.xml index a1b4aa171..46c887916 100644 --- a/samples/spring-data-jdbc/postgresql/pom.xml +++ b/samples/spring-data-jdbc/postgresql/pom.xml @@ -114,7 +114,7 @@ net.bytebuddy byte-buddy - 1.17.8 + 1.18.1 test diff --git a/samples/spring-data-mybatis/googlesql/pom.xml b/samples/spring-data-mybatis/googlesql/pom.xml index 250f2d5eb..6421c766a 100644 --- a/samples/spring-data-mybatis/googlesql/pom.xml +++ b/samples/spring-data-mybatis/googlesql/pom.xml @@ -108,7 +108,7 @@ net.bytebuddy byte-buddy - 1.17.8 + 1.18.1 test diff --git a/samples/spring-data-mybatis/postgresql/pom.xml b/samples/spring-data-mybatis/postgresql/pom.xml index 03b3a0473..2d50c8eb4 100644 --- a/samples/spring-data-mybatis/postgresql/pom.xml +++ b/samples/spring-data-mybatis/postgresql/pom.xml @@ -105,7 +105,7 @@ net.bytebuddy byte-buddy - 1.17.8 + 1.18.1 test From 7a48db68cb769246b9307e39e37d8af12641a0fb Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Nov 2025 10:04:59 +0000 Subject: [PATCH 12/19] deps: update dependency com.google.cloud:sdk-platform-java-config to v3.54.1 (#2277) --- .github/workflows/unmanaged_dependency_check.yaml | 2 +- .kokoro/presubmit/graalvm-native-a.cfg | 2 +- .kokoro/presubmit/graalvm-native-b.cfg | 2 +- .kokoro/presubmit/graalvm-native-c.cfg | 2 +- pom.xml | 2 +- samples/quickperf/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml index c4ee2b91a..eb282a64e 100644 --- a/.github/workflows/unmanaged_dependency_check.yaml +++ b/.github/workflows/unmanaged_dependency_check.yaml @@ -14,6 +14,6 @@ jobs: shell: bash run: .kokoro/build.sh - name: Unmanaged dependency check - uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.53.0 + uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.54.1 with: bom-path: pom.xml diff --git a/.kokoro/presubmit/graalvm-native-a.cfg b/.kokoro/presubmit/graalvm-native-a.cfg index 0cf782fcc..df45eaecc 100644 --- a/.kokoro/presubmit/graalvm-native-a.cfg +++ b/.kokoro/presubmit/graalvm-native-a.cfg @@ -3,7 +3,7 @@ # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.53.0" + value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.54.1" } env_vars: { diff --git a/.kokoro/presubmit/graalvm-native-b.cfg b/.kokoro/presubmit/graalvm-native-b.cfg index 15deac1d1..d110d2ae2 100644 --- a/.kokoro/presubmit/graalvm-native-b.cfg +++ b/.kokoro/presubmit/graalvm-native-b.cfg @@ -3,7 +3,7 @@ # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.53.0" + value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.54.1" } env_vars: { diff --git a/.kokoro/presubmit/graalvm-native-c.cfg b/.kokoro/presubmit/graalvm-native-c.cfg index 928626c44..8e8342be5 100644 --- a/.kokoro/presubmit/graalvm-native-c.cfg +++ b/.kokoro/presubmit/graalvm-native-c.cfg @@ -3,7 +3,7 @@ # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.53.0" + value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.54.1" } env_vars: { diff --git a/pom.xml b/pom.xml index 273631bef..26bda9b72 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.google.cloud sdk-platform-java-config - 3.53.0 + 3.54.1 diff --git a/samples/quickperf/pom.xml b/samples/quickperf/pom.xml index 6b9987ca4..1fbf4c702 100644 --- a/samples/quickperf/pom.xml +++ b/samples/quickperf/pom.xml @@ -12,7 +12,7 @@ com.google.cloud sdk-platform-java-config - 3.53.0 + 3.54.1 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 0b58ad4b5..75648f01a 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -9,7 +9,7 @@ com.google.cloud sdk-platform-java-config - 3.53.0 + 3.54.1 From 1213da65f745b88babe6dc2d3805534b47b34bd6 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 18 Nov 2025 07:26:41 +0000 Subject: [PATCH 13/19] deps: update dependency com.google.cloud:google-cloud-spanner-bom to v6.103.0 (#2292) --- pom.xml | 2 +- samples/spring-data-jdbc/googlesql/pom.xml | 2 +- samples/spring-data-jdbc/postgresql/pom.xml | 2 +- samples/spring-data-mybatis/googlesql/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 26bda9b72..78a361886 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ com.google.cloud google-cloud-spanner-bom - 6.102.1 + 6.103.0 pom import diff --git a/samples/spring-data-jdbc/googlesql/pom.xml b/samples/spring-data-jdbc/googlesql/pom.xml index 928e8be9e..22d113825 100644 --- a/samples/spring-data-jdbc/googlesql/pom.xml +++ b/samples/spring-data-jdbc/googlesql/pom.xml @@ -30,7 +30,7 @@ com.google.cloud google-cloud-spanner-bom - 6.102.1 + 6.103.0 import pom diff --git a/samples/spring-data-jdbc/postgresql/pom.xml b/samples/spring-data-jdbc/postgresql/pom.xml index 46c887916..b4256a038 100644 --- a/samples/spring-data-jdbc/postgresql/pom.xml +++ b/samples/spring-data-jdbc/postgresql/pom.xml @@ -30,7 +30,7 @@ com.google.cloud google-cloud-spanner-bom - 6.102.1 + 6.103.0 import pom diff --git a/samples/spring-data-mybatis/googlesql/pom.xml b/samples/spring-data-mybatis/googlesql/pom.xml index 6421c766a..be975b6bc 100644 --- a/samples/spring-data-mybatis/googlesql/pom.xml +++ b/samples/spring-data-mybatis/googlesql/pom.xml @@ -35,7 +35,7 @@ com.google.cloud google-cloud-spanner-bom - 6.102.1 + 6.103.0 import pom From 226850edd1ba3d85a762872abcb70bad836b3ca1 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 18 Nov 2025 07:26:58 +0000 Subject: [PATCH 14/19] deps: update dependency com.google.cloud:google-cloud-spanner to v6.103.0 (#2291) --- samples/spring-data-mybatis/googlesql/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/spring-data-mybatis/googlesql/pom.xml b/samples/spring-data-mybatis/googlesql/pom.xml index be975b6bc..d48edf9ef 100644 --- a/samples/spring-data-mybatis/googlesql/pom.xml +++ b/samples/spring-data-mybatis/googlesql/pom.xml @@ -94,7 +94,7 @@ com.google.cloud google-cloud-spanner - 6.102.1 + 6.103.0 test-jar test From eacbecb7e5340d34d2de1208280dc9432144da26 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 18 Nov 2025 07:27:18 +0000 Subject: [PATCH 15/19] deps: update dependency org.apache.commons:commons-lang3 to v3.20.0 (#2290) --- samples/quickperf/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/quickperf/pom.xml b/samples/quickperf/pom.xml index 1fbf4c702..52b73e145 100644 --- a/samples/quickperf/pom.xml +++ b/samples/quickperf/pom.xml @@ -62,7 +62,7 @@ org.apache.commons commons-lang3 - 3.19.0 + 3.20.0 com.fasterxml.jackson.core From 6aceb6487e46beb45277dee230a66b09e4de1671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Olav=20L=C3=B8ite?= Date: Tue, 18 Nov 2025 09:09:32 +0100 Subject: [PATCH 16/19] feat: add unknownLength connection property (#2286) Adds an `unknownLength` connection property that can be used to configure the length that the JDBC driver should return as the data type / column length when this is not known. Spanner does not return the (maximum) length of a column in ResultSetMetadata. This means that the JDBC driver does not know what the length is of the various columns in query results. The value of `unknownLength` will be returned when the getPrecision and getColumnDisplaySize methods of ResultSetMetaData are called. This connection property aligns with the same connection parameter in the PostgreSQL JDBC driver: https://jdbc.postgresql.org/documentation/use/#connection-parameters --- documentation/connection_properties.md | 8 +++-- .../cloud/spanner/jdbc/JdbcConnection.java | 6 ++++ .../spanner/jdbc/JdbcResultSetMetaData.java | 35 +++++++++++-------- .../jdbc/JdbcResultSetMetaDataTest.java | 6 ++-- 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/documentation/connection_properties.md b/documentation/connection_properties.md index c0cd13861..3e0f5efe3 100644 --- a/documentation/connection_properties.md +++ b/documentation/connection_properties.md @@ -13,11 +13,12 @@ The 'Context' value indicates whether the property can only be set when a connec | autocommit_dml_mode | Determines the transaction type that is used to execute DML statements when the connection is in auto-commit mode. | TRANSACTIONAL | TRANSACTIONAL, PARTITIONED_NON_ATOMIC, TRANSACTIONAL_WITH_FALLBACK_TO_PARTITIONED_NON_ATOMIC, null | USER | | autoconfigemulator | Automatically configure the connection to try to connect to the Cloud Spanner emulator (true/false). The instance and database in the connection string will automatically be created if these do not yet exist on the emulator. Add dialect=postgresql to the connection string to make sure that the database that is created uses the PostgreSQL dialect. | false | true, false | STARTUP | | autopartitionmode | Execute all queries on this connection as partitioned queries. Executing a query that cannot be partitioned will fail. Executing a query in a read/write transaction will also fail. | false | true, false | USER | +| batch_dml_update_count | The update count that is returned for DML statements that are executed in an explicit DML batch. The default is -1 | -1 | | USER | | channelprovider | The name of the channel provider class. The name must reference an implementation of ExternalChannelProvider. If this property is not set, the connection will use the default grpc channel provider. | | | STARTUP | | clientcertificate | Specifies the file path to the client certificate required for establishing an mTLS connection. | | | STARTUP | | clientkey | Specifies the file path to the client private key required for establishing an mTLS connection. | | | STARTUP | | connection_state_type | The type of connection state to use for this connection. Can only be set at start up. If no value is set, then the database dialect default will be used, which is NON_TRANSACTIONAL for GoogleSQL and TRANSACTIONAL for PostgreSQL. | | TRANSACTIONAL, NON_TRANSACTIONAL | STARTUP | -| credentials | The location of the credentials file to use for this connection. If neither this property or encoded credentials are set, the connection will use the default Google Cloud credentials for the runtime environment. | | | STARTUP | +| credentials | The location of the credentials file to use for this connection. If neither this property or encoded credentials are set, the connection will use the default Google Cloud credentials for the runtime environment. WARNING: Using this property without proper validation can expose the application to security risks. It is intended for use with credentials from a trusted source only, as it could otherwise allow end-users to supply arbitrary credentials. For more information, seehttps://cloud.google.com/docs/authentication/client-libraries#external-credentials | | | STARTUP | | credentialsprovider | The class name of the com.google.api.gax.core.CredentialsProvider implementation that should be used to obtain credentials for connections. | | | STARTUP | | databaserole | Sets the database role to use for this connection. The default is privileges assigned to IAM role | | | STARTUP | | databoostenabled | Enable data boost for all partitioned queries that are executed by this connection. This setting is only used for partitioned queries and is ignored by all other statements. | false | true, false | USER | @@ -31,8 +32,9 @@ The 'Context' value indicates whether the property can only be set when a connec | enabledirectaccess | Configure the connection to try to connect to Spanner using DirectPath (true/false). The client will try to connect to Spanner using a direct Google network connection. DirectPath will work only if the client is trying to establish a connection from a Google Cloud VM. Otherwise it will automatically fallback to the standard network path. NOTE: The default for this property is currently false, but this could be changed in the future. | | true, false | STARTUP | | enableendtoendtracing | Enable end-to-end tracing (true/false) to generate traces for both the time that is spent in the client, as well as time that is spent in the Spanner server. Server side traces can only go to Google Cloud Trace, so to see end to end traces, the application should configure an exporter that exports the traces to Google Cloud Trace. | false | true, false | STARTUP | | enableextendedtracing | Include the SQL string in the OpenTelemetry traces that are generated by this connection. The SQL string is added as the standard OpenTelemetry attribute 'db.statement'. | | true, false | STARTUP | -| encodedcredentials | Base64-encoded credentials to use for this connection. If neither this property or a credentials location are set, the connection will use the default Google Cloud credentials for the runtime environment. | | | STARTUP | +| encodedcredentials | Base64-encoded credentials to use for this connection. If neither this property or a credentials location are set, the connection will use the default Google Cloud credentials for the runtime environment. WARNING: Enabling this property without proper validation can expose the application to security risks. It is intended for use with credentials from a trusted source only, as it could otherwise allow end-users to supply arbitrary credentials. For more information, seehttps://cloud.google.com/docs/authentication/client-libraries#external-credentials | | | STARTUP | | endpoint | The endpoint that the JDBC driver should connect to. The default is the default Spanner production endpoint when autoConfigEmulator=false, and the default Spanner emulator endpoint (localhost:9010) when autoConfigEmulator=true. This property takes precedence over any host name at the start of the connection URL. | | | STARTUP | +| grpc_interceptor_provider | The class name of a com.google.api.gax.grpc.GrpcInterceptorProvider implementation that should be used to provide interceptors for the underlying Spanner client. This is a guarded property that can only be set if the Java System Property ENABLE_GRPC_INTERCEPTOR_PROVIDER has been set to true. This property should only be set to true on systems where an untrusted user cannot modify the connection URL, as using this property will dynamically invoke the constructor of the class specified. This means that any user that can modify the connection URL, can also dynamically invoke code on the host where the application is running. | | | STARTUP | | isexperimentalhost | Set this value to true for communication with a Experimental Host. | false | true, false | STARTUP | | keeptransactionalive | Enabling this option will trigger the connection to keep read/write transactions alive by executing a SELECT 1 query once every 10 seconds if no other statements are being executed. This option should be used with caution, as it can keep transactions alive and hold on to locks longer than intended. This option should typically be used for CLI-type application that might wait for user input for a longer period of time. | false | true, false | USER | | lenient | Silently ignore unknown properties in the connection string/properties (true/false) | false | true, false | STARTUP | @@ -53,11 +55,13 @@ The 'Context' value indicates whether the property can only be set when a connec | routetoleader | Should read/write transactions and partitioned DML be routed to leader region (true/false) | true | true, false | STARTUP | | rpcpriority | Sets the priority for all RPC invocations from this connection (HIGH/MEDIUM/LOW). The default is HIGH. | | LOW, MEDIUM, HIGH, UNSPECIFIED, null | USER | | savepoint_support | Determines the behavior of the connection when savepoints are used. | FAIL_AFTER_ROLLBACK | ENABLED, FAIL_AFTER_ROLLBACK, DISABLED | USER | +| statement_timeout | Adds a timeout to all statements executed on this connection. This property is only used when a statement timeout is specified. | | | USER | | tracing_prefix | The prefix that will be prepended to all OpenTelemetry traces that are generated by a Connection. | CloudSpanner | | STARTUP | | trackconnectionleaks | Capture the call stack of the thread that created a connection. This will pre-create a LeakedConnectionException already when a connection is created. This can be disabled, for example if a monitoring system logs the pre-created exception. If disabled, the LeakedConnectionException will only be created when an actual connection leak is detected. The stack trace of the exception will in that case not contain the call stack of when the connection was created. | true | true, false | STARTUP | | tracksessionleaks | Capture the call stack of the thread that checked out a session of the session pool. This will pre-create a LeakedSessionException already when a session is checked out. This can be disabled, for example if a monitoring system logs the pre-created exception. If disabled, the LeakedSessionException will only be created when an actual session leak is detected. The stack trace of the exception will in that case not contain the call stack of when the session was checked out. | true | true, false | STARTUP | | transaction_timeout | Timeout for read/write transactions. | | | USER | | universedomain | Configure the connection to try to connect to Spanner using a different partner Google Universe than GDU (googleapis.com). | googleapis.com | | STARTUP | +| unknownlength | Spanner does not return the length of the selected columns in query results. When returning meta-data about these columns through functions like ResultSetMetaData.getColumnDisplaySize and ResultSetMetaData.getPrecision, we must provide a value. Various client tools and applications have different ideas about what they would like to see. This property specifies the length to return for types of unknown length. | 50 | | USER | | useautosavepointsforemulator | Automatically creates savepoints for each statement in a read/write transaction when using the Emulator. This is no longer needed when using Emulator version 1.5.23 or higher. | false | true, false | STARTUP | | useplaintext | Use a plain text communication channel (i.e. non-TLS) for communicating with the server (true/false). Set this value to true for communication with the Cloud Spanner emulator. | false | true, false | STARTUP | | useragent | The custom user-agent property name to use when communicating with Cloud Spanner. This property is intended for internal library usage, and should not be set by applications. | | | STARTUP | diff --git a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java index e603c29ac..8041e8d68 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java @@ -29,6 +29,7 @@ import com.google.cloud.spanner.connection.AutocommitDmlMode; import com.google.cloud.spanner.connection.Connection; import com.google.cloud.spanner.connection.ConnectionOptions; +import com.google.cloud.spanner.connection.ConnectionProperties; import com.google.cloud.spanner.connection.SavepointSupport; import com.google.cloud.spanner.connection.TransactionMode; import com.google.common.annotations.VisibleForTesting; @@ -236,6 +237,11 @@ public String getOptimizerVersion() throws SQLException { return getSpannerConnection().getOptimizerVersion(); } + /** Returns the value that should be returned for column types with an unknown length. */ + int getColumnTypeUnknownLength() { + return getSpannerConnection().getConnectionPropertyValue(ConnectionProperties.UNKNOWN_LENGTH); + } + @Override public boolean isInTransaction() throws SQLException { checkClosed(); diff --git a/src/main/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaData.java b/src/main/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaData.java index ff1ec2e2e..f582ce45e 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaData.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaData.java @@ -17,7 +17,9 @@ package com.google.cloud.spanner.jdbc; import com.google.cloud.spanner.ResultSet; +import com.google.cloud.spanner.connection.ConnectionProperties; import com.google.common.base.Preconditions; +import java.sql.Connection; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; @@ -25,12 +27,6 @@ /** Implementation of {@link ResultSetMetaData} for Cloud Spanner */ class JdbcResultSetMetaData extends AbstractJdbcWrapper implements ResultSetMetaData { - /** - * The default column display size for columns with a data type of variable size that is used when - * the actual column size is not known. - */ - private static final int DEFAULT_COL_DISPLAY_SIZE_FOR_VARIABLE_LENGTH_COLS = 50; - private final ResultSet spannerResultSet; private final Statement statement; @@ -83,16 +79,15 @@ public boolean isSigned(int column) { } @Override - public int getColumnDisplaySize(int column) { + public int getColumnDisplaySize(int column) throws SQLException { int colType = getColumnType(column); switch (colType) { case Types.ARRAY: - return DEFAULT_COL_DISPLAY_SIZE_FOR_VARIABLE_LENGTH_COLS; + return getUnknownLength(); case Types.BOOLEAN: return 5; case Types.BINARY: - int binaryLength = getPrecision(column); - return binaryLength == 0 ? DEFAULT_COL_DISPLAY_SIZE_FOR_VARIABLE_LENGTH_COLS : binaryLength; + return getPrecision(column); case Types.DATE: return 10; case Types.REAL: @@ -105,8 +100,7 @@ public int getColumnDisplaySize(int column) { case Types.NUMERIC: return 14; case Types.NVARCHAR: - int length = getPrecision(column); - return length == 0 ? DEFAULT_COL_DISPLAY_SIZE_FOR_VARIABLE_LENGTH_COLS : length; + return getPrecision(column); case Types.TIMESTAMP: return 16; default: @@ -130,7 +124,7 @@ public String getSchemaName(int column) throws SQLException { } @Override - public int getPrecision(int column) { + public int getPrecision(int column) throws SQLException { int colType = getColumnType(column); switch (colType) { case Types.BOOLEAN: @@ -153,9 +147,20 @@ public int getPrecision(int column) { // For column types with variable size, such as text columns, we should return the length // in characters. We could try to fetch it from INFORMATION_SCHEMA, but that would mean // parsing the SQL statement client side in order to figure out which column it actually - // is. For now we just return the default column display size. - return DEFAULT_COL_DISPLAY_SIZE_FOR_VARIABLE_LENGTH_COLS; + // is. Instead, we return a configurable fixed length. This is also consistent with for + // example the PostgreSQL JDBC driver. See the 'unknownLength' connection property: + // https://jdbc.postgresql.org/documentation/use/#connection-parameters + return getUnknownLength(); + } + } + + private int getUnknownLength() throws SQLException { + Connection connection = statement.getConnection(); + if (connection instanceof JdbcConnection) { + JdbcConnection jdbcConnection = (JdbcConnection) connection; + return jdbcConnection.getColumnTypeUnknownLength(); } + return ConnectionProperties.UNKNOWN_LENGTH.getDefaultValue(); } @Override diff --git a/src/test/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaDataTest.java b/src/test/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaDataTest.java index 53b58dcc1..36996c801 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaDataTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/JdbcResultSetMetaDataTest.java @@ -362,7 +362,7 @@ public void testIsSigned() { } @Test - public void testGetColumnDisplaySize() { + public void testGetColumnDisplaySize() throws SQLException { for (int i = 1; i <= TEST_COLUMNS.size(); i++) { assertEquals( "Wrong column display size for " + TEST_COLUMNS.get(i - 1).type, @@ -371,7 +371,7 @@ public void testGetColumnDisplaySize() { } } - private int getDefaultDisplaySize(Type type, int column) { + private int getDefaultDisplaySize(Type type, int column) throws SQLException { Preconditions.checkNotNull(type); switch (type.getCode()) { case BOOL: @@ -425,7 +425,7 @@ public void testGetSchemaName() throws SQLException { } @Test - public void testGetPrecision() { + public void testGetPrecision() throws SQLException { for (int i = 1; i <= TEST_COLUMNS.size(); i++) { assertEquals( "Wrong precision for type " + TEST_COLUMNS.get(i - 1).type, From d64f6c6adb2f17b53acda3006aff9dc2aabb4dfc Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 18 Nov 2025 08:09:53 +0000 Subject: [PATCH 17/19] deps: update dependency com.google.cloud:google-cloud-trace to v2.80.0 (#2289) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 78a361886..835c90127 100644 --- a/pom.xml +++ b/pom.xml @@ -216,7 +216,7 @@ com.google.cloud google-cloud-trace - 2.79.0 + 2.80.0 test From b859d8e07ae7d9e3f71d431cc16cfa1e4b9fb2e4 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 18 Nov 2025 08:10:16 +0000 Subject: [PATCH 18/19] deps: update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.80.0 (#2288) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 835c90127..eabf608d9 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ com.google.api.grpc proto-google-cloud-trace-v1 - 2.79.0 + 2.80.0 test From 155feb47dee9ff5db9ec2e0fc0b87b53af71f67e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 11:16:46 +0100 Subject: [PATCH 19/19] chore(main): release 2.34.0 (#2276) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ README.md | 6 +++--- pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- versions.txt | 2 +- 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9253794c..ddcb0c48e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,31 @@ # Changelog +## [2.34.0](https://github.com/googleapis/java-spanner-jdbc/compare/v2.33.3...v2.34.0) (2025-11-18) + + +### Features + +* Add unknownLength connection property ([#2286](https://github.com/googleapis/java-spanner-jdbc/issues/2286)) ([6aceb64](https://github.com/googleapis/java-spanner-jdbc/commit/6aceb6487e46beb45277dee230a66b09e4de1671)) + + +### Dependencies + +* Update dependency com.fasterxml.jackson.core:jackson-databind to v2.20.1 ([#2275](https://github.com/googleapis/java-spanner-jdbc/issues/2275)) ([559cdee](https://github.com/googleapis/java-spanner-jdbc/commit/559cdee7633ae508f857890770f173ac2f18d2ca)) +* Update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.79.0 ([#2281](https://github.com/googleapis/java-spanner-jdbc/issues/2281)) ([3a15afa](https://github.com/googleapis/java-spanner-jdbc/commit/3a15afa13b1583e0941a909ac09acac49c532a36)) +* Update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.80.0 ([#2288](https://github.com/googleapis/java-spanner-jdbc/issues/2288)) ([b859d8e](https://github.com/googleapis/java-spanner-jdbc/commit/b859d8e07ae7d9e3f71d431cc16cfa1e4b9fb2e4)) +* Update dependency com.google.cloud:google-cloud-spanner to v6.103.0 ([#2291](https://github.com/googleapis/java-spanner-jdbc/issues/2291)) ([226850e](https://github.com/googleapis/java-spanner-jdbc/commit/226850edd1ba3d85a762872abcb70bad836b3ca1)) +* Update dependency com.google.cloud:google-cloud-spanner-bom to v6.103.0 ([#2292](https://github.com/googleapis/java-spanner-jdbc/issues/2292)) ([1213da6](https://github.com/googleapis/java-spanner-jdbc/commit/1213da65f745b88babe6dc2d3805534b47b34bd6)) +* Update dependency com.google.cloud:google-cloud-trace to v2.79.0 ([#2282](https://github.com/googleapis/java-spanner-jdbc/issues/2282)) ([ebbb0de](https://github.com/googleapis/java-spanner-jdbc/commit/ebbb0deb3e7c1e7f564a9a1a792ecba336d5fcb0)) +* Update dependency com.google.cloud:google-cloud-trace to v2.80.0 ([#2289](https://github.com/googleapis/java-spanner-jdbc/issues/2289)) ([d64f6c6](https://github.com/googleapis/java-spanner-jdbc/commit/d64f6c6adb2f17b53acda3006aff9dc2aabb4dfc)) +* Update dependency com.google.cloud:sdk-platform-java-config to v3.54.1 ([#2277](https://github.com/googleapis/java-spanner-jdbc/issues/2277)) ([7a48db6](https://github.com/googleapis/java-spanner-jdbc/commit/7a48db68cb769246b9307e39e37d8af12641a0fb)) +* Update dependency commons-cli:commons-cli to v1.11.0 ([#2283](https://github.com/googleapis/java-spanner-jdbc/issues/2283)) ([7582363](https://github.com/googleapis/java-spanner-jdbc/commit/75823638436e446f1e0a7904dd485b2f84b16f3d)) +* Update dependency io.opentelemetry:opentelemetry-bom to v1.56.0 ([#2278](https://github.com/googleapis/java-spanner-jdbc/issues/2278)) ([1fd49aa](https://github.com/googleapis/java-spanner-jdbc/commit/1fd49aa604a395032df675f5f9589eed9ea901c2)) +* Update dependency net.bytebuddy:byte-buddy to v1.18.1 ([#2279](https://github.com/googleapis/java-spanner-jdbc/issues/2279)) ([fa83919](https://github.com/googleapis/java-spanner-jdbc/commit/fa83919382619c3cb6abc567e7d6753a2e2ead33)) +* Update dependency net.bytebuddy:byte-buddy-agent to v1.18.1 ([#2280](https://github.com/googleapis/java-spanner-jdbc/issues/2280)) ([4237635](https://github.com/googleapis/java-spanner-jdbc/commit/4237635cc33784cecf9aa62d757fbf3fd4d1702d)) +* Update dependency org.apache.commons:commons-lang3 to v3.20.0 ([#2290](https://github.com/googleapis/java-spanner-jdbc/issues/2290)) ([eacbecb](https://github.com/googleapis/java-spanner-jdbc/commit/eacbecb7e5340d34d2de1208280dc9432144da26)) +* Update dependency org.testcontainers:testcontainers to v2.0.2 ([#2284](https://github.com/googleapis/java-spanner-jdbc/issues/2284)) ([092f5a1](https://github.com/googleapis/java-spanner-jdbc/commit/092f5a129761f0c8c9d8207c611232a086328896)) +* Update dependency org.testcontainers:testcontainers-bom to v2.0.2 ([#2285](https://github.com/googleapis/java-spanner-jdbc/issues/2285)) ([360a9fb](https://github.com/googleapis/java-spanner-jdbc/commit/360a9fbe0077abe072f2834823c9f208e2325fcf)) + ## [2.33.3](https://github.com/googleapis/java-spanner-jdbc/compare/v2.33.2...v2.33.3) (2025-10-28) diff --git a/README.md b/README.md index d6bac06ef..c43a63e3e 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-spanner-jdbc - 2.33.3 + 2.34.0 ``` @@ -30,7 +30,7 @@ If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-spanner-jdbc:2.33.3' +implementation 'com.google.cloud:google-cloud-spanner-jdbc:2.34.0' ``` @@ -38,7 +38,7 @@ If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-spanner-jdbc" % "2.33.3" +libraryDependencies += "com.google.cloud" % "google-cloud-spanner-jdbc" % "2.34.0" ``` diff --git a/pom.xml b/pom.xml index eabf608d9..6495c5601 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-spanner-jdbc - 2.33.4-SNAPSHOT + 2.34.0 jar Google Cloud Spanner JDBC https://github.com/googleapis/java-spanner-jdbc diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 5fa54aaac..0eaafc475 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-spanner-jdbc - 2.33.4-SNAPSHOT + 2.34.0 diff --git a/versions.txt b/versions.txt index 1ffb9187e..5bc601e20 100644 --- a/versions.txt +++ b/versions.txt @@ -1,4 +1,4 @@ # Format: # module:released-version:current-version -google-cloud-spanner-jdbc:2.33.3:2.33.4-SNAPSHOT +google-cloud-spanner-jdbc:2.34.0:2.34.0