diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoader.java similarity index 96% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoader.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoader.java index 8db42394ac4f796a40db5fecd53903926c166f68..756d746dbdff7f2e811f014dc43de4709f89f433 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoader.java @@ -34,19 +34,19 @@ import java.util.Map; import java.util.Map.Entry; /** - * Schema meta data loader. + * Schema loader. */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public final class SchemaMetaDataLoader { +public final class SchemaLoader { /** - * Load schema meta data. + * Load schema. * * @param databaseType database type * @param dataSourceMap data source map * @param rules ShardingSphere rules * @param props configuration properties - * @return schema meta data + * @return ShardingSphere schema * @throws SQLException SQL exception */ public static ShardingSphereSchema load(final DatabaseType databaseType, final Map dataSourceMap, diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/addressing/TableAddressingMapperDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/addressing/TableAddressingMapperDataLoader.java index 9889281e4d447cc421ebfb6368d56b56c544e1ab..1fdaa6b2bb47218481120838c7543c10886a02cc 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/addressing/TableAddressingMapperDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/addressing/TableAddressingMapperDataLoader.java @@ -29,7 +29,6 @@ import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry; import javax.sql.DataSource; import java.sql.SQLException; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashSet; import java.util.Map; @@ -56,24 +55,24 @@ public final class TableAddressingMapperDataLoader { */ @SuppressWarnings({"unchecked", "rawtypes"}) public static Map> load(final DatabaseType databaseType, final Map dataSourceMap, final Collection rules) throws SQLException { - Map> result = initializeTableAddressingMapper(databaseType, dataSourceMap); + Map> result = initialize(databaseType, dataSourceMap); for (Entry entry : OrderedSPIRegistry.getRegisteredServices(rules, TableAddressingMapperDecorator.class).entrySet()) { entry.getValue().decorate(entry.getKey(), result); } return result; } - private static Map> initializeTableAddressingMapper(final DatabaseType databaseType, final Map dataSourceMap) throws SQLException { + private static Map> initialize(final DatabaseType databaseType, final Map dataSourceMap) throws SQLException { Map> result = new HashMap<>(); for (Entry entry : dataSourceMap.entrySet()) { - appendMetaData(result, databaseType, entry.getKey(), entry.getValue()); + append(result, databaseType, entry.getKey(), entry.getValue()); } return result; } - private static void appendMetaData(final Map> tableAddressingMapper, - final DatabaseType databaseType, final String dataSourceName, final DataSource dataSource) throws SQLException { - for (String each : PhysicalSchemaMetaDataLoader.loadTableNames(dataSource, databaseType, Collections.emptyList())) { + private static void append(final Map> tableAddressingMapper, + final DatabaseType databaseType, final String dataSourceName, final DataSource dataSource) throws SQLException { + for (String each : PhysicalSchemaMetaDataLoader.loadAllTableNames(dataSource, databaseType)) { if (!tableAddressingMapper.containsKey(each)) { tableAddressingMapper.put(each, new LinkedHashSet<>()); } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoader.java index 9c79fd66a7fc220c4f4d19f1ba7ccc65bb2933ba..2476599956a4bad64cd363ec5e3fcfbeb5199d14 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoader.java @@ -20,8 +20,8 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandlerFactory; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandlerFactory; import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoader.java index 9beeef294e07df549ad6d8ce1e90a9da8fe697d4..d2e4e421a60e54198a8a173329a1d8915d4b3360 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoader.java @@ -21,7 +21,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.MetaDataConnectionAdapter; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.adapter.MetaDataLoaderConnectionAdapter; import javax.sql.DataSource; import java.sql.Connection; @@ -34,7 +34,6 @@ import java.util.List; /** * Physical schema meta data loader. - * Note: this is only load table name, skip index and column info */ @NoArgsConstructor(access = AccessLevel.PRIVATE) @Slf4j(topic = "ShardingSphere-metadata") @@ -51,15 +50,13 @@ public final class PhysicalSchemaMetaDataLoader { * * @param dataSource data source * @param databaseType database type - * @param excludedTableNames excluded table names - * @return all table names + * @return loaded all table names * @throws SQLException SQL exception */ - public static Collection loadTableNames(final DataSource dataSource, final DatabaseType databaseType, final Collection excludedTableNames) throws SQLException { - List result; - try (MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, dataSource.getConnection())) { + public static Collection loadAllTableNames(final DataSource dataSource, final DatabaseType databaseType) throws SQLException { + Collection result; + try (MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, dataSource.getConnection())) { result = loadAllTableNames(connectionAdapter); - result.removeAll(excludedTableNames); } log.info("Loading {} tables' meta data for unconfigured tables.", result.size()); if (result.isEmpty()) { @@ -68,7 +65,7 @@ public final class PhysicalSchemaMetaDataLoader { return result; } - private static List loadAllTableNames(final Connection connection) throws SQLException { + private static Collection loadAllTableNames(final Connection connection) throws SQLException { List result = new LinkedList<>(); try (ResultSet resultSet = connection.getMetaData().getTables(connection.getCatalog(), connection.getSchema(), null, new String[]{TABLE_TYPE, VIEW_TYPE})) { while (resultSet.next()) { diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoader.java index 71fae97b5c4d4a12fc75eb7b794fb5295965b95d..9c8229204dc8419071556da419a6307d95288cd1 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoader.java @@ -20,8 +20,8 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.MetaDataConnectionAdapter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandlerFactory; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.adapter.MetaDataLoaderConnectionAdapter; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandlerFactory; import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData; import javax.sql.DataSource; @@ -46,7 +46,7 @@ public final class PhysicalTableMetaDataLoader { * @throws SQLException SQL exception */ public static Optional load(final DataSource dataSource, final String tableNamePattern, final DatabaseType databaseType) throws SQLException { - try (MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, dataSource.getConnection())) { + try (MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, dataSource.getConnection())) { String formattedTableNamePattern = formatTableNamePattern(tableNamePattern, databaseType); return isTableExist(connectionAdapter, formattedTableNamePattern) ? Optional.of(new TableMetaData(PhysicalColumnMetaDataLoader.load( diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapter.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapter.java similarity index 97% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapter.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapter.java index 4bfeca2dbd7e945c89d3ef722329e10999b9ec67..fe2e256ffba4bd8d67d9d703502620c59eb78b01 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapter.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapter.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.adapter; import lombok.RequiredArgsConstructor; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandlerFactory; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandlerFactory; import java.sql.Array; import java.sql.Blob; @@ -42,15 +42,16 @@ import java.util.Properties; import java.util.concurrent.Executor; /** - * Meta data connection adapter. + * Meta data loader connection adapter. */ @RequiredArgsConstructor -public final class MetaDataConnectionAdapter implements Connection { +public final class MetaDataLoaderConnectionAdapter implements Connection { private final DatabaseType databaseType; private final Connection connection; + @SuppressWarnings("ReturnOfNull") @Override public String getCatalog() { try { @@ -70,6 +71,7 @@ public final class MetaDataConnectionAdapter implements Connection { return DatabaseMetaDataDialectHandlerFactory.findHandler(databaseType).map(handler -> handler.getSchema(connection)).orElse(getSchema(connection)); } + @SuppressWarnings("ReturnOfNull") private String getSchema(final Connection connection) { try { return connection.getSchema(); diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandler.java similarity index 97% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandler.java index c32189c2af8d64cd6cc4e1b5b7171eae37263855..bf68422862d68bd9d43509170c4ac5d020a270bb 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandler.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect; import org.apache.shardingsphere.infra.spi.typed.TypedSPI; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; @@ -34,6 +34,7 @@ public interface DatabaseMetaDataDialectHandler extends TypedSPI { * @param connection connection * @return schema */ + @SuppressWarnings("ReturnOfNull") default String getSchema(final Connection connection) { try { return connection.getSchema(); diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactory.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactory.java similarity index 98% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactory.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactory.java index 9c191e3d7c2b05e716dc034926aac35f39839840..9a9cb910684ebb999c5132ca0b2f34a412564a46 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactory.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect; import lombok.AccessLevel; import lombok.NoArgsConstructor; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandler.java index ad5c1c52a4599ec5343f3c975182e4cee00bafc3..f74057d88520d84ad0b6a1556d0a8de2d1e30561 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandler.java index aee393c78c3c3d0b789f64f83747e53bb1612b25..90915f2c87eb98e9759b053853c5a7b0d35babdb 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandler.java index 9cd308baef1bdafb01b735f4a6236c727dacf1de..9020b537829beeb4b9c23d4f821a64e95f84c095 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandler.java index 559cea706dbee836a8e447cf4a99c60edd8e124b..cc136872864b0b03ae0750ecc7e0182258b51533 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.sql.Connection; @@ -35,7 +35,8 @@ import java.util.Properties; public final class OracleDatabaseMetaDataDialectHandler implements DatabaseMetaDataDialectHandler { private Properties props; - + + @SuppressWarnings("ReturnOfNull") @Override public String getSchema(final Connection connection) { try { diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandler.java index d72b2f212be416a1a679693a5c8f9745689a28e9..efd8d78786d54be3062284372332fe4e03726162 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandler.java index 1e19593e816a8c4de4650ad4af93a16425c7130b..73518cd718f960733a9b55b366af875f34785342 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandler.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandler.java similarity index 94% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandler.java rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandler.java index 00dcdfd4187be5574edb57f7d6068c2c02d1ae0f..90bd5174a1cb2003c7c9be955d365aa09512111e 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandler.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandler.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import lombok.Getter; import lombok.Setter; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import java.util.Properties; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/spi/ShardingSphereMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/spi/ShardingSphereMetaDataLoader.java index 2306ceb95f87e685ac01bdbd2e5e8cc85e925696..898bdcd5c27c6d582810bc7b34423180851179cf 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/spi/ShardingSphereMetaDataLoader.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/loader/spi/ShardingSphereMetaDataLoader.java @@ -48,8 +48,7 @@ public interface ShardingSphereMetaDataLoader exte * @return meta data * @throws SQLException SQL exception */ - Optional load(String tableName, - DatabaseType databaseType, Map dataSourceMap, DataNodes dataNodes, T rule, ConfigurationProperties props) throws SQLException; + Optional load(String tableName, DatabaseType databaseType, Map dataSourceMap, DataNodes dataNodes, T rule, ConfigurationProperties props) throws SQLException; /** * Decorate table meta data. diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler b/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler similarity index 75% rename from shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler rename to shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler index 01a9b091c8ff41abe1cf25a2fe33ad98b7ab4ba3..c46c114432fe8c59ca2dad9af3e6938c1e0186f2 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.DatabaseMetaDataDialectHandler +++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.DatabaseMetaDataDialectHandler @@ -15,10 +15,10 @@ # limitations under the License. # -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.H2DatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.MariaDBDatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.MySQLDatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.OracleDatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.PostgreSQLDatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.SQL92DatabaseMetaDataDialectHandler -org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect.SQLServerDatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.H2DatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.MariaDBDatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.MySQLDatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.OracleDatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.PostgreSQLDatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.SQL92DatabaseMetaDataDialectHandler +org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl.SQLServerDatabaseMetaDataDialectHandler diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoaderTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoaderTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoaderTest.java index ece1e94a011c399cc5ca50c59144a440f1fd6b01..653bc23b485e16484c9e303c8816fda02c681c05 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaMetaDataLoaderTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/SchemaLoaderTest.java @@ -38,7 +38,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; @RunWith(MockitoJUnitRunner.class) -public final class SchemaMetaDataLoaderTest { +public final class SchemaLoaderTest { @Mock private DatabaseType databaseType; @@ -51,7 +51,7 @@ public final class SchemaMetaDataLoaderTest { @Test public void assertLoadFullDatabases() throws SQLException { - ShardingSphereSchema actual = SchemaMetaDataLoader.load( + ShardingSphereSchema actual = SchemaLoader.load( databaseType, Collections.singletonMap("logic_db", dataSource), Arrays.asList(new CommonFixtureRule(), new DataNodeContainedFixtureRule()), props); assertSchema(actual); } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/ColumnMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoaderTest.java similarity index 77% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/ColumnMetaDataLoaderTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoaderTest.java index 1f2bcf62e9029f2577124488892dd555491edcad..f27fa650912ecad361264a2274195e336fa811b8 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/ColumnMetaDataLoaderTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalColumnMetaDataLoaderTest.java @@ -18,20 +18,18 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry; import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Answers; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.sql.Statement; import java.sql.Types; import java.util.Collection; import java.util.Iterator; @@ -39,32 +37,21 @@ import java.util.Iterator; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public final class ColumnMetaDataLoaderTest { +public final class PhysicalColumnMetaDataLoaderTest { - private static final String TEST_CATALOG = "catalog"; - - private static final String TEST_TABLE = "table"; - - private final DatabaseType databaseType = DatabaseTypeRegistry.getActualDatabaseType("MySQL"); - - @Mock + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Connection connection; - @Mock - private DatabaseMetaData databaseMetaData; - @Mock private ResultSet primaryResultSet; @Mock private ResultSet columnResultSet; - @Mock - private Statement statement; - @Mock private ResultSet caseSensitivesResultSet; @@ -73,19 +60,17 @@ public final class ColumnMetaDataLoaderTest { @Before public void setUp() throws SQLException { - when(connection.getCatalog()).thenReturn(TEST_CATALOG); - when(connection.getMetaData()).thenReturn(databaseMetaData); - when(databaseMetaData.getPrimaryKeys(TEST_CATALOG, null, TEST_TABLE)).thenReturn(primaryResultSet); + when(connection.getCatalog()).thenReturn("catalog"); + when(connection.getMetaData().getPrimaryKeys("catalog", null, "tbl")).thenReturn(primaryResultSet); when(primaryResultSet.next()).thenReturn(true, false); when(primaryResultSet.getString("COLUMN_NAME")).thenReturn("pk_col"); - when(databaseMetaData.getColumns(TEST_CATALOG, null, TEST_TABLE, "%")).thenReturn(columnResultSet); + when(connection.getMetaData().getColumns("catalog", null, "tbl", "%")).thenReturn(columnResultSet); when(columnResultSet.next()).thenReturn(true, true, false); - when(columnResultSet.getString("TABLE_NAME")).thenReturn(TEST_TABLE); + when(columnResultSet.getString("TABLE_NAME")).thenReturn("tbl"); when(columnResultSet.getString("COLUMN_NAME")).thenReturn("pk_col", "col"); when(columnResultSet.getInt("DATA_TYPE")).thenReturn(Types.INTEGER, Types.VARCHAR); when(columnResultSet.getString("TYPE_NAME")).thenReturn("INT", "VARCHAR"); - when(connection.createStatement()).thenReturn(statement); - when(statement.executeQuery(anyString())).thenReturn(caseSensitivesResultSet); + when(connection.createStatement().executeQuery(anyString())).thenReturn(caseSensitivesResultSet); when(caseSensitivesResultSet.findColumn("pk_col")).thenReturn(1); when(caseSensitivesResultSet.findColumn("col")).thenReturn(2); when(caseSensitivesResultSet.getMetaData()).thenReturn(resultSetMetaData); @@ -94,7 +79,7 @@ public final class ColumnMetaDataLoaderTest { @Test public void assertLoad() throws SQLException { - Collection actual = PhysicalColumnMetaDataLoader.load(connection, TEST_TABLE, databaseType); + Collection actual = PhysicalColumnMetaDataLoader.load(connection, "tbl", mock(DatabaseType.class)); assertThat(actual.size(), is(2)); Iterator columnMetaDataIterator = actual.iterator(); assertColumnMetaData(columnMetaDataIterator.next(), "pk_col", Types.INTEGER, "INT", true, true); diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/IndexMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalIndexMetaDataLoaderTest.java similarity index 64% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/IndexMetaDataLoaderTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalIndexMetaDataLoaderTest.java index 8b0a81c2aa3c510cf27a56e3c368267705e3ded3..bd150c46bcaf9c1e8ad10df578b2e1e66be05dc4 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/IndexMetaDataLoaderTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalIndexMetaDataLoaderTest.java @@ -18,52 +18,44 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Collection; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.RETURNS_DEEP_STUBS; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public final class IndexMetaDataLoaderTest { - - private static final String TEST_CATALOG = "catalog"; - - private static final String TEST_TABLE = "table"; - - @Mock - private Connection connection; - - @Mock - private DatabaseMetaData databaseMetaData; - - @Mock - private ResultSet indexResultSet; - - @Before - public void setUp() throws SQLException { - when(connection.getCatalog()).thenReturn(TEST_CATALOG); - when(connection.getMetaData()).thenReturn(databaseMetaData); - } +public final class PhysicalIndexMetaDataLoaderTest { @Test public void assertLoad() throws SQLException { - when(databaseMetaData.getIndexInfo(TEST_CATALOG, null, TEST_TABLE, false, false)).thenReturn(indexResultSet); - when(indexResultSet.next()).thenReturn(true, true, false); - when(indexResultSet.getString("INDEX_NAME")).thenReturn("my_index"); - Collection actual = PhysicalIndexMetaDataLoader.load(connection, TEST_TABLE); + Collection actual = PhysicalIndexMetaDataLoader.load(mockConnection(), "tbl"); assertThat(actual.size(), is(1)); IndexMetaData indexMetaData = actual.iterator().next(); assertThat(indexMetaData.getName(), is("my_index")); } + + private Connection mockConnection() throws SQLException { + Connection result = mock(Connection.class, RETURNS_DEEP_STUBS); + ResultSet resultSet = mockResultSet(); + when(result.getMetaData().getIndexInfo("catalog", null, "tbl", false, false)).thenReturn(resultSet); + when(result.getCatalog()).thenReturn("catalog"); + return result; + } + + private ResultSet mockResultSet() throws SQLException { + ResultSet result = mock(ResultSet.class); + when(result.next()).thenReturn(true, true, false); + when(result.getString("INDEX_NAME")).thenReturn("my_index"); + return result; + } } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/SchemaMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoaderTest.java similarity index 54% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/SchemaMetaDataLoaderTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoaderTest.java index f60c777f98951b247b0b844a7ea274d0c85c78c1..8674df5838a72ff696a56c1a5e65b32426e3cbc6 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/SchemaMetaDataLoaderTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalSchemaMetaDataLoaderTest.java @@ -18,59 +18,45 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Answers; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Collection; import java.util.Collections; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public final class SchemaMetaDataLoaderTest { +public final class PhysicalSchemaMetaDataLoaderTest { - private static final String TEST_CATALOG = "catalog"; - - private static final String TABLE_TYPE = "TABLE"; - - private static final String VIEW_TYPE = "VIEW"; - - private final DatabaseType databaseType = DatabaseTypeRegistry.getTrunkDatabaseType("Oracle"); - - @Mock + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private DataSource dataSource; - @Mock - private Connection connection; - - @Mock - private DatabaseMetaData databaseMetaData; - - @Mock - private ResultSet tableExistResultSet; - @Before public void setUp() throws SQLException { - when(dataSource.getConnection()).thenReturn(connection); - when(connection.getCatalog()).thenReturn(TEST_CATALOG); - when(connection.getMetaData()).thenReturn(databaseMetaData); - when(databaseMetaData.getTables(TEST_CATALOG, null, null, new String[]{TABLE_TYPE, VIEW_TYPE})).thenReturn(tableExistResultSet); + ResultSet resultSet = mockResultSet(); + when(dataSource.getConnection().getMetaData().getTables("catalog", null, null, new String[]{"TABLE", "VIEW"})).thenReturn(resultSet); + when(dataSource.getConnection().getCatalog()).thenReturn("catalog"); + } + + private ResultSet mockResultSet() throws SQLException { + ResultSet result = mock(ResultSet.class); + when(result.next()).thenReturn(true, true, true, false); + when(result.getString("TABLE_NAME")).thenReturn("tbl", "$tbl", "/tbl"); + return result; } @Test - public void assertLoadUnconfiguredTableNamesForOracle() throws SQLException { - Collection tableNames = PhysicalSchemaMetaDataLoader.loadTableNames(dataSource, databaseType, Collections.emptyList()); - assertThat(tableNames.size(), is(0)); + public void assertLoadAllTableNames() throws SQLException { + assertThat(PhysicalSchemaMetaDataLoader.loadAllTableNames(dataSource, mock(DatabaseType.class)), is(Collections.singletonList("tbl"))); } } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/TableMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoaderTest.java similarity index 73% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/TableMetaDataLoaderTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoaderTest.java index 76823a5965450c5db81ef45497893acfffcf6d8c..b26314c85dc70605ab4b05a03179e0572412612d 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/TableMetaDataLoaderTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/PhysicalTableMetaDataLoaderTest.java @@ -18,23 +18,20 @@ package org.apache.shardingsphere.infra.metadata.schema.loader.physical; import org.apache.shardingsphere.infra.database.type.DatabaseType; -import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry; import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData; import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData; import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Answers; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.sql.Statement; import java.sql.Types; import java.util.Map; import java.util.Optional; @@ -44,26 +41,19 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public final class TableMetaDataLoaderTest { +public final class PhysicalTableMetaDataLoaderTest { private static final String TEST_CATALOG = "catalog"; private static final String TEST_TABLE = "table"; - private final DatabaseType databaseType = DatabaseTypeRegistry.getActualDatabaseType("MySQL"); - - @Mock + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private DataSource dataSource; - @Mock - private Connection connection; - - @Mock - private DatabaseMetaData databaseMetaData; - @Mock private ResultSet primaryResultSet; @@ -76,9 +66,6 @@ public final class TableMetaDataLoaderTest { @Mock private ResultSet columnResultSet; - @Mock - private Statement statement; - @Mock private ResultSet caseSensitivesResultSet; @@ -90,34 +77,31 @@ public final class TableMetaDataLoaderTest { @Before public void setUp() throws SQLException { - when(dataSource.getConnection()).thenReturn(connection); - when(connection.getCatalog()).thenReturn(TEST_CATALOG); - when(connection.getMetaData()).thenReturn(databaseMetaData); - when(databaseMetaData.getTables(TEST_CATALOG, null, TEST_TABLE, null)).thenReturn(tableExistResultSet); + when(dataSource.getConnection().getCatalog()).thenReturn(TEST_CATALOG); + when(dataSource.getConnection().getMetaData().getTables(TEST_CATALOG, null, TEST_TABLE, null)).thenReturn(tableExistResultSet); when(tableExistResultSet.next()).thenReturn(true); - when(databaseMetaData.getColumns(TEST_CATALOG, null, TEST_TABLE, "%")).thenReturn(columnResultSet); + when(dataSource.getConnection().getMetaData().getColumns(TEST_CATALOG, null, TEST_TABLE, "%")).thenReturn(columnResultSet); when(columnResultSet.next()).thenReturn(true, true, false); when(columnResultSet.getString("TABLE_NAME")).thenReturn(TEST_TABLE); when(columnResultSet.getString("COLUMN_NAME")).thenReturn("pk_col", "col"); when(columnResultSet.getInt("DATA_TYPE")).thenReturn(Types.INTEGER, Types.VARCHAR); when(columnResultSet.getString("TYPE_NAME")).thenReturn("INT", "VARCHAR"); - when(databaseMetaData.getPrimaryKeys(TEST_CATALOG, null, TEST_TABLE)).thenReturn(primaryResultSet); + when(dataSource.getConnection().getMetaData().getPrimaryKeys(TEST_CATALOG, null, TEST_TABLE)).thenReturn(primaryResultSet); when(primaryResultSet.next()).thenReturn(true, false); when(primaryResultSet.getString("COLUMN_NAME")).thenReturn("pk_col"); - when(connection.createStatement()).thenReturn(statement); - when(statement.executeQuery(anyString())).thenReturn(caseSensitivesResultSet); + when(dataSource.getConnection().createStatement().executeQuery(anyString())).thenReturn(caseSensitivesResultSet); when(caseSensitivesResultSet.findColumn("pk_col")).thenReturn(1); when(caseSensitivesResultSet.findColumn("col")).thenReturn(2); when(caseSensitivesResultSet.getMetaData()).thenReturn(resultSetMetaData); when(resultSetMetaData.isCaseSensitive(1)).thenReturn(true); - when(databaseMetaData.getIndexInfo(TEST_CATALOG, null, TEST_TABLE, false, false)).thenReturn(indexResultSet); + when(dataSource.getConnection().getMetaData().getIndexInfo(TEST_CATALOG, null, TEST_TABLE, false, false)).thenReturn(indexResultSet); when(indexResultSet.next()).thenReturn(true, false); when(indexResultSet.getString("INDEX_NAME")).thenReturn("my_index"); } @Test - public void assertLoad() throws SQLException { - Optional actual = PhysicalTableMetaDataLoader.load(dataSource, TEST_TABLE, databaseType); + public void assertLoadWithExistedTable() throws SQLException { + Optional actual = PhysicalTableMetaDataLoader.load(dataSource, TEST_TABLE, mock(DatabaseType.class)); assertTrue(actual.isPresent()); Map columnMetaDataMap = actual.get().getColumns(); assertThat(columnMetaDataMap.size(), is(2)); @@ -128,14 +112,6 @@ public final class TableMetaDataLoaderTest { assertTrue(indexMetaDataMap.containsKey("my_index")); } - @Test - public void assertTableNotExist() throws SQLException { - when(databaseMetaData.getTables(TEST_CATALOG, null, TEST_TABLE, null)).thenReturn(tableNotExistResultSet); - when(tableNotExistResultSet.next()).thenReturn(false); - Optional actual = PhysicalTableMetaDataLoader.load(dataSource, TEST_TABLE, databaseType); - assertFalse(actual.isPresent()); - } - private void assertColumnMetaData(final ColumnMetaData actual, final String name, final int dataType, final String typeName, final boolean primaryKey, final boolean caseSensitive) { assertThat(actual.getName(), is(name)); assertThat(actual.getDataType(), is(dataType)); @@ -143,4 +119,11 @@ public final class TableMetaDataLoaderTest { assertThat(actual.isPrimaryKey(), is(primaryKey)); assertThat(actual.isCaseSensitive(), is(caseSensitive)); } + + @Test + public void assertLoadWithNotExistedTable() throws SQLException { + when(dataSource.getConnection().getMetaData().getTables(TEST_CATALOG, null, TEST_TABLE, null)).thenReturn(tableNotExistResultSet); + when(tableNotExistResultSet.next()).thenReturn(false); + assertFalse(PhysicalTableMetaDataLoader.load(dataSource, TEST_TABLE, mock(DatabaseType.class)).isPresent()); + } } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapterTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapterTest.java similarity index 80% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapterTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapterTest.java index 05ffb1990e337817905235bc60f7e9401bea7de4..dad797549bbc5dbf86523935fe384fd8acf240e9 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/MetaDataConnectionAdapterTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/adapter/MetaDataLoaderConnectionAdapterTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.adapter; import org.apache.shardingsphere.infra.database.type.DatabaseType; import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry; @@ -35,7 +35,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public final class MetaDataConnectionAdapterTest { +public final class MetaDataLoaderConnectionAdapterTest { private static final String TEST_CATALOG = "catalog"; @@ -51,21 +51,21 @@ public final class MetaDataConnectionAdapterTest { @Test public void assertGetCatalog() throws SQLException { when(connection.getCatalog()).thenReturn(TEST_CATALOG); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, connection); assertThat(connectionAdapter.getCatalog(), is(TEST_CATALOG)); } @Test public void assertGetCatalogReturnNullWhenThrowsSQLException() throws SQLException { when(connection.getCatalog()).thenThrow(SQLException.class); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, connection); assertNull(connectionAdapter.getCatalog()); } @Test public void assertGetSchema() throws SQLException { when(connection.getSchema()).thenReturn(TEST_SCHEMA); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, connection); assertThat(connectionAdapter.getSchema(), is(TEST_SCHEMA)); } @@ -74,21 +74,21 @@ public final class MetaDataConnectionAdapterTest { DatabaseMetaData databaseMetaData = mock(DatabaseMetaData.class); when(connection.getMetaData()).thenReturn(databaseMetaData); when(databaseMetaData.getUserName()).thenReturn(TEST_SCHEMA); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(oracleDatabaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(oracleDatabaseType, connection); assertThat(connectionAdapter.getSchema(), is(TEST_SCHEMA.toUpperCase())); } @Test public void assertGetSchemaByMySQLSPI() throws SQLException { when(connection.getSchema()).thenReturn(TEST_SCHEMA); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, connection); assertThat(connectionAdapter.getSchema(), is(TEST_SCHEMA)); } @Test public void assertGetSchemaReturnNullWhenThrowsSQLException() throws SQLException { when(connection.getSchema()).thenThrow(SQLException.class); - MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection); + MetaDataLoaderConnectionAdapter connectionAdapter = new MetaDataLoaderConnectionAdapter(databaseType, connection); assertNull(connectionAdapter.getSchema()); } } diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/AbstractDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/AbstractDatabaseMetaDataDialectHandlerTest.java similarity index 99% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/AbstractDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/AbstractDatabaseMetaDataDialectHandlerTest.java index 8371c2ffe8150719c88dc88027c6175ac101d56c..6afb89d59a7190db66029b43653198ebd964d236 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/AbstractDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/AbstractDatabaseMetaDataDialectHandlerTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect; import lombok.Getter; import org.apache.shardingsphere.infra.database.type.DatabaseType; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactoryTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactoryTest.java similarity index 98% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactoryTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactoryTest.java index bb715dda9fa7e452c91f06102e5b463abb1962a1..056dc2c400ca91025c45263654ec630741d2ddf2 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerFactoryTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerFactoryTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect; import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerTest.java similarity index 99% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerTest.java index d9b78348672319c1468376274d2efffa5705a920..94c90a0452b79ba925bd55f52b5bc222d2ed0278 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/DatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/DatabaseMetaDataDialectHandlerTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect; import org.apache.shardingsphere.infra.database.type.DatabaseType; import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandlerTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandlerTest.java index 5d48fcce66d44dd9258026299d93f2d28bf877a0..9ee7d7a13618a4bf3965a8ecf4d2bfacdbe657b8 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/H2DatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/H2DatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandlerTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandlerTest.java index 4272c0a3a3c5dcd5e1e4361421b179316576aac0..be5225a14d47a1080c0b15568150fd5ac8bfddea 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MariaDBDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MariaDBDatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.MariaDBDatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandlerTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandlerTest.java index 9fed0973e5d23c0456285c8f15002ffc6a134b86..3d3a9f651ef0a66a7e7d41ddb06d2c09cb70a067 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/MySQLDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/MySQLDatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandlerTest.java similarity index 96% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandlerTest.java index c7f9ec8c3e5a36e4a4e2bcbc74f186685068b4be..a0ddbb3a59cb9b3a4291c618d650409517916ee5 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/OracleDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/OracleDatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.OracleDatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandlerTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandlerTest.java index 69f896a92f54bb11947890f36db6976b46c0d993..0a9c94e6ad8fd19b0528cb5da395b4c494a0bf09 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/PostgreSQLDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/PostgreSQLDatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandlerTest.java similarity index 95% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandlerTest.java index ddeee110a6ca126dfc06d020764b1484f7342991..b16212b29e26fca636b7cd3bb2f632393f0ea763 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQL92DatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQL92DatabaseMetaDataDialectHandlerTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.dialect.SQL92DatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandlerTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandlerTest.java similarity index 96% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandlerTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandlerTest.java index 27f1ab0ef354d2781edfe29277dab92c421933e7..eb9d89f3b7a4b2b563c25b5952d13a221d0250d5 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/jdbc/handler/dialect/SQLServerDatabaseMetaDataDialectHandlerTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/loader/physical/dialect/impl/SQLServerDatabaseMetaDataDialectHandlerTest.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.dialect; +package org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.impl; import org.apache.shardingsphere.infra.database.type.DatabaseType; import org.apache.shardingsphere.infra.database.type.dialect.SQLServerDatabaseType; -import org.apache.shardingsphere.infra.metadata.schema.loader.physical.jdbc.handler.AbstractDatabaseMetaDataDialectHandlerTest; +import org.apache.shardingsphere.infra.metadata.schema.loader.physical.dialect.AbstractDatabaseMetaDataDialectHandlerTest; import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter; import org.junit.Before; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/physical/TableMetaDataTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/TableMetaDataTest.java similarity index 91% rename from shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/physical/TableMetaDataTest.java rename to shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/TableMetaDataTest.java index 4f397a7c4709ad06ecab41a9acf91129b522a713..dd73de7b9dc07f6c824240d976f0e1fc17255c8b 100644 --- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/physical/TableMetaDataTest.java +++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/model/TableMetaDataTest.java @@ -15,10 +15,8 @@ * limitations under the License. */ -package org.apache.shardingsphere.infra.metadata.schema.model.physical; +package org.apache.shardingsphere.infra.metadata.schema.model; -import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData; -import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData; import org.junit.Before; import org.junit.Test; diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java index 2be0b3f0d254d590adf81a94ae47ed1b8f7e7cab..f844d4befc87cab40910916cfe0c0b64f0f221a1 100644 --- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java +++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java @@ -31,7 +31,7 @@ import org.apache.shardingsphere.infra.metadata.resource.CachedDatabaseMetaData; import org.apache.shardingsphere.infra.metadata.resource.DataSourcesMetaData; import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource; import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData; -import org.apache.shardingsphere.infra.metadata.schema.loader.SchemaMetaDataLoader; +import org.apache.shardingsphere.infra.metadata.schema.loader.SchemaLoader; import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema; import org.apache.shardingsphere.infra.rule.ShardingSphereRule; import org.apache.shardingsphere.infra.rule.builder.ShardingSphereRulesBuilder; @@ -131,7 +131,7 @@ public final class MetaDataContextsBuilder { private ShardingSphereSchema buildSchema(final String schemaName, final Map dataSourceMap, final Collection rules) throws SQLException { long start = System.currentTimeMillis(); - ShardingSphereSchema result = SchemaMetaDataLoader.load(databaseType, dataSourceMap, rules, props); + ShardingSphereSchema result = SchemaLoader.load(databaseType, dataSourceMap, rules, props); log.info("Load meta data for schema {} finished, cost {} milliseconds.", schemaName, System.currentTimeMillis() - start); return result; }