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 702b47974f0 Fix MySQLDataTypeLoader SPI declare (#27559)
702b47974f0 is described below
commit 702b47974f09efa73bdbbce11cefdc9d9903f782
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 29 21:23:35 2023 +0800
Fix MySQLDataTypeLoader SPI declare (#27559)
* Refactor DataTypeLoader
* Fix MySQLDataTypeLoader SPI declare
* Rename TrunkDialectDatabaseMetaData
---
...aFixture.java => TrunkDialectDatabaseMetaData.java} | 2 +-
...base.core.metadata.database.DialectDatabaseMetaData | 2 +-
...re.metadata.database.datatype.DialectDataTypeLoader | 18 ------------------
.../infra/database/mysql/MySQLMetaDataLoaderTest.java | 14 ++++----------
4 files changed, 6 insertions(+), 30 deletions(-)
diff --git
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/DialectDatabaseMetaDataFixture.java
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
similarity index 94%
rename from
infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/DialectDatabaseMetaDataFixture.java
rename to
infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
index 3e2ed45f9cd..56d0c4bc514 100644
---
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/DialectDatabaseMetaDataFixture.java
+++
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDa
import
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
import
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-public final class DialectDatabaseMetaDataFixture implements
DialectDatabaseMetaData {
+public final class TrunkDialectDatabaseMetaData implements
DialectDatabaseMetaData {
@Override
public QuoteCharacter getQuoteCharacter() {
diff --git
a/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
b/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
index 74a71ed3bd6..1614cb55be6 100644
---
a/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
+++
b/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.infra.database.core.metadata.database.fixture.DialectDatabaseMetaDataFixture
+org.apache.shardingsphere.infra.database.core.metadata.database.fixture.TrunkDialectDatabaseMetaData
diff --git
a/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.datatype.DialectDataTypeLoader
b/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.datatype.DialectDataTypeLoader
deleted file mode 100644
index da4efbf4bb1..00000000000
---
a/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.datatype.DialectDataTypeLoader
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.infra.database.mysql.MySQLDataTypeLoader
diff --git
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLMetaDataLoaderTest.java
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLMetaDataLoaderTest.java
index 3a2a0f31834..cefb866e35a 100644
---
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLMetaDataLoaderTest.java
+++
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLMetaDataLoaderTest.java
@@ -34,17 +34,17 @@ import java.sql.Types;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
-import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
class MySQLMetaDataLoaderTest {
+ private final DialectMetaDataLoader dialectMetaDataLoader =
DatabaseTypedSPILoader.getService(DialectMetaDataLoader.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
+
@Test
void assertLoadWithoutTables() throws SQLException {
DataSource dataSource = mockDataSource();
@@ -55,7 +55,7 @@ class MySQLMetaDataLoaderTest {
ResultSet indexResultSet = mockIndexMetaDataResultSet();
when(dataSource.getConnection().prepareStatement("SELECT TABLE_NAME,
INDEX_NAME "
+ "FROM information_schema.statistics WHERE TABLE_SCHEMA=? and
TABLE_NAME IN ('tbl')").executeQuery()).thenReturn(indexResultSet);
-
assertTableMetaDataMap(getDialectTableMetaDataLoader().load(dataSource,
Collections.emptyList(), "sharding_db"));
+ assertTableMetaDataMap(dialectMetaDataLoader.load(dataSource,
Collections.emptyList(), "sharding_db"));
}
@Test
@@ -69,7 +69,7 @@ class MySQLMetaDataLoaderTest {
when(dataSource.getConnection().prepareStatement(
"SELECT TABLE_NAME, INDEX_NAME FROM
information_schema.statistics WHERE TABLE_SCHEMA=? and TABLE_NAME IN ('tbl')")
.executeQuery()).thenReturn(indexResultSet);
-
assertTableMetaDataMap(getDialectTableMetaDataLoader().load(dataSource,
Collections.singletonList("tbl"), "sharding_db"));
+ assertTableMetaDataMap(dialectMetaDataLoader.load(dataSource,
Collections.singletonList("tbl"), "sharding_db"));
}
private DataSource mockDataSource() throws SQLException {
@@ -108,12 +108,6 @@ class MySQLMetaDataLoaderTest {
return result;
}
- private DialectMetaDataLoader getDialectTableMetaDataLoader() {
- Optional<DialectMetaDataLoader> result =
DatabaseTypedSPILoader.findService(DialectMetaDataLoader.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
- assertTrue(result.isPresent());
- return result.get();
- }
-
private void assertTableMetaDataMap(final Collection<SchemaMetaData>
schemaMetaDataList) {
assertThat(schemaMetaDataList.size(), is(1));
TableMetaData actualTableMetaData =
schemaMetaDataList.iterator().next().getTables().iterator().next();