From 006dafcb5bb536cd88bd02bdd3eb54aec82ac23c Mon Sep 17 00:00:00 2001 From: sagnghos Date: Mon, 8 Jun 2026 14:48:22 +0000 Subject: [PATCH 1/2] chore(spanner): cleanup external host reference --- .../com/google/cloud/spanner/jdbc/JdbcDriver.java | 12 ++++++------ .../google/cloud/spanner/jdbc/JdbcDriverTest.java | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/java-spanner-jdbc/src/main/java/com/google/cloud/spanner/jdbc/JdbcDriver.java b/java-spanner-jdbc/src/main/java/com/google/cloud/spanner/jdbc/JdbcDriver.java index 8e8bd0726317..77362b605d02 100644 --- a/java-spanner-jdbc/src/main/java/com/google/cloud/spanner/jdbc/JdbcDriver.java +++ b/java-spanner-jdbc/src/main/java/com/google/cloud/spanner/jdbc/JdbcDriver.java @@ -147,11 +147,11 @@ public class JdbcDriver implements Driver { private static final String JDBC_URL_FORMAT = "jdbc:" + ConnectionOptions.Builder.SPANNER_URI_FORMAT; private static final Pattern URL_PATTERN = Pattern.compile(JDBC_URL_FORMAT); - private static final String JDBC_EXTERNAL_HOST_FORMAT = - "jdbc:" + ConnectionOptions.Builder.EXTERNAL_HOST_FORMAT; + private static final String JDBC_SPANNER_OMNI_FORMAT = + "jdbc:" + ConnectionOptions.Builder.SPANNER_OMNI_FORMAT; @VisibleForTesting - static final Pattern EXTERNAL_HOST_URL_PATTERN = Pattern.compile(JDBC_EXTERNAL_HOST_FORMAT); + static final Pattern SPANNER_OMNI_URL_PATTERN = Pattern.compile(JDBC_SPANNER_OMNI_FORMAT); @InternalApi public static String getClientLibToken() { @@ -222,8 +222,8 @@ public Connection connect(String url, Properties info) throws SQLException { if (url != null && (url.startsWith("jdbc:cloudspanner") || url.startsWith("jdbc:spanner"))) { try { Matcher matcher = URL_PATTERN.matcher(url); - Matcher matcherExternalHost = EXTERNAL_HOST_URL_PATTERN.matcher(url); - if (matcher.matches() || matcherExternalHost.matches()) { + Matcher matcherSpannerOmni = SPANNER_OMNI_URL_PATTERN.matcher(url); + if (matcher.matches() || matcherSpannerOmni.matches()) { // strip 'jdbc:' from the URL, add any extra properties and pass on to the generic // Connection API. Also set the user-agent if we detect that the connection // comes from known framework like Hibernate, and there is no other user-agent set. @@ -320,7 +320,7 @@ static String appendPropertiesToUrl(String url, Properties info) { @Override public boolean acceptsURL(String url) { - return URL_PATTERN.matcher(url).matches() || EXTERNAL_HOST_URL_PATTERN.matcher(url).matches(); + return URL_PATTERN.matcher(url).matches() || SPANNER_OMNI_URL_PATTERN.matcher(url).matches(); } @Override diff --git a/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java b/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java index 9ae33fa6f294..508ee8726d40 100644 --- a/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java +++ b/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java @@ -16,7 +16,7 @@ package com.google.cloud.spanner.jdbc; -import static com.google.cloud.spanner.jdbc.JdbcDriver.EXTERNAL_HOST_URL_PATTERN; +import static com.google.cloud.spanner.jdbc.JdbcDriver.SPANNER_OMNI_URL_PATTERN; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -229,27 +229,27 @@ public void testAcceptsURL() throws SQLException { @Test public void testJdbcExternalHostFormat() { Matcher matcherWithoutInstance = - EXTERNAL_HOST_URL_PATTERN.matcher("jdbc:cloudspanner://localhost:15000/databases/test-db"); + SPANNER_OMNI_URL_PATTERN.matcher("jdbc:cloudspanner://localhost:15000/databases/test-db"); assertTrue(matcherWithoutInstance.matches()); assertEquals("test-db", matcherWithoutInstance.group("DATABASEGROUP")); Matcher matcherWithProperty = - EXTERNAL_HOST_URL_PATTERN.matcher( + SPANNER_OMNI_URL_PATTERN.matcher( "jdbc:cloudspanner://localhost:15000/instances/default/databases/singers-db?usePlainText=true"); assertTrue(matcherWithProperty.matches()); assertEquals("default", matcherWithProperty.group("INSTANCEGROUP")); assertEquals("singers-db", matcherWithProperty.group("DATABASEGROUP")); Matcher matcherWithoutPort = - EXTERNAL_HOST_URL_PATTERN.matcher( + SPANNER_OMNI_URL_PATTERN.matcher( "jdbc:cloudspanner://localhost/instances/default/databases/test-db"); assertTrue(matcherWithoutPort.matches()); assertEquals("default", matcherWithoutPort.group("INSTANCEGROUP")); assertEquals("test-db", matcherWithoutPort.group("DATABASEGROUP")); Matcher matcherWithProject = - EXTERNAL_HOST_URL_PATTERN.matcher( + SPANNER_OMNI_URL_PATTERN.matcher( "jdbc:cloudspanner://localhost:15000/projects/default/instances/default/databases/singers-db"); assertFalse(matcherWithProject.matches()); Matcher matcherWithoutHost = - EXTERNAL_HOST_URL_PATTERN.matcher( + SPANNER_OMNI_URL_PATTERN.matcher( "jdbc:cloudspanner:/instances/default/databases/singers-db"); assertFalse(matcherWithoutHost.matches()); } From dcb5960c53f0032c6755e253d9842564001ac8bc Mon Sep 17 00:00:00 2001 From: sagnghos Date: Thu, 11 Jun 2026 08:50:47 +0000 Subject: [PATCH 2/2] refactor test method name --- .../test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java b/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java index 508ee8726d40..3acc194348d7 100644 --- a/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java +++ b/java-spanner-jdbc/src/test/java/com/google/cloud/spanner/jdbc/JdbcDriverTest.java @@ -227,7 +227,7 @@ public void testAcceptsURL() throws SQLException { } @Test - public void testJdbcExternalHostFormat() { + public void testJdbcSpannerOmniFormat() { Matcher matcherWithoutInstance = SPANNER_OMNI_URL_PATTERN.matcher("jdbc:cloudspanner://localhost:15000/databases/test-db"); assertTrue(matcherWithoutInstance.matches());