This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 0c25e13 fix bug:sqlserver databasename cannot contain dot (#8349)
0c25e13 is described below
commit 0c25e13c70f53d2b4f5a8642f68cd04856648075
Author: riyun1989 <[email protected]>
AuthorDate: Thu Nov 26 12:51:33 2020 +0800
fix bug:sqlserver databasename cannot contain dot (#8349)
* fix bug:sqlserver databasename cannot contain dot
* delete emtpy lines for Checkstyle
Co-authored-by: [email protected] <one+one=1314>
---
.../metadata/dialect/SQLServerDataSourceMetaData.java | 2 +-
.../dialect/SQLServerDataSourceMetaDataTest.java | 18 ++++++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
index 2c3ad0f..2edcc2a 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
@@ -41,7 +41,7 @@ public final class SQLServerDataSourceMetaData implements
DataSourceMetaData {
private final String schema;
- private final Pattern pattern =
Pattern.compile("jdbc:(microsoft:)?sqlserver://([\\w\\-\\.]+):?([0-9]*);\\S*(DatabaseName|database)=([\\w\\-]+);?",
Pattern.CASE_INSENSITIVE);
+ private final Pattern pattern =
Pattern.compile("jdbc:(microsoft:)?sqlserver://([\\w\\-\\.]+):?([0-9]*);\\S*(DatabaseName|database)=([\\w\\-\\.]+);?",
Pattern.CASE_INSENSITIVE);
public SQLServerDataSourceMetaData(final String url) {
Matcher matcher = pattern.matcher(url);
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
index 6880be7..69718f5 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
@@ -58,6 +58,24 @@ public final class SQLServerDataSourceMetaDataTest {
assertThat(actual.getPort(), is(1433));
assertNull(actual.getSchema());
}
+
+ @Test
+ public void assertNewConstructorWithDataBaseNameContainDotAndMicrosoft() {
+ SQLServerDataSourceMetaData actual = new
SQLServerDataSourceMetaData("jdbc:microsoft:sqlserver://127.0.0.1:9999;DatabaseName=ds_0.0.0");
+ assertThat(actual.getHostName(), is("127.0.0.1"));
+ assertThat(actual.getPort(), is(9999));
+ assertThat(actual.getCatalog(), is("ds_0.0.0"));
+ assertNull(actual.getSchema());
+ }
+
+ @Test
+ public void
assertNewConstructorWithDataBaseNameContainDotAndWithoutMicrosoft() {
+ SQLServerDataSourceMetaData actual = new
SQLServerDataSourceMetaData("jdbc:sqlserver://127.0.0.1:9999;DatabaseName=ds_0.0.0");
+ assertThat(actual.getHostName(), is("127.0.0.1"));
+ assertThat(actual.getPort(), is(9999));
+ assertThat(actual.getCatalog(), is("ds_0.0.0"));
+ assertNull(actual.getSchema());
+ }
@Test(expected = UnrecognizedDatabaseURLException.class)
public void assertNewConstructorFailure() {