Skip to content

Commit fb58f61

Browse files
committed
feat(spanner): support spanner prefix jdbc url
1 parent 6f90d84 commit fb58f61

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ private Builder() {}
643643
"(?:cloudspanner:)(?<HOSTGROUP>//[\\w.-]+(?:\\.[\\w\\.-]+)*[\\w\\-\\._~:/?#\\[\\]@!\\$&'\\(\\)\\*\\+,;=.]+)?/projects/(?<PROJECTGROUP>(([a-z]|[-.:]|[0-9])+|(DEFAULT_PROJECT_ID)))(/instances/(?<INSTANCEGROUP>([a-z]|[-]|[0-9])+)(/databases/(?<DATABASEGROUP>([a-z]|[-]|[_]|[0-9])+))?)?(?:[?|;].*)?";
644644

645645
public static final String EXTERNAL_HOST_FORMAT =
646-
"(?:cloudspanner:)(?<HOSTGROUP>//[\\w.-]+(?::\\d+)?)(/instances/(?<INSTANCEGROUP>[a-z0-9-]+))?(/databases/(?<DATABASEGROUP>[a-z0-9_-]+))(?:[?;].*)?";
646+
"(?:spanner:)(?<HOSTGROUP>//[\\w.-]+(?::\\d+)?)(/instances/(?<INSTANCEGROUP>[a-z0-9-]+))?(/databases/(?<DATABASEGROUP>[a-z0-9_-]+))(?:[?;].*)?";
647647
private static final String SPANNER_URI_REGEX = "(?is)^" + SPANNER_URI_FORMAT + "$";
648648

649649
@VisibleForTesting

google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,19 +1216,18 @@ public void testEnableApiTracing() {
12161216
@Test
12171217
public void testExternalHostPatterns() {
12181218
Matcher matcherWithoutInstance =
1219-
EXTERNAL_HOST_PATTERN.matcher("cloudspanner://localhost:15000/databases/test-db");
1219+
EXTERNAL_HOST_PATTERN.matcher("spanner://localhost:15000/databases/test-db");
12201220
assertTrue(matcherWithoutInstance.matches());
12211221
assertNull(matcherWithoutInstance.group("INSTANCEGROUP"));
12221222
assertEquals("test-db", matcherWithoutInstance.group("DATABASEGROUP"));
12231223
Matcher matcherWithProperty =
12241224
EXTERNAL_HOST_PATTERN.matcher(
1225-
"cloudspanner://localhost:15000/instances/default/databases/singers-db?usePlainText=true");
1225+
"spanner://localhost:15000/instances/default/databases/singers-db?usePlainText=true");
12261226
assertTrue(matcherWithProperty.matches());
12271227
assertEquals("default", matcherWithProperty.group("INSTANCEGROUP"));
12281228
assertEquals("singers-db", matcherWithProperty.group("DATABASEGROUP"));
12291229
Matcher matcherWithoutPort =
1230-
EXTERNAL_HOST_PATTERN.matcher(
1231-
"cloudspanner://localhost/instances/default/databases/test-db");
1230+
EXTERNAL_HOST_PATTERN.matcher("spanner://localhost/instances/default/databases/test-db");
12321231
assertTrue(matcherWithoutPort.matches());
12331232
assertEquals("default", matcherWithoutPort.group("INSTANCEGROUP"));
12341233
assertEquals("test-db", matcherWithoutPort.group("DATABASEGROUP"));
@@ -1242,10 +1241,10 @@ public void testExternalHostPatterns() {
12421241
ImmutableMap.of()));
12431242
Matcher matcherWithProject =
12441243
EXTERNAL_HOST_PATTERN.matcher(
1245-
"cloudspanner://localhost:15000/projects/default/instances/default/databases/singers-db");
1244+
"spanner://localhost:15000/projects/default/instances/default/databases/singers-db");
12461245
assertFalse(matcherWithProject.matches());
12471246
Matcher matcherWithoutHost =
1248-
EXTERNAL_HOST_PATTERN.matcher("cloudspanner:/instances/default/databases/singers-db");
1247+
EXTERNAL_HOST_PATTERN.matcher("spanner:/instances/default/databases/singers-db");
12491248
assertFalse(matcherWithoutHost.matches());
12501249
}
12511250
}

0 commit comments

Comments
 (0)