You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/11/09 06:27:02 UTC
[shardingsphere] branch master updated: Use PhysicalSchemaMetaData
instead of ShardingSphereSchema (#8087)
This is an automated email from the ASF dual-hosted git repository.
zhangyonglun 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 9c7b070 Use PhysicalSchemaMetaData instead of ShardingSphereSchema (#8087)
9c7b070 is described below
commit 9c7b070da8feb0a6c6ba2966c047233ef2d3e7e4
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Nov 9 14:26:45 2020 +0800
Use PhysicalSchemaMetaData instead of ShardingSphereSchema (#8087)
---
.../EncryptSQLRewriterParameterizedTest.java | 19 +++++++------
.../ha/route/engine/HASQLRouterTest.java | 28 +++++++++----------
.../route/engine/ReplicaQuerySQLRouterTest.java | 16 +++++------
.../shadow/route/engine/ShadowSQLRouterTest.java | 16 +++++------
.../MixSQLRewriterParameterizedTest.java | 31 +++++++++++-----------
.../ShardingSQLRewriterParameterizedTest.java | 27 +++++++++----------
.../sharding/route/engine/ShardingSQLRouter.java | 2 +-
.../engine/ShardingConditionEngineFactory.java | 6 ++---
.../engine/type/ShardingRouteEngineFactory.java | 4 +--
.../type/single/SingleTableRoutingEngine.java | 8 +++---
.../validator/ShardingStatementValidator.java | 4 +--
.../ddl/ShardingDDLStatementValidator.java | 16 +++++------
.../impl/ShardingAlterViewStatementValidator.java | 4 +--
.../ShardingCreateFunctionStatementValidator.java | 4 +--
.../ShardingCreateProcedureStatementValidator.java | 4 +--
.../ShardingCreateTableStatementValidator.java | 4 +--
.../impl/ShardingCreateViewStatementValidator.java | 4 +--
.../dml/impl/ShardingDeleteStatementValidator.java | 4 +--
.../dml/impl/ShardingInsertStatementValidator.java | 4 +--
.../dml/impl/ShardingUpdateStatementValidator.java | 4 +--
.../engine/ShardingConditionEngineFactoryTest.java | 2 +-
.../type/ShardingRouteEngineFactoryTest.java | 2 +-
.../type/single/SingleTableRoutingEngineTest.java | 5 ++--
.../engine/type/standard/AbstractSQLRouteTest.java | 5 ++--
.../ShardingAlterViewStatementValidatorTest.java | 11 ++++----
...ardingCreateFunctionStatementValidatorTest.java | 16 +++++------
...rdingCreateProcedureStatementValidatorTest.java | 16 +++++------
.../ShardingCreateTableStatementValidatorTest.java | 11 ++++----
.../ShardingCreateViewStatementValidatorTest.java | 10 +++----
.../dml/ShardingDeleteStatementValidatorTest.java | 4 +--
.../dml/ShardingInsertStatementValidatorTest.java | 15 +++++------
.../dml/ShardingUpdateStatementValidatorTest.java | 14 +++++-----
.../context/schema/GovernanceSchemaContexts.java | 14 +++++-----
.../schema/GovernanceSchemaContextsTest.java | 5 ++--
.../infra/metadata/ShardingSphereMetaData.java | 4 +--
.../schema/refresh/MetaDataRefreshStrategy.java | 4 +--
...AlterTableStatementMetaDataRefreshStrategy.java | 14 +++-------
...reateIndexStatementMetaDataRefreshStrategy.java | 6 ++---
...reateTableStatementMetaDataRefreshStrategy.java | 10 +++----
...CreateViewStatementMetaDataRefreshStrategy.java | 8 +++---
.../DropIndexStatementMetaDataRefreshStrategy.java | 7 +++--
.../DropTableStatementMetaDataRefreshStrategy.java | 11 +++-----
.../DropViewStatementMetaDataRefreshStrategy.java | 11 +++-----
.../infra/metadata/ShardingSphereMetaDataTest.java | 12 ++++-----
.../AbstractMetaDataRefreshStrategyTest.java | 8 +++---
...rTableStatementMetaDataRefreshStrategyTest.java | 2 +-
...eIndexStatementMetaDataRefreshStrategyTest.java | 4 +--
...eTableStatementMetaDataRefreshStrategyTest.java | 2 +-
...pIndexStatementMetaDataRefreshStrategyTest.java | 10 +++----
...pTableStatementMetaDataRefreshStrategyTest.java | 2 +-
.../infra/context/kernel/KernelProcessor.java | 2 +-
.../context/schema/SchemaContextsBuilder.java | 6 ++---
.../sql/context/ExecutionContextBuilder.java | 18 ++++++-------
.../sql/context/ExecutionContextBuilderTest.java | 10 +++----
.../infra/route/engine/SQLRouteEngine.java | 2 +-
.../infra/route/engine/SQLRouteEngineTest.java | 17 +++---------
.../driver/executor/AbstractStatementExecutor.java | 2 +-
.../statement/ShardingSpherePreparedStatement.java | 4 +--
.../core/statement/ShardingSphereStatement.java | 4 +--
.../DatabaseCommunicationEngineFactory.java | 2 +-
.../jdbc/JDBCDatabaseCommunicationEngine.java | 4 +--
.../backend/response/query/QueryHeaderBuilder.java | 2 +-
.../explain/ShardingCTLExplainBackendHandler.java | 2 +-
.../executor/HintShowTableStatusExecutor.java | 2 +-
.../response/query/QueryHeaderBuilderTest.java | 7 ++---
.../ShardingCTLExplainBackendHandlerTest.java | 10 +++----
.../hint/ShardingCTLHintBackendHandlerTest.java | 3 +--
67 files changed, 249 insertions(+), 302 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java
index bdc1307..22a1f1b 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
@@ -74,15 +73,15 @@ public final class EncryptSQLRewriterParameterizedTest extends AbstractSQLRewrit
Collection<ShardingSphereRule> rules = ShardingSphereRulesBuilder.build(
new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(ruleConfigurations.getRules()), ruleConfigurations.getDataSources().keySet());
SQLStatementParserEngine sqlStatementParserEngine = new SQLStatementParserEngine(null == getTestParameters().getDatabaseType() ? "SQL92" : getTestParameters().getDatabaseType());
- ShardingSphereSchema schema = buildSchema();
+ PhysicalSchemaMetaData schema = mockSchema();
ConfigurationProperties props = new ConfigurationProperties(ruleConfigurations.getProps());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
- getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
+ SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(
+ schema, getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(ShardingSphereResource.class), new ShardingSphereRuleMetaData(Collections.emptyList(), rules), schema);
RouteContext routeContext = new SQLRouteEngine(rules, props).route(logicSQL, metaData);
SQLRewriteResult sqlRewriteResult = new SQLRewriteEntry(
- schema.getSchemaMetaData(), props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
+ schema, props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
return sqlRewriteResult instanceof GenericSQLRewriteResult
? Collections.singletonList(((GenericSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnit()) : (((RouteSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnits()).values();
}
@@ -93,10 +92,10 @@ public final class EncryptSQLRewriterParameterizedTest extends AbstractSQLRewrit
return YamlEngine.unmarshal(new File(url.getFile()), YamlRootRuleConfigurations.class);
}
- private ShardingSphereSchema buildSchema() {
- PhysicalSchemaMetaData schemaMetaData = mock(PhysicalSchemaMetaData.class);
- when(schemaMetaData.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "certificate_number", "password", "amount", "status"));
- when(schemaMetaData.getAllColumnNames("t_account_bak")).thenReturn(Arrays.asList("account_id", "certificate_number", "password", "amount", "status"));
- return new ShardingSphereSchema(schemaMetaData);
+ private PhysicalSchemaMetaData mockSchema() {
+ PhysicalSchemaMetaData result = mock(PhysicalSchemaMetaData.class);
+ when(result.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "certificate_number", "password", "amount", "status"));
+ when(result.getAllColumnNames("t_account_bak")).thenReturn(Arrays.asList("account_id", "certificate_number", "password", "amount", "status"));
+ return result;
}
}
diff --git a/shardingsphere-features/shardingsphere-ha/shardingsphere-ha-route/src/test/java/org/apache/shardingsphere/ha/route/engine/HASQLRouterTest.java b/shardingsphere-features/shardingsphere-ha/shardingsphere-ha-route/src/test/java/org/apache/shardingsphere/ha/route/engine/HASQLRouterTest.java
index c91f64b..774d155 100644
--- a/shardingsphere-features/shardingsphere-ha/shardingsphere-ha-route/src/test/java/org/apache/shardingsphere/ha/route/engine/HASQLRouterTest.java
+++ b/shardingsphere-features/shardingsphere-ha/shardingsphere-ha-route/src/test/java/org/apache/shardingsphere/ha/route/engine/HASQLRouterTest.java
@@ -17,23 +17,23 @@
package org.apache.shardingsphere.ha.route.engine;
+import org.apache.shardingsphere.ha.api.config.HARuleConfiguration;
+import org.apache.shardingsphere.ha.api.config.rule.HADataSourceRuleConfiguration;
+import org.apache.shardingsphere.ha.route.engine.impl.PrimaryVisitedManager;
+import org.apache.shardingsphere.ha.rule.HARule;
+import org.apache.shardingsphere.infra.binder.LogicSQL;
+import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
-import org.apache.shardingsphere.infra.binder.LogicSQL;
-import org.apache.shardingsphere.ha.api.config.HARuleConfiguration;
-import org.apache.shardingsphere.ha.api.config.rule.HADataSourceRuleConfiguration;
-import org.apache.shardingsphere.ha.route.engine.impl.PrimaryVisitedManager;
-import org.apache.shardingsphere.ha.rule.HARule;
-import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.LockSegment;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
@@ -94,7 +94,7 @@ public final class HASQLRouterTest {
public void assertCreateRouteContextToPrimaryWithoutRouteUnits() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -105,7 +105,7 @@ public final class HASQLRouterTest {
RouteContext actual = mockRouteContext();
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_HA_DATASOURCE_NAME));
@@ -119,7 +119,7 @@ public final class HASQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(REPLICA_DATASOURCE));
@@ -133,7 +133,7 @@ public final class HASQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_HA_DATASOURCE_NAME));
@@ -147,7 +147,7 @@ public final class HASQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -161,7 +161,7 @@ public final class HASQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_HA_DATASOURCE_NAME));
@@ -173,7 +173,7 @@ public final class HASQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(InsertStatement.class));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
index f42af24..388abd9 100644
--- a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
@@ -23,11 +23,11 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
@@ -94,7 +94,7 @@ public final class ReplicaQuerySQLRouterTest {
public void assertCreateRouteContextToPrimaryWithoutRouteUnits() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -105,7 +105,7 @@ public final class ReplicaQuerySQLRouterTest {
RouteContext actual = mockRouteContext();
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
@@ -119,7 +119,7 @@ public final class ReplicaQuerySQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(REPLICA_DATASOURCE));
@@ -133,7 +133,7 @@ public final class ReplicaQuerySQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
@@ -147,7 +147,7 @@ public final class ReplicaQuerySQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -161,7 +161,7 @@ public final class ReplicaQuerySQLRouterTest {
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
@@ -173,7 +173,7 @@ public final class ReplicaQuerySQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(InsertStatement.class));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowSQLRouterTest.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowSQLRouterTest.java
index 8f9647c..840ce1d 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowSQLRouterTest.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowSQLRouterTest.java
@@ -25,11 +25,11 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
@@ -81,7 +81,7 @@ public final class ShadowSQLRouterTest {
public void assertCreateRouteContextToShadowDataSource() {
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContextForShadow(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(SHADOW_DATASOURCE));
@@ -91,7 +91,7 @@ public final class ShadowSQLRouterTest {
public void assertCreateRouteContextToActualDataSource() {
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContext(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(ACTUAL_DATASOURCE));
@@ -101,7 +101,7 @@ public final class ShadowSQLRouterTest {
public void assertCreateRouteContextForNonDMLStatement() {
LogicSQL logicSQL = new LogicSQL(mockNonDMLSQLStatementContext(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(2));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -115,7 +115,7 @@ public final class ShadowSQLRouterTest {
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContextForShadow(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ "logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(1));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -127,7 +127,7 @@ public final class ShadowSQLRouterTest {
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContext(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(ACTUAL_DATASOURCE));
@@ -139,7 +139,7 @@ public final class ShadowSQLRouterTest {
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockNonDMLSQLStatementContext(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(2));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -152,7 +152,7 @@ public final class ShadowSQLRouterTest {
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContextForShadow(), "", Collections.emptyList());
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(PhysicalSchemaMetaData.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(1));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java
index c58dd1e..522bf6e 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalIndexMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
@@ -81,15 +80,15 @@ public final class MixSQLRewriterParameterizedTest extends AbstractSQLRewriterPa
Collection<ShardingSphereRule> rules = ShardingSphereRulesBuilder.build(
new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(ruleConfigurations.getRules()), ruleConfigurations.getDataSources().keySet());
SQLStatementParserEngine sqlStatementParserEngine = new SQLStatementParserEngine(null == getTestParameters().getDatabaseType() ? "SQL92" : getTestParameters().getDatabaseType());
- ShardingSphereSchema schema = buildSchema();
+ PhysicalSchemaMetaData schema = mockSchema();
ConfigurationProperties props = new ConfigurationProperties(ruleConfigurations.getProps());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
- getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
+ SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(
+ schema, getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(ShardingSphereResource.class), new ShardingSphereRuleMetaData(Collections.emptyList(), rules), schema);
RouteContext routeContext = new SQLRouteEngine(rules, props).route(logicSQL, metaData);
SQLRewriteResult sqlRewriteResult = new SQLRewriteEntry(
- schema.getSchemaMetaData(), props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
+ schema, props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
return sqlRewriteResult instanceof GenericSQLRewriteResult
? Collections.singletonList(((GenericSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnit()) : (((RouteSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnits()).values();
}
@@ -100,24 +99,24 @@ public final class MixSQLRewriterParameterizedTest extends AbstractSQLRewriterPa
return YamlEngine.unmarshal(new File(url.getFile()), YamlRootRuleConfigurations.class);
}
- private ShardingSphereSchema buildSchema() {
- PhysicalSchemaMetaData schemaMetaData = mock(PhysicalSchemaMetaData.class);
- when(schemaMetaData.getAllTableNames()).thenReturn(Arrays.asList("t_account", "t_account_bak", "t_account_detail"));
+ private PhysicalSchemaMetaData mockSchema() {
+ PhysicalSchemaMetaData result = mock(PhysicalSchemaMetaData.class);
+ when(result.getAllTableNames()).thenReturn(Arrays.asList("t_account", "t_account_bak", "t_account_detail"));
PhysicalTableMetaData accountTableMetaData = mock(PhysicalTableMetaData.class);
when(accountTableMetaData.getColumns()).thenReturn(createColumnMetaDataMap());
Map<String, PhysicalIndexMetaData> indexMetaDataMap = new HashMap<>(1, 1);
indexMetaDataMap.put("index_name", new PhysicalIndexMetaData("index_name"));
when(accountTableMetaData.getIndexes()).thenReturn(indexMetaDataMap);
- when(schemaMetaData.containsTable("t_account")).thenReturn(true);
- when(schemaMetaData.get("t_account")).thenReturn(accountTableMetaData);
+ when(result.containsTable("t_account")).thenReturn(true);
+ when(result.get("t_account")).thenReturn(accountTableMetaData);
PhysicalTableMetaData accountBakTableMetaData = mock(PhysicalTableMetaData.class);
when(accountBakTableMetaData.getColumns()).thenReturn(createColumnMetaDataMap());
- when(schemaMetaData.containsTable("t_account_bak")).thenReturn(true);
- when(schemaMetaData.get("t_account_bak")).thenReturn(accountBakTableMetaData);
- when(schemaMetaData.get("t_account_detail")).thenReturn(mock(PhysicalTableMetaData.class));
- when(schemaMetaData.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "password", "amount", "status"));
- when(schemaMetaData.getAllColumnNames("t_account_bak")).thenReturn(Arrays.asList("account_id", "password", "amount", "status"));
- return new ShardingSphereSchema(schemaMetaData);
+ when(result.containsTable("t_account_bak")).thenReturn(true);
+ when(result.get("t_account_bak")).thenReturn(accountBakTableMetaData);
+ when(result.get("t_account_detail")).thenReturn(mock(PhysicalTableMetaData.class));
+ when(result.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "password", "amount", "status"));
+ when(result.getAllColumnNames("t_account_bak")).thenReturn(Arrays.asList("account_id", "password", "amount", "status"));
+ return result;
}
private Map<String, PhysicalColumnMetaData> createColumnMetaDataMap() {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java
index 55bbc53..d4efd62 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalIndexMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
@@ -81,15 +80,15 @@ public final class ShardingSQLRewriterParameterizedTest extends AbstractSQLRewri
Collection<ShardingSphereRule> rules = ShardingSphereRulesBuilder.build(
new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(yamlRootRuleConfigs.getRules()), yamlRootRuleConfigs.getDataSources().keySet());
SQLStatementParserEngine sqlStatementParserEngine = new SQLStatementParserEngine(null == getTestParameters().getDatabaseType() ? "SQL92" : getTestParameters().getDatabaseType());
- ShardingSphereSchema schema = buildMetaData();
+ PhysicalSchemaMetaData schema = mockSchema();
ConfigurationProperties props = new ConfigurationProperties(yamlRootRuleConfigs.getProps());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
- getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
+ SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(
+ schema, getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(ShardingSphereResource.class), new ShardingSphereRuleMetaData(Collections.emptyList(), rules), schema);
RouteContext routeContext = new SQLRouteEngine(rules, props).route(logicSQL, metaData);
- SQLRewriteResult sqlRewriteResult = new SQLRewriteEntry(schema.getSchemaMetaData(),
- props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
+ SQLRewriteResult sqlRewriteResult = new SQLRewriteEntry(
+ schema, props, rules).rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext);
return sqlRewriteResult instanceof GenericSQLRewriteResult
? Collections.singletonList(((GenericSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnit()) : (((RouteSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnits()).values();
}
@@ -100,19 +99,19 @@ public final class ShardingSQLRewriterParameterizedTest extends AbstractSQLRewri
return YamlEngine.unmarshal(new File(url.getFile()), YamlRootRuleConfigurations.class);
}
- private ShardingSphereSchema buildMetaData() {
- PhysicalSchemaMetaData schemaMetaData = mock(PhysicalSchemaMetaData.class);
- when(schemaMetaData.getAllTableNames()).thenReturn(Arrays.asList("t_account", "t_account_detail"));
+ private PhysicalSchemaMetaData mockSchema() {
+ PhysicalSchemaMetaData result = mock(PhysicalSchemaMetaData.class);
+ when(result.getAllTableNames()).thenReturn(Arrays.asList("t_account", "t_account_detail"));
PhysicalTableMetaData accountTableMetaData = mock(PhysicalTableMetaData.class);
when(accountTableMetaData.getColumns()).thenReturn(createColumnMetaDataMap());
Map<String, PhysicalIndexMetaData> indexMetaDataMap = new HashMap<>(1, 1);
indexMetaDataMap.put("index_name", new PhysicalIndexMetaData("index_name"));
when(accountTableMetaData.getIndexes()).thenReturn(indexMetaDataMap);
- when(schemaMetaData.containsTable("t_account")).thenReturn(true);
- when(schemaMetaData.get("t_account")).thenReturn(accountTableMetaData);
- when(schemaMetaData.get("t_account_detail")).thenReturn(mock(PhysicalTableMetaData.class));
- when(schemaMetaData.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "amount", "status"));
- return new ShardingSphereSchema(schemaMetaData);
+ when(result.containsTable("t_account")).thenReturn(true);
+ when(result.get("t_account")).thenReturn(accountTableMetaData);
+ when(result.get("t_account_detail")).thenReturn(mock(PhysicalTableMetaData.class));
+ when(result.getAllColumnNames("t_account")).thenReturn(Arrays.asList("account_id", "amount", "status"));
+ return result;
}
private Map<String, PhysicalColumnMetaData> createColumnMetaDataMap() {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/ShardingSQLRouter.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/ShardingSQLRouter.java
index f5be60a..9c087b1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/ShardingSQLRouter.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/ShardingSQLRouter.java
@@ -60,7 +60,7 @@ public final class ShardingSQLRouter implements SQLRouter<ShardingRule> {
RouteContext result = new RouteContext();
SQLStatement sqlStatement = logicSQL.getSqlStatementContext().getSqlStatement();
Optional<ShardingStatementValidator> validator = ShardingStatementValidatorFactory.newInstance(sqlStatement);
- validator.ifPresent(v -> v.preValidate(rule, logicSQL.getSqlStatementContext(), logicSQL.getParameters(), metaData.getSchema()));
+ validator.ifPresent(optional -> optional.preValidate(rule, logicSQL.getSqlStatementContext(), logicSQL.getParameters(), metaData.getSchema()));
ShardingConditions shardingConditions = createShardingConditions(logicSQL, metaData, rule);
boolean needMergeShardingValues = isNeedMergeShardingValues(logicSQL.getSqlStatementContext(), rule);
if (sqlStatement instanceof DMLStatement && needMergeShardingValues) {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactory.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactory.java
index 8fdd74d..1939b36 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactory.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactory.java
@@ -19,12 +19,11 @@ package org.apache.shardingsphere.sharding.route.engine.condition.engine;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
+import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext;
import org.apache.shardingsphere.infra.datetime.DatetimeService;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.InsertClauseShardingConditionEngine;
import org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.WhereClauseShardingConditionEngine;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -48,8 +47,7 @@ public final class ShardingConditionEngineFactory {
* @return sharding condition engine
*/
public static ShardingConditionEngine<?> createShardingConditionEngine(final LogicSQL logicSQL, final ShardingSphereMetaData metaData, final ShardingRule rule) {
- PhysicalSchemaMetaData schemaMetaData = metaData.getSchema().getSchemaMetaData();
return logicSQL.getSqlStatementContext() instanceof InsertStatementContext
- ? new InsertClauseShardingConditionEngine(rule, schemaMetaData) : new WhereClauseShardingConditionEngine(rule, schemaMetaData);
+ ? new InsertClauseShardingConditionEngine(rule, metaData.getSchema()) : new WhereClauseShardingConditionEngine(rule, metaData.getSchema());
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
index 1dd17ca..6156c0a 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
@@ -109,7 +109,7 @@ public final class ShardingRouteEngineFactory {
if (!tableNames.isEmpty() && !shardingRule.tableRuleExists(tableNames)) {
return new SingleTableRoutingEngine(tableNames, metaData.getSchema(), sqlStatement);
}
- return new ShardingTableBroadcastRoutingEngine(metaData.getSchema().getSchemaMetaData(), sqlStatementContext);
+ return new ShardingTableBroadcastRoutingEngine(metaData.getSchema(), sqlStatementContext);
}
private static ShardingRouteEngine getDALRoutingEngine(final ShardingRule shardingRule, final ShardingSphereMetaData metaData,
@@ -133,7 +133,7 @@ public final class ShardingRouteEngineFactory {
if (isDCLForSingleTable(sqlStatementContext)) {
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
return shardingRule.tableRuleExists(tableNames)
- ? new ShardingTableBroadcastRoutingEngine(metaData.getSchema().getSchemaMetaData(), sqlStatementContext)
+ ? new ShardingTableBroadcastRoutingEngine(metaData.getSchema(), sqlStatementContext)
: new SingleTableRoutingEngine(tableNames, metaData.getSchema(), sqlStatementContext.getSqlStatement());
} else {
return new ShardingInstanceBroadcastRoutingEngine(metaData.getResource().getDataSourcesMetaData());
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngine.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngine.java
index c6f1a93..8d6aabd 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngine.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngine.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.type.single;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
@@ -43,7 +43,7 @@ public final class SingleTableRoutingEngine implements ShardingRouteEngine {
private final Collection<String> logicTables;
- private final ShardingSphereSchema schema;
+ private final PhysicalSchemaMetaData schema;
private final SQLStatement sqlStatement;
@@ -60,8 +60,8 @@ public final class SingleTableRoutingEngine implements ShardingRouteEngine {
// TODO maybe enhance here, only return one data source for multiple tables for now
private Optional<String> findDataSourceName() {
for (String each : logicTables) {
- if (schema.getSchemaMetaData().containsTable(each)) {
- return Optional.of(schema.getSchemaMetaData().get(each).getAddressingDataSources().iterator().next());
+ if (schema.containsTable(each)) {
+ return Optional.of(schema.get(each).getAddressingDataSources().iterator().next());
}
}
return Optional.empty();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
index 2303d0f..30d0efb 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -40,7 +40,7 @@ public interface ShardingStatementValidator<T extends SQLStatement> {
* @param parameters SQL parameters
* @param schema ShardingSphere schema
*/
- void preValidate(ShardingRule shardingRule, SQLStatementContext<T> sqlStatementContext, List<Object> parameters, ShardingSphereSchema schema);
+ void preValidate(ShardingRule shardingRule, SQLStatementContext<T> sqlStatementContext, List<Object> parameters, PhysicalSchemaMetaData schema);
/**
* Validate whether sharding operation is supported after route.
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
index b472b76..9c28dd1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.exception.NoSuchTableException;
import org.apache.shardingsphere.sharding.route.engine.exception.TableExistsException;
import org.apache.shardingsphere.sharding.route.engine.validator.ShardingStatementValidator;
@@ -38,10 +38,10 @@ public abstract class ShardingDDLStatementValidator<T extends DDLStatement> impl
* @param schema ShardingSphere schema
* @param tables tables
*/
- protected void validateShardingTable(final ShardingSphereSchema schema, final Collection<SimpleTableSegment> tables) {
+ protected void validateShardingTable(final PhysicalSchemaMetaData schema, final Collection<SimpleTableSegment> tables) {
for (SimpleTableSegment each : tables) {
String tableName = each.getTableName().getIdentifier().getValue();
- if (schema.getSchemaMetaData().getAllTableNames().contains(tableName)) {
+ if (schema.getAllTableNames().contains(tableName)) {
throw new ShardingSphereException("Can not support sharding table '%s'.", tableName);
}
}
@@ -53,11 +53,11 @@ public abstract class ShardingDDLStatementValidator<T extends DDLStatement> impl
* @param schema ShardingSphere schema
* @param tables tables
*/
- protected void validateTableExist(final ShardingSphereSchema schema, final Collection<SimpleTableSegment> tables) {
+ protected void validateTableExist(final PhysicalSchemaMetaData schema, final Collection<SimpleTableSegment> tables) {
for (SimpleTableSegment each : tables) {
String tableName = each.getTableName().getIdentifier().getValue();
- if (!schema.getSchemaMetaData().containsTable(tableName)) {
- String dataSourceName = schema.getSchemaMetaData().get(tableName).getAddressingDataSources().iterator().next();
+ if (!schema.containsTable(tableName)) {
+ String dataSourceName = schema.get(tableName).getAddressingDataSources().iterator().next();
throw new NoSuchTableException(dataSourceName, tableName);
}
}
@@ -69,10 +69,10 @@ public abstract class ShardingDDLStatementValidator<T extends DDLStatement> impl
* @param schema ShardingSphere schema
* @param tables tables
*/
- protected void validateTableNotExist(final ShardingSphereSchema schema, final Collection<SimpleTableSegment> tables) {
+ protected void validateTableNotExist(final PhysicalSchemaMetaData schema, final Collection<SimpleTableSegment> tables) {
for (SimpleTableSegment each : tables) {
String tableName = each.getTableName().getIdentifier().getValue();
- if (schema.getSchemaMetaData().containsTable(tableName)) {
+ if (schema.containsTable(tableName)) {
throw new TableExistsException(tableName);
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
index 3b84052..0c6a3ba 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -37,7 +37,7 @@ public final class ShardingAlterViewStatementValidator extends ShardingDDLStatem
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterViewStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
Optional<SelectStatement> selectStatement = AlterViewStatementHandler.getSelectStatement(sqlStatementContext.getSqlStatement());
selectStatement.ifPresent(select -> {
TableExtractor extractor = new TableExtractor();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
index 7dc3c25..e9a2066 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -39,7 +39,7 @@ public final class ShardingCreateFunctionStatementValidator extends ShardingDDLS
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateFunctionStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
Optional<RoutineBodySegment> routineBodySegment = CreateFunctionStatementHandler.getRoutineBodySegment(sqlStatementContext.getSqlStatement());
routineBodySegment.ifPresent(routineBody -> {
TableExtractor extractor = new TableExtractor();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
index ece2e18..0f1abe4 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -39,7 +39,7 @@ public final class ShardingCreateProcedureStatementValidator extends ShardingDDL
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateProcedureStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
Optional<RoutineBodySegment> routineBodySegment = CreateProcedureStatementHandler.getRoutineBodySegment(sqlStatementContext.getSqlStatement());
routineBodySegment.ifPresent(routineBody -> {
TableExtractor extractor = new TableExtractor();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
index eb1076e..6bd28d6 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -35,7 +35,7 @@ public final class ShardingCreateTableStatementValidator extends ShardingDDLStat
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateTableStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
if (!CreateTableStatementHandler.containsIfNotExistClause(sqlStatementContext.getSqlStatement())) {
validateTableNotExist(schema, Collections.singletonList(sqlStatementContext.getSqlStatement().getTable()));
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
index 7f70839..1f74ccd 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -37,7 +37,7 @@ public final class ShardingCreateViewStatementValidator extends ShardingDDLState
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateViewStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
Optional<SelectStatement> selectStatement = CreateViewStatementHandler.getSelectStatement(sqlStatementContext.getSqlStatement());
selectStatement.ifPresent(select -> {
TableExtractor extractor = new TableExtractor();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
index 66dccf3..4153375 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.dml.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.ShardingDMLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -35,7 +35,7 @@ public final class ShardingDeleteStatementValidator extends ShardingDMLStatement
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<DeleteStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
validateShardingMultipleTable(shardingRule, sqlStatementContext);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
index e26f3a5..84a5e0a 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.ShardingDMLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -43,7 +43,7 @@ public final class ShardingInsertStatementValidator extends ShardingDMLStatement
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<InsertStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
if (null == ((InsertStatementContext) sqlStatementContext).getInsertSelectContext()) {
validateShardingMultipleTable(shardingRule, sqlStatementContext);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
index d2bc599..6018211 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.dml.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.ShardingDMLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -45,7 +45,7 @@ public final class ShardingUpdateStatementValidator extends ShardingDMLStatement
@Override
public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<UpdateStatement> sqlStatementContext,
- final List<Object> parameters, final ShardingSphereSchema schema) {
+ final List<Object> parameters, final PhysicalSchemaMetaData schema) {
validateShardingMultipleTable(shardingRule, sqlStatementContext);
UpdateStatement sqlStatement = sqlStatementContext.getSqlStatement();
String tableName = sqlStatementContext.getTablesContext().getTables().iterator().next().getTableName().getIdentifier().getValue();
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java
index 499b21d..e0f1bd5 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java
@@ -50,7 +50,7 @@ public final class ShardingConditionEngineFactoryTest {
@Before
public void setUp() {
- when(metaData.getSchema().getSchemaMetaData()).thenReturn(mock(PhysicalSchemaMetaData.class));
+ when(metaData.getSchema()).thenReturn(mock(PhysicalSchemaMetaData.class));
}
@Test
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
index 393219e..20d1e14 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
@@ -95,7 +95,7 @@ public final class ShardingRouteEngineFactoryTest {
@Before
public void setUp() {
when(sqlStatementContext.getTablesContext()).thenReturn(tablesContext);
- when(metaData.getSchema().getSchemaMetaData()).thenReturn(mock(PhysicalSchemaMetaData.class));
+ when(metaData.getSchema()).thenReturn(mock(PhysicalSchemaMetaData.class));
tableNames = new ArrayList<>();
when(tablesContext.getTableNames()).thenReturn(tableNames);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngineTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngineTest.java
index f2be7e3..a4f3ef3 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngineTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/single/SingleTableRoutingEngineTest.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.sharding.route.engine.type.single;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
@@ -79,11 +78,11 @@ public final class SingleTableRoutingEngineTest {
assertThat(tableMapper1.getLogicName(), is("t_order_item"));
}
- private ShardingSphereSchema createShardingSphereSchema() {
+ private PhysicalSchemaMetaData createShardingSphereSchema() {
Map<String, PhysicalTableMetaData> tables = new HashMap<>(2, 1);
tables.put("t_order", createTableMetaData());
tables.put("t_order_item", createTableMetaData());
- return new ShardingSphereSchema(new PhysicalSchemaMetaData(tables));
+ return new PhysicalSchemaMetaData(tables);
}
private PhysicalTableMetaData createTableMetaData() {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
index 33d56ff..1509f17 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
@@ -51,10 +50,10 @@ public abstract class AbstractSQLRouteTest extends AbstractRoutingEngineTest {
protected final RouteContext assertRoute(final String sql, final List<Object> parameters) {
ShardingRule shardingRule = createAllShardingRule();
- ShardingSphereSchema schema = new ShardingSphereSchema(buildPhysicalSchemaMetaData());
+ PhysicalSchemaMetaData schema = buildPhysicalSchemaMetaData();
ConfigurationProperties props = new ConfigurationProperties(new Properties());
SQLStatementParserEngine sqlStatementParserEngine = new SQLStatementParserEngine("MySQL");
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(), parameters, sqlStatementParserEngine.parse(sql, false));
+ SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema, parameters, sqlStatementParserEngine.parse(sql, false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, sql, parameters);
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(shardingRule));
ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, schema);
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
index f46244e..e07a6dc 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.ShardingAlterViewStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
@@ -33,7 +33,6 @@ import org.mockito.Mock;
import java.util.Collections;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -49,8 +48,8 @@ public final class ShardingAlterViewStatementValidatorTest {
MySQLAlterViewStatement sqlStatement = new MySQLAlterViewStatement();
sqlStatement.setSelect(selectStatement);
SQLStatementContext<AlterViewStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().getAllTableNames()).thenReturn(Collections.singletonList("t_order"));
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.getAllTableNames()).thenReturn(Collections.singletonList("t_order"));
new ShardingAlterViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
@@ -60,8 +59,8 @@ public final class ShardingAlterViewStatementValidatorTest {
selectStatement.setFrom(new SimpleTableSegment(0, 0, new IdentifierValue("t_order")));
MySQLAlterViewStatement sqlStatement = new MySQLAlterViewStatement();
sqlStatement.setSelect(selectStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().getAllTableNames()).thenReturn(Collections.singleton("t_order"));
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.getAllTableNames()).thenReturn(Collections.singleton("t_order"));
SQLStatementContext<AlterViewStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
new ShardingAlterViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
index cde6d99..3ffd6aa 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.exception.NoSuchTableException;
import org.apache.shardingsphere.sharding.route.engine.exception.TableExistsException;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.ShardingCreateFunctionStatementValidator;
@@ -63,8 +63,8 @@ public final class ShardingCreateFunctionStatementValidatorTest {
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order_item")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order_item")).thenReturn(true);
new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
@@ -79,8 +79,7 @@ public final class ShardingCreateFunctionStatementValidatorTest {
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
+ new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class, RETURNS_DEEP_STUBS));
}
@Test(expected = NoSuchTableException.class)
@@ -94,8 +93,7 @@ public final class ShardingCreateFunctionStatementValidatorTest {
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
+ new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class, RETURNS_DEEP_STUBS));
}
@Test(expected = TableExistsException.class)
@@ -109,8 +107,8 @@ public final class ShardingCreateFunctionStatementValidatorTest {
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order")).thenReturn(true);
new ShardingCreateFunctionStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
index ef5e476..40faec0 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.exception.NoSuchTableException;
import org.apache.shardingsphere.sharding.route.engine.exception.TableExistsException;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.ShardingCreateProcedureStatementValidator;
@@ -63,8 +63,8 @@ public final class ShardingCreateProcedureStatementValidatorTest {
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order_item")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order_item")).thenReturn(true);
new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
@@ -78,9 +78,8 @@ public final class ShardingCreateProcedureStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
+ new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class, RETURNS_DEEP_STUBS));
}
@Test(expected = NoSuchTableException.class)
@@ -94,8 +93,7 @@ public final class ShardingCreateProcedureStatementValidatorTest {
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
+ new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class, RETURNS_DEEP_STUBS));
}
@Test(expected = TableExistsException.class)
@@ -109,8 +107,8 @@ public final class ShardingCreateProcedureStatementValidatorTest {
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order")).thenReturn(true);
new ShardingCreateProcedureStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
index 694220c..a501246 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.ddl.CreateTableStatementContext;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.exception.TableExistsException;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.ShardingCreateTableStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -36,7 +36,6 @@ import org.mockito.Mock;
import java.util.Collections;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -84,8 +83,8 @@ public final class ShardingCreateTableStatementValidatorTest {
private void assertValidateCreateTable(final CreateTableStatement sqlStatement) {
SQLStatementContext<CreateTableStatement> sqlStatementContext = new CreateTableStatementContext(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order")).thenReturn(true);
new ShardingCreateTableStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
@@ -107,8 +106,8 @@ public final class ShardingCreateTableStatementValidatorTest {
private void assertValidateCreateTableIfNotExists(final CreateTableStatement sqlStatement) {
SQLStatementContext<CreateTableStatement> sqlStatementContext = new CreateTableStatementContext(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().containsTable("t_order")).thenReturn(true);
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.containsTable("t_order")).thenReturn(true);
new ShardingCreateTableStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateViewStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateViewStatementValidatorTest.java
index 90443cd..47da265 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateViewStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateViewStatementValidatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.ddl;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.ShardingCreateViewStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
@@ -33,7 +33,6 @@ import org.mockito.Mock;
import java.util.Collections;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -49,8 +48,7 @@ public final class ShardingCreateViewStatementValidatorTest {
MySQLCreateViewStatement sqlStatement = new MySQLCreateViewStatement();
sqlStatement.setSelect(selectStatement);
SQLStatementContext<CreateViewStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- new ShardingCreateViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
+ new ShardingCreateViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
@@ -59,8 +57,8 @@ public final class ShardingCreateViewStatementValidatorTest {
selectStatement.setFrom(new SimpleTableSegment(0, 0, new IdentifierValue("t_order")));
MySQLCreateViewStatement sqlStatement = new MySQLCreateViewStatement();
sqlStatement.setSelect(selectStatement);
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
- when(schema.getSchemaMetaData().getAllTableNames()).thenReturn(Collections.singleton("t_order"));
+ PhysicalSchemaMetaData schema = mock(PhysicalSchemaMetaData.class);
+ when(schema.getAllTableNames()).thenReturn(Collections.singleton("t_order"));
SQLStatementContext<CreateViewStatement> sqlStatementContext = new CommonSQLStatementContext<>(sqlStatement);
new ShardingCreateViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), schema);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDeleteStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDeleteStatementValidatorTest.java
index f1f067f..5c6e1f7 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDeleteStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDeleteStatementValidatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.route.engine.validator.dml;
import com.google.common.collect.Lists;
import org.apache.shardingsphere.infra.binder.statement.dml.DeleteStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.impl.ShardingDeleteStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.DeleteMultiTableSegment;
@@ -84,6 +84,6 @@ public final class ShardingDeleteStatementValidatorTest {
Collection<String> shardingTableNames = Lists.newArrayList("order", "order_item");
when(shardingRule.getShardingLogicTableNames(sqlStatementContext.getTablesContext().getTableNames())).thenReturn(shardingTableNames);
when(shardingRule.isAllBindingTables(shardingTableNames)).thenReturn(true);
- new ShardingDeleteStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingDeleteStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
index e14cea9..aeadd88 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.impl.ShardingInsertStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -66,7 +65,7 @@ public final class ShardingInsertStatementValidatorTest {
Collection<String> shardingTableNames = Lists.newArrayList("order", "order_item");
when(shardingRule.getShardingLogicTableNames(sqlStatementContext.getTablesContext().getTableNames())).thenReturn(shardingTableNames);
when(shardingRule.isAllBindingTables(shardingTableNames)).thenReturn(true);
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test
@@ -74,7 +73,7 @@ public final class ShardingInsertStatementValidatorTest {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(false);
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertStatement());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
@@ -82,7 +81,7 @@ public final class ShardingInsertStatementValidatorTest {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(true);
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertStatement());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
@@ -92,7 +91,7 @@ public final class ShardingInsertStatementValidatorTest {
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTables().addAll(createSingleTablesContext().getTables());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test
@@ -102,7 +101,7 @@ public final class ShardingInsertStatementValidatorTest {
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTables().addAll(createSingleTablesContext().getTables());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
@@ -114,7 +113,7 @@ public final class ShardingInsertStatementValidatorTest {
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTables().addAll(multiTablesContext.getTables());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test
@@ -126,7 +125,7 @@ public final class ShardingInsertStatementValidatorTest {
SQLStatementContext<InsertStatement> sqlStatementContext = new InsertStatementContext(
new PhysicalSchemaMetaData(Collections.emptyMap()), Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTables().addAll(multiTablesContext.getTables());
- new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingInsertStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
private InsertStatement createInsertStatement() {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
index 308882c..b0ec841 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
@@ -21,7 +21,7 @@ import com.google.common.collect.Lists;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.dml.UpdateStatementContext;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sharding.route.engine.validator.dml.impl.ShardingUpdateStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.assignment.AssignmentSegment;
@@ -66,40 +66,40 @@ public final class ShardingUpdateStatementValidatorTest {
Collection<String> tableNames = Lists.newArrayList("order", "order_item");
when(shardingRule.getShardingLogicTableNames(sqlStatementContext.getTablesContext().getTableNames())).thenReturn(tableNames);
when(shardingRule.isAllBindingTables(tableNames)).thenReturn(true);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test
public void assertValidateUpdateWithoutShardingKey() {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(false);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
public void assertValidateUpdateWithShardingKey() {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(true);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), Collections.emptyList(), mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), Collections.emptyList(), mock(PhysicalSchemaMetaData.class));
}
@Test
public void assertValidateUpdateWithoutShardingKeyAndParameters() {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(false);
List<Object> parameters = Arrays.asList(1, 1);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), parameters, mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatement()), parameters, mock(PhysicalSchemaMetaData.class));
}
@Test
public void assertValidateUpdateWithShardingKeyAndShardingParameterEquals() {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(true);
List<Object> parameters = Arrays.asList(1, 1);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatementAndParameters(1)), parameters, mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatementAndParameters(1)), parameters, mock(PhysicalSchemaMetaData.class));
}
@Test(expected = ShardingSphereException.class)
public void assertValidateUpdateWithShardingKeyAndShardingParameterNotEquals() {
when(shardingRule.isShardingColumn("id", "user")).thenReturn(true);
List<Object> parameters = Arrays.asList(1, 1);
- new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatementAndParameters(2)), parameters, mock(ShardingSphereSchema.class));
+ new ShardingUpdateStatementValidator().preValidate(shardingRule, new UpdateStatementContext(createUpdateStatementAndParameters(2)), parameters, mock(PhysicalSchemaMetaData.class));
}
private UpdateStatement createUpdateStatement() {
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
index 1ef2b18..12489b6 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
@@ -44,11 +44,10 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorKernel;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.infra.rule.type.StatusContainedRule;
import org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
+import org.apache.shardingsphere.infra.rule.type.StatusContainedRule;
import javax.sql.DataSource;
import java.io.IOException;
@@ -95,7 +94,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
}
private void persistMetaData() {
- schemaContexts.getMetaDataMap().forEach((key, value) -> governanceFacade.getConfigCenter().persistMetaData(key, value.getSchema().getSchemaMetaData()));
+ schemaContexts.getMetaDataMap().forEach((key, value) -> governanceFacade.getConfigCenter().persistMetaData(key, value.getSchema()));
}
@Override
@@ -160,7 +159,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
Map<String, ShardingSphereMetaData> metaDataMap = new HashMap<>(schemaContexts.getMetaDataMap());
metaDataMap.put(event.getSchemaName(), createAddedMetaData(event));
schemaContexts = new StandardSchemaContexts(metaDataMap, schemaContexts.getExecutorKernel(), schemaContexts.getAuthentication(), schemaContexts.getProps(), schemaContexts.getDatabaseType());
- governanceFacade.getConfigCenter().persistMetaData(event.getSchemaName(), schemaContexts.getMetaDataMap().get(event.getSchemaName()).getSchema().getSchemaMetaData());
+ governanceFacade.getConfigCenter().persistMetaData(event.getSchemaName(), schemaContexts.getMetaDataMap().get(event.getSchemaName()).getSchema());
GovernanceEventBus.getInstance().post(
new DataSourceChangeCompletedEvent(event.getSchemaName(), schemaContexts.getDatabaseType(), metaDataMap.get(event.getSchemaName()).getResource().getDataSources()));
}
@@ -232,7 +231,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
newMetaDataMap.put(schemaName, getChangedMetaData(schemaContexts.getMetaDataMap().get(schemaName), event.getRuleConfigurations()));
schemaContexts = new StandardSchemaContexts(
newMetaDataMap, schemaContexts.getExecutorKernel(), schemaContexts.getAuthentication(), schemaContexts.getProps(), schemaContexts.getDatabaseType());
- governanceFacade.getConfigCenter().persistMetaData(schemaName, newMetaDataMap.get(schemaName).getSchema().getSchemaMetaData());
+ governanceFacade.getConfigCenter().persistMetaData(schemaName, newMetaDataMap.get(schemaName).getSchema());
}
/**
@@ -300,8 +299,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
private ShardingSphereMetaData getChangedMetaData(final ShardingSphereMetaData oldMetaData, final PhysicalSchemaMetaData newSchemaMetaData, final String schemaName) {
// TODO refresh tableAddressingMetaData
- ShardingSphereSchema schema = new ShardingSphereSchema(newSchemaMetaData);
- return new ShardingSphereMetaData(schemaName, oldMetaData.getResource(), oldMetaData.getRuleMetaData(), schema);
+ return new ShardingSphereMetaData(schemaName, oldMetaData.getResource(), oldMetaData.getRuleMetaData(), newSchemaMetaData);
}
private ShardingSphereMetaData getChangedMetaData(final ShardingSphereMetaData oldMetaData, final Collection<RuleConfiguration> ruleConfigs) throws SQLException {
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
index 868e086..f316bee 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
@@ -40,9 +40,8 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorKernel;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
-import org.apache.shardingsphere.infra.rule.event.RuleChangedEvent;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
+import org.apache.shardingsphere.infra.rule.event.RuleChangedEvent;
import org.apache.shardingsphere.jdbc.test.MockedDataSource;
import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
import org.junit.Before;
@@ -113,7 +112,7 @@ public final class GovernanceSchemaContextsTest {
private Map<String, ShardingSphereMetaData> createMetaDataMap() {
when(metaData.getName()).thenReturn("schema");
when(metaData.getResource()).thenReturn(mock(ShardingSphereResource.class));
- when(metaData.getSchema()).thenReturn(mock(ShardingSphereSchema.class));
+ when(metaData.getSchema()).thenReturn(mock(PhysicalSchemaMetaData.class));
when(metaData.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(replicaQueryRule));
return Collections.singletonMap("schema", metaData);
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
index b109d65..67935ea 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
@@ -21,7 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
/**
* ShardingSphere meta data.
@@ -36,7 +36,7 @@ public final class ShardingSphereMetaData {
private final ShardingSphereRuleMetaData ruleMetaData;
- private final ShardingSphereSchema schema;
+ private final PhysicalSchemaMetaData schema;
/**
* Is complete schema context.
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/MetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/MetaDataRefreshStrategy.java
index c59d0ca..7cb1406 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/MetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/MetaDataRefreshStrategy.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.sql.SQLException;
@@ -41,5 +41,5 @@ public interface MetaDataRefreshStrategy<T extends SQLStatement> {
* @param callback callback
* @throws SQLException SQL exception
*/
- void refreshMetaData(ShardingSphereSchema schema, DatabaseType databaseType, Collection<String> routeDataSourceNames, T sqlStatement, TableMetaDataLoaderCallback callback) throws SQLException;
+ void refreshMetaData(PhysicalSchemaMetaData schema, DatabaseType databaseType, Collection<String> routeDataSourceNames, T sqlStatement, TableMetaDataLoaderCallback callback) throws SQLException;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategy.java
index a5fc57d..2ce0337 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategy.java
@@ -18,9 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
@@ -34,16 +32,12 @@ import java.util.Collection;
public final class AlterTableStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<AlterTableStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final AlterTableStatement sqlStatement, final TableMetaDataLoaderCallback callback) throws SQLException {
String tableName = sqlStatement.getTable().getTableName().getIdentifier().getValue();
- PhysicalSchemaMetaData schemaMetaData = schema.getSchemaMetaData();
- if (null != schemaMetaData && schemaMetaData.containsTable(tableName)) {
- callback.load(tableName).ifPresent(tableMetaData -> alterMetaData(schema, tableName, tableMetaData));
+ if (null != schema && schema.containsTable(tableName)) {
+ callback.load(tableName).ifPresent(tableMetaData -> schema.put(tableName, tableMetaData));
}
}
-
- private void alterMetaData(final ShardingSphereSchema schema, final String tableName, final PhysicalTableMetaData tableMetaData) {
- schema.getSchemaMetaData().put(tableName, tableMetaData);
- }
+
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategy.java
index 81f1d45..bbc5e79 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategy.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalIndexMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateIndexStatement;
@@ -32,13 +32,13 @@ import java.util.Collection;
public final class CreateIndexStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<CreateIndexStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final CreateIndexStatement sqlStatement, final TableMetaDataLoaderCallback callback) {
if (null == sqlStatement.getIndex()) {
return;
}
String indexName = sqlStatement.getIndex().getIdentifier().getValue();
String tableName = sqlStatement.getTable().getTableName().getIdentifier().getValue();
- schema.getSchemaMetaData().get(tableName).getIndexes().put(indexName, new PhysicalIndexMetaData(indexName));
+ schema.get(tableName).getIndexes().put(indexName, new PhysicalIndexMetaData(indexName));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
index 4695983..50bb6cf 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
@@ -34,15 +34,15 @@ import java.util.Optional;
public final class CreateTableStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<CreateTableStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final CreateTableStatement sqlStatement, final TableMetaDataLoaderCallback callback) throws SQLException {
String tableName = sqlStatement.getTable().getTableName().getIdentifier().getValue();
Optional<PhysicalTableMetaData> tableMetaData = callback.load(tableName);
if (tableMetaData.isPresent()) {
- schema.getSchemaMetaData().put(tableName, tableMetaData.get());
+ schema.put(tableName, tableMetaData.get());
} else {
- schema.getSchemaMetaData().put(tableName, new PhysicalTableMetaData());
+ schema.put(tableName, new PhysicalTableMetaData());
}
- schema.getSchemaMetaData().get(tableName).getAddressingDataSources().addAll(routeDataSourceNames);
+ schema.get(tableName).getAddressingDataSources().addAll(routeDataSourceNames);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateViewStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateViewStatementMetaDataRefreshStrategy.java
index ad4e036..8c195ee 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateViewStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateViewStatementMetaDataRefreshStrategy.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
@@ -32,10 +32,10 @@ import java.util.Collection;
public final class CreateViewStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<CreateViewStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final CreateViewStatement sqlStatement, final TableMetaDataLoaderCallback callback) {
String viewName = sqlStatement.getView().getTableName().getIdentifier().getValue();
- schema.getSchemaMetaData().put(viewName, new PhysicalTableMetaData());
- schema.getSchemaMetaData().get(viewName).getAddressingDataSources().addAll(routeDataSourceNames);
+ schema.put(viewName, new PhysicalTableMetaData());
+ schema.get(viewName).getAddressingDataSources().addAll(routeDataSourceNames);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategy.java
index e1a7936..64210ae 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategy.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
@@ -38,17 +37,17 @@ import java.util.stream.Collectors;
public final class DropIndexStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<DropIndexStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final DropIndexStatement sqlStatement, final TableMetaDataLoaderCallback callback) {
Collection<String> indexNames = getIndexNames(sqlStatement);
Optional<SimpleTableSegment> simpleTableSegment = DropIndexStatementHandler.getSimpleTableSegment(sqlStatement);
String tableName = simpleTableSegment.map(tableSegment -> tableSegment.getTableName().getIdentifier().getValue()).orElse("");
- PhysicalTableMetaData tableMetaData = schema.getSchemaMetaData().get(tableName);
+ PhysicalTableMetaData tableMetaData = schema.get(tableName);
if (simpleTableSegment.isPresent()) {
indexNames.forEach(each -> tableMetaData.getIndexes().remove(each));
}
for (String each : indexNames) {
- if (findLogicTableName(schema.getSchemaMetaData(), each).isPresent()) {
+ if (findLogicTableName(schema, each).isPresent()) {
tableMetaData.getIndexes().remove(each);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategy.java
index 7a25797..1768aaf 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategy.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
@@ -31,12 +31,9 @@ import java.util.Collection;
public final class DropTableStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<DropTableStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final DropTableStatement sqlStatement, final TableMetaDataLoaderCallback callback) {
- sqlStatement.getTables().forEach(each -> removeMetaData(schema, each.getTableName().getIdentifier().getValue()));
- }
-
- private void removeMetaData(final ShardingSphereSchema schema, final String tableName) {
- schema.getSchemaMetaData().remove(tableName);
+ sqlStatement.getTables().forEach(each -> schema.remove(each.getTableName().getIdentifier().getValue()));
}
+
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropViewStatementMetaDataRefreshStrategy.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropViewStatementMetaDataRefreshStrategy.java
index bb4c3d1..1d96ac4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropViewStatementMetaDataRefreshStrategy.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropViewStatementMetaDataRefreshStrategy.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.schema.refresh.impl;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.refresh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.infra.metadata.schema.refresh.TableMetaDataLoaderCallback;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropViewStatement;
@@ -31,12 +31,9 @@ import java.util.Collection;
public final class DropViewStatementMetaDataRefreshStrategy implements MetaDataRefreshStrategy<DropViewStatement> {
@Override
- public void refreshMetaData(final ShardingSphereSchema schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
+ public void refreshMetaData(final PhysicalSchemaMetaData schema, final DatabaseType databaseType, final Collection<String> routeDataSourceNames,
final DropViewStatement sqlStatement, final TableMetaDataLoaderCallback callback) {
- sqlStatement.getViews().forEach(each -> removeMetaData(schema, each.getTableName().getIdentifier().getValue()));
- }
-
- private void removeMetaData(final ShardingSphereSchema schema, final String viewName) {
- schema.getSchemaMetaData().remove(viewName);
+ sqlStatement.getViews().forEach(each -> schema.remove(each.getTableName().getIdentifier().getValue()));
}
+
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
index e3e9722..91b7b18 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.infra.metadata;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+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.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.metadata.resource.CachedDatabaseMetaData;
-import org.apache.shardingsphere.infra.metadata.resource.DataSourcesMetaData;
import org.junit.Test;
import javax.sql.DataSource;
@@ -39,7 +39,7 @@ public final class ShardingSphereMetaDataTest {
public void assertIsComplete() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.singletonMap("ds", mock(DataSource.class)), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.singleton(mock(RuleConfiguration.class)), Collections.singleton(mock(ShardingSphereRule.class)));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(PhysicalSchemaMetaData.class));
assertTrue(metaData.isComplete());
}
@@ -47,7 +47,7 @@ public final class ShardingSphereMetaDataTest {
public void assertIsNotCompleteWithoutRule() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.singletonMap("ds", mock(DataSource.class)), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(PhysicalSchemaMetaData.class));
assertFalse(metaData.isComplete());
}
@@ -55,7 +55,7 @@ public final class ShardingSphereMetaDataTest {
public void assertIsNotCompleteWithoutDataSource() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.emptyMap(), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.singleton(mock(RuleConfiguration.class)), Collections.singleton(mock(ShardingSphereRule.class)));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(PhysicalSchemaMetaData.class));
assertFalse(metaData.isComplete());
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/AbstractMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/AbstractMetaDataRefreshStrategyTest.java
index 1a00000..2832ba9 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/AbstractMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/AbstractMetaDataRefreshStrategyTest.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.metadata.schema.refresh;
import com.google.common.collect.ImmutableMap;
import lombok.Getter;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalIndexMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
@@ -31,17 +30,16 @@ import java.util.Collections;
@Getter
public abstract class AbstractMetaDataRefreshStrategyTest {
- private ShardingSphereSchema schema;
+ private PhysicalSchemaMetaData schema;
@Before
public void setUp() {
schema = buildSchema();
}
- private ShardingSphereSchema buildSchema() {
- PhysicalSchemaMetaData schemaMetaData = new PhysicalSchemaMetaData(ImmutableMap.of("t_order", new PhysicalTableMetaData(
+ private PhysicalSchemaMetaData buildSchema() {
+ return new PhysicalSchemaMetaData(ImmutableMap.of("t_order", new PhysicalTableMetaData(
Collections.singletonList(new PhysicalColumnMetaData("order_id", 1, "String", false, false, false)), Collections.singletonList(new PhysicalIndexMetaData("index")))));
- return new ShardingSphereSchema(schemaMetaData);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategyTest.java
index 3ea71d4..479e738 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/AlterTableStatementMetaDataRefreshStrategyTest.java
@@ -74,6 +74,6 @@ public final class AlterTableStatementMetaDataRefreshStrategyTest extends Abstra
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), alterTableStatement, tableName -> Optional.of(new PhysicalTableMetaData(
Collections.singletonList(new PhysicalColumnMetaData("order_id", 1, "String", true, false, false)),
Collections.singletonList(new PhysicalIndexMetaData("index_alter")))));
- assertTrue(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("index_alter"));
+ assertTrue(getSchema().get("t_order").getIndexes().containsKey("index_alter"));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategyTest.java
index 8f4a933..67168f4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateIndexStatementMetaDataRefreshStrategyTest.java
@@ -66,7 +66,7 @@ public final class CreateIndexStatementMetaDataRefreshStrategyTest extends Abstr
createIndexStatement.setIndex(new IndexSegment(1, 2, new IdentifierValue("t_order_index")));
createIndexStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), createIndexStatement, tableName -> Optional.empty());
- assertTrue(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("t_order_index"));
+ assertTrue(getSchema().get("t_order").getIndexes().containsKey("t_order_index"));
}
@Test
@@ -93,6 +93,6 @@ public final class CreateIndexStatementMetaDataRefreshStrategyTest extends Abstr
MetaDataRefreshStrategy<CreateIndexStatement> metaDataRefreshStrategy = new CreateIndexStatementMetaDataRefreshStrategy();
createIndexStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), createIndexStatement, tableName -> Optional.empty());
- assertFalse(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("t_order_index"));
+ assertFalse(getSchema().get("t_order").getIndexes().containsKey("t_order_index"));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategyTest.java
index e778a7a..1fe6225 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/CreateTableStatementMetaDataRefreshStrategyTest.java
@@ -82,7 +82,7 @@ public final class CreateTableStatementMetaDataRefreshStrategyTest extends Abstr
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), createTableStatement, tableName -> Optional.of(new PhysicalTableMetaData(
Collections.singletonList(new PhysicalColumnMetaData("order_id", 1, "String", true, false, false)),
Collections.singletonList(new PhysicalIndexMetaData("index")))));
- assertTrue(getSchema().getSchemaMetaData().containsTable("t_order_0"));
+ assertTrue(getSchema().containsTable("t_order_0"));
}
@Test
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategyTest.java
index 9adbafb..7f61fa2 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropIndexStatementMetaDataRefreshStrategyTest.java
@@ -58,7 +58,7 @@ public final class DropIndexStatementMetaDataRefreshStrategyTest extends Abstrac
dropIndexStatement.getIndexes().add(new IndexSegment(1, 2, new IdentifierValue("index")));
MetaDataRefreshStrategy<DropIndexStatement> metaDataRefreshStrategy = new DropIndexStatementMetaDataRefreshStrategy();
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), dropIndexStatement, tableName -> Optional.empty());
- assertFalse(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("index"));
+ assertFalse(getSchema().get("t_order").getIndexes().containsKey("index"));
}
@Test
@@ -79,13 +79,13 @@ public final class DropIndexStatementMetaDataRefreshStrategyTest extends Abstrac
dropIndexStatement.getIndexes().add(new IndexSegment(1, 2, new IdentifierValue("index")));
dropIndexStatement.getIndexes().add(new IndexSegment(2, 3, new IdentifierValue("t_order_index")));
dropIndexStatement.getIndexes().add(new IndexSegment(3, 4, new IdentifierValue("order_id_index")));
- Map<String, PhysicalIndexMetaData> actualIndex = getSchema().getSchemaMetaData().get("t_order").getIndexes();
+ Map<String, PhysicalIndexMetaData> actualIndex = getSchema().get("t_order").getIndexes();
actualIndex.put("t_order_index", new PhysicalIndexMetaData("t_order_index"));
actualIndex.put("order_id_index", new PhysicalIndexMetaData("order_id_index"));
MetaDataRefreshStrategy<DropIndexStatement> metaDataRefreshStrategy = new DropIndexStatementMetaDataRefreshStrategy();
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), dropIndexStatement, tableName -> Optional.empty());
- assertFalse(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("index"));
- assertFalse(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("t_order_index"));
- assertFalse(getSchema().getSchemaMetaData().get("t_order").getIndexes().containsKey("order_id_index"));
+ assertFalse(getSchema().get("t_order").getIndexes().containsKey("index"));
+ assertFalse(getSchema().get("t_order").getIndexes().containsKey("t_order_index"));
+ assertFalse(getSchema().get("t_order").getIndexes().containsKey("order_id_index"));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategyTest.java
index 9fae697..7d4badc 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/refresh/impl/DropTableStatementMetaDataRefreshStrategyTest.java
@@ -69,7 +69,7 @@ public final class DropTableStatementMetaDataRefreshStrategyTest extends Abstrac
MetaDataRefreshStrategy<DropTableStatement> metaDataRefreshStrategy = new DropTableStatementMetaDataRefreshStrategy();
dropTableStatement.getTables().add(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
metaDataRefreshStrategy.refreshMetaData(getSchema(), mock(DatabaseType.class), Collections.emptyList(), dropTableStatement, tableName -> Optional.empty());
- assertFalse(getSchema().getSchemaMetaData().containsTable("t_order"));
+ assertFalse(getSchema().containsTable("t_order"));
}
@Test
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
index 922e42c..cd4a828 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
@@ -50,7 +50,7 @@ public final class KernelProcessor {
SQLRouteEngine sqlRouteEngine = new SQLRouteEngine(rules, props);
SQLStatementContext<?> sqlStatementContext = logicSQL.getSqlStatementContext();
RouteContext routeContext = sqlRouteEngine.route(logicSQL, metaData);
- SQLRewriteEntry rewriteEntry = new SQLRewriteEntry(metaData.getSchema().getSchemaMetaData(), props, rules);
+ SQLRewriteEntry rewriteEntry = new SQLRewriteEntry(metaData.getSchema(), props, rules);
SQLRewriteResult rewriteResult = rewriteEntry.rewrite(logicSQL.getSql(), logicSQL.getParameters(), sqlStatementContext, routeContext);
Collection<ExecutionUnit> executionUnits = ExecutionContextBuilder.build(metaData, rewriteResult, sqlStatementContext);
return new ExecutionContext(sqlStatementContext, executionUnits, routeContext);
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilder.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilder.java
index debae05..4ad8dd5 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilder.java
@@ -32,7 +32,6 @@ 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.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.ShardingSphereRulesBuilder;
@@ -130,10 +129,9 @@ public final class SchemaContextsBuilder {
}
}
- private ShardingSphereSchema buildSchema(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> rules) throws SQLException {
+ private PhysicalSchemaMetaData buildSchema(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> rules) throws SQLException {
long start = System.currentTimeMillis();
- PhysicalSchemaMetaData physicalSchemaMetaData = SchemaMetaDataLoader.load(databaseType, dataSourceMap, rules, props);
- ShardingSphereSchema result = new ShardingSphereSchema(physicalSchemaMetaData);
+ PhysicalSchemaMetaData result = SchemaMetaDataLoader.load(databaseType, dataSourceMap, rules, props);
log.info("Load meta data for schema {} finished, cost {} milliseconds.", schemaName, System.currentTimeMillis() - start);
return result;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
index 9e25a21..eeb5522 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
@@ -22,14 +22,14 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
import org.apache.shardingsphere.infra.rewrite.engine.result.RouteSQLRewriteResult;
import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteResult;
import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteUnit;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import java.util.ArrayList;
import java.util.Collection;
@@ -65,7 +65,7 @@ public final class ExecutionContextBuilder {
new SQLUnit(sqlRewriteResult.getSqlRewriteUnit().getSql(), sqlRewriteResult.getSqlRewriteUnit().getParameters(), getSQLRuntimeContext(metaData.getSchema(), sqlStatementContext))));
}
- private static Collection<ExecutionUnit> build(final ShardingSphereSchema schema, final RouteSQLRewriteResult sqlRewriteResult) {
+ private static Collection<ExecutionUnit> build(final PhysicalSchemaMetaData schema, final RouteSQLRewriteResult sqlRewriteResult) {
Collection<ExecutionUnit> result = new LinkedHashSet<>();
for (Entry<RouteUnit, SQLRewriteUnit> entry : sqlRewriteResult.getSqlRewriteUnits().entrySet()) {
Collection<RouteMapper> tableMappers = entry.getKey().getTableMappers();
@@ -75,11 +75,11 @@ public final class ExecutionContextBuilder {
return result;
}
- private static SQLRuntimeContext getSQLRuntimeContext(final ShardingSphereSchema schema, final SQLStatementContext<?> sqlStatementContext) {
+ private static SQLRuntimeContext getSQLRuntimeContext(final PhysicalSchemaMetaData schema, final SQLStatementContext<?> sqlStatementContext) {
return new SQLRuntimeContext(getLogicTableNames(sqlStatementContext), getActualTableNames(sqlStatementContext), getPrimaryKeyColumns(schema, sqlStatementContext));
}
- private static SQLRuntimeContext getSQLRuntimeContext(final ShardingSphereSchema schema, final Collection<RouteMapper> tableMappers) {
+ private static SQLRuntimeContext getSQLRuntimeContext(final PhysicalSchemaMetaData schema, final Collection<RouteMapper> tableMappers) {
return new SQLRuntimeContext(getLogicTableNames(tableMappers), getActualTableNames(tableMappers), getPrimaryKeyColumns(schema, tableMappers));
}
@@ -110,18 +110,18 @@ public final class ExecutionContextBuilder {
return null == tablesContext ? Collections.emptyList() : new ArrayList<>(tablesContext.getTableNames());
}
- private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final ShardingSphereSchema schema, final SQLStatementContext<?> sqlStatementContext) {
+ private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final PhysicalSchemaMetaData schema, final SQLStatementContext<?> sqlStatementContext) {
return getPrimaryKeyColumns(schema, getActualTableNames(sqlStatementContext));
}
- private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final ShardingSphereSchema schema, final Collection<RouteMapper> tableMappers) {
+ private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final PhysicalSchemaMetaData schema, final Collection<RouteMapper> tableMappers) {
return getPrimaryKeyColumns(schema, getLogicTableNames(tableMappers));
}
- private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final ShardingSphereSchema schema, final List<String> actualTableNames) {
+ private static List<PrimaryKeyMetaData> getPrimaryKeyColumns(final PhysicalSchemaMetaData schema, final List<String> actualTableNames) {
List<PrimaryKeyMetaData> result = new LinkedList<>();
for (String each: actualTableNames) {
- PhysicalTableMetaData tableMetaData = schema.getSchemaMetaData().get(each);
+ PhysicalTableMetaData tableMetaData = schema.get(each);
if (null != tableMetaData) {
result.add(new PrimaryKeyMetaData(each, tableMetaData.getPrimaryKeyColumns()));
}
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
index 5384bc2..f1c0396 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
@@ -23,7 +23,6 @@ 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.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
@@ -60,8 +59,7 @@ public final class ExecutionContextBuilderTest {
when(dataSourcesMetaData.getAllInstanceDataSourceNames()).thenReturn(Arrays.asList(firstDataSourceName, "lastDataSourceName"));
ShardingSphereResource resource = new ShardingSphereResource(Collections.emptyMap(), dataSourcesMetaData, mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList());
- ShardingSphereSchema schema = new ShardingSphereSchema(buildPhysicalSchemaMetaData());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, buildPhysicalSchemaMetaData());
Collection<ExecutionUnit> actual = ExecutionContextBuilder.build(metaData, genericSQLRewriteResult, mock(SQLStatementContext.class));
Collection<ExecutionUnit> expected = Collections.singletonList(new ExecutionUnit(firstDataSourceName, new SQLUnit(sql, parameters)));
assertThat(actual, is(expected));
@@ -78,8 +76,7 @@ public final class ExecutionContextBuilderTest {
sqlRewriteUnits.put(routeUnit2, sqlRewriteUnit2);
ShardingSphereResource resource = new ShardingSphereResource(Collections.emptyMap(), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList());
- ShardingSphereSchema schema = new ShardingSphereSchema(buildPhysicalSchemaMetaData());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, buildPhysicalSchemaMetaData());
Collection<ExecutionUnit> actual = ExecutionContextBuilder.build(metaData, new RouteSQLRewriteResult(sqlRewriteUnits), mock(SQLStatementContext.class));
ExecutionUnit expectedUnit1 = new ExecutionUnit("actualName1", new SQLUnit("sql1", Collections.singletonList("parameter1")));
ExecutionUnit expectedUnit2 = new ExecutionUnit("actualName2", new SQLUnit("sql2", Collections.singletonList("parameter2")));
@@ -98,8 +95,7 @@ public final class ExecutionContextBuilderTest {
sqlRewriteUnits.put(routeUnit2, sqlRewriteUnit2);
ShardingSphereResource resource = new ShardingSphereResource(Collections.emptyMap(), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList());
- ShardingSphereSchema schema = new ShardingSphereSchema(buildPhysicalSchemaMetaDataWithoutPrimaryKey());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, buildPhysicalSchemaMetaDataWithoutPrimaryKey());
Collection<ExecutionUnit> actual = ExecutionContextBuilder.build(metaData, new RouteSQLRewriteResult(sqlRewriteUnits), mock(SQLStatementContext.class));
ExecutionUnit expectedUnit2 = new ExecutionUnit("actualName2", new SQLUnit("sql2", Collections.singletonList("parameter2")));
Collection<ExecutionUnit> expected = new LinkedHashSet<>(1, 1);
diff --git a/shardingsphere-infra/shardingsphere-infra-route/src/main/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngine.java b/shardingsphere-infra/shardingsphere-infra-route/src/main/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngine.java
index 7410e1a..01902b7 100644
--- a/shardingsphere-infra/shardingsphere-infra-route/src/main/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngine.java
+++ b/shardingsphere-infra/shardingsphere-infra-route/src/main/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngine.java
@@ -55,7 +55,7 @@ public final class SQLRouteEngine {
try {
SQLRouteExecutor executor = isNeedAllSchemas(logicSQL.getSqlStatementContext().getSqlStatement()) ? new AllSQLRouteExecutor() : new PartialSQLRouteExecutor(rules, props);
RouteContext result = executor.route(logicSQL, metaData);
- routingHook.finishSuccess(result, metaData.getSchema().getSchemaMetaData());
+ routingHook.finishSuccess(result, metaData.getSchema());
return result;
// CHECKSTYLE:OFF
} catch (final Exception ex) {
diff --git a/shardingsphere-infra/shardingsphere-infra-route/src/test/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngineTest.java b/shardingsphere-infra/shardingsphere-infra-route/src/test/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngineTest.java
index 6582056..cea43fc 100644
--- a/shardingsphere-infra/shardingsphere-infra-route/src/test/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngineTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-route/src/test/java/org/apache/shardingsphere/infra/route/engine/SQLRouteEngineTest.java
@@ -24,17 +24,14 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.apache.shardingsphere.infra.route.fixture.rule.RouteFailureRuleFixture;
import org.apache.shardingsphere.infra.route.fixture.rule.RouteRuleFixture;
import org.apache.shardingsphere.infra.route.hook.SPIRoutingHook;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
-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;
@@ -47,13 +44,12 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public final class SQLRouteEngineTest {
- @Mock(answer = Answers.RETURNS_DEEP_STUBS)
- private ShardingSphereSchema schema;
+ @Mock
+ private PhysicalSchemaMetaData schema;
@Mock
private ConfigurationProperties props;
@@ -61,11 +57,6 @@ public final class SQLRouteEngineTest {
@Mock
private SPIRoutingHook routingHook;
- @Before
- public void setUp() {
- when(schema.getSchemaMetaData()).thenReturn(mock(PhysicalSchemaMetaData.class));
- }
-
@Test
public void assertRouteSuccess() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "SELECT 1", Collections.emptyList());
@@ -80,7 +71,7 @@ public final class SQLRouteEngineTest {
assertThat(routeUnit.getDataSourceMapper().getActualName(), is("ds_0"));
assertTrue(routeUnit.getTableMappers().isEmpty());
verify(routingHook).start("SELECT 1");
- verify(routingHook).finishSuccess(actual, schema.getSchemaMetaData());
+ verify(routingHook).finishSuccess(actual, schema);
}
@Test(expected = UnsupportedOperationException.class)
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/AbstractStatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/AbstractStatementExecutor.java
index 4d3a985..720856d 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/AbstractStatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/AbstractStatementExecutor.java
@@ -85,7 +85,7 @@ public abstract class AbstractStatementExecutor {
Collection<String> routeDataSourceNames = routeUnits.stream().map(RouteUnit::getDataSourceMapper).map(RouteMapper::getLogicName).collect(Collectors.toList());
refreshStrategy.get().refreshMetaData(metaData.getSchema(), schemaContexts.getDatabaseType(), routeDataSourceNames,
sqlStatement, tableName -> TableMetaDataLoader.load(tableName, schemaContexts.getDatabaseType(), dataSourceMap, metaData.getRuleMetaData().getRules(), schemaContexts.getProps()));
- notifyPersistLogicMetaData(DefaultSchema.LOGIC_NAME, metaData.getSchema().getSchemaMetaData());
+ notifyPersistLogicMetaData(DefaultSchema.LOGIC_NAME, metaData.getSchema());
}
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 8054841..8040721 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -271,14 +271,14 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
private LogicSQL createLogicSQL() {
List<Object> parameters = new ArrayList<>(getParameters());
- PhysicalSchemaMetaData schemaMetaData = schemaContexts.getDefaultMetaData().getSchema().getSchemaMetaData();
+ PhysicalSchemaMetaData schemaMetaData = schemaContexts.getDefaultMetaData().getSchema();
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schemaMetaData, parameters, sqlStatement);
return new LogicSQL(sqlStatementContext, sql, parameters);
}
private MergedResult mergeQuery(final List<QueryResult> queryResults) throws SQLException {
ShardingSphereMetaData metaData = schemaContexts.getDefaultMetaData();
- MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema().getSchemaMetaData(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
+ MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 1058b39..73a2e51 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -305,7 +305,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
}
private LogicSQL createLogicSQL(final String sql) {
- PhysicalSchemaMetaData schemaMetaData = schemaContexts.getDefaultMetaData().getSchema().getSchemaMetaData();
+ PhysicalSchemaMetaData schemaMetaData = schemaContexts.getDefaultMetaData().getSchema();
ShardingSphereSQLParserEngine sqlStatementParserEngine = new ShardingSphereSQLParserEngine(DatabaseTypeRegistry.getTrunkDatabaseTypeName(schemaContexts.getDatabaseType()));
SQLStatement sqlStatement = sqlStatementParserEngine.parse(sql, false);
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schemaMetaData, Collections.emptyList(), sqlStatement);
@@ -372,7 +372,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
private MergedResult mergeQuery(final List<QueryResult> queryResults) throws SQLException {
ShardingSphereMetaData metaData = schemaContexts.getDefaultMetaData();
- MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema().getSchemaMetaData(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
+ MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactory.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactory.java
index 94173a2..ceb219d 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactory.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactory.java
@@ -84,7 +84,7 @@ public final class DatabaseCommunicationEngineFactory {
private LogicSQL createLogicSQL(final SQLStatement sqlStatement, final String sql, final List<Object> parameters, final BackendConnection backendConnection) {
ShardingSphereMetaData metaData = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName());
- PhysicalSchemaMetaData schemaMetaData = metaData.getSchema().getSchemaMetaData();
+ PhysicalSchemaMetaData schemaMetaData = metaData.getSchema();
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schemaMetaData, parameters, sqlStatement);
return new LogicSQL(sqlStatementContext, sql, parameters);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
index 152a1b1..9841568 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
@@ -106,7 +106,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
if (refreshStrategy.isPresent()) {
refreshStrategy.get().refreshMetaData(
metaData.getSchema(), ProxyContext.getInstance().getSchemaContexts().getDatabaseType(), routeDataSourceNames, sqlStatement, this::loadTableMetaData);
- GovernanceEventBus.getInstance().post(new MetaDataPersistEvent(metaData.getName(), metaData.getSchema().getSchemaMetaData()));
+ GovernanceEventBus.getInstance().post(new MetaDataPersistEvent(metaData.getName(), metaData.getSchema()));
}
}
@@ -138,7 +138,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
private MergedResult mergeQuery(final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
MergeEngine mergeEngine = new MergeEngine(ProxyContext.getInstance().getSchemaContexts().getDatabaseType(),
- metaData.getSchema().getSchemaMetaData(), ProxyContext.getInstance().getSchemaContexts().getProps(), metaData.getRuleMetaData().getRules());
+ metaData.getSchema(), ProxyContext.getInstance().getSchemaContexts().getProps(), metaData.getRuleMetaData().getRules());
return mergeEngine.merge(queryResults, sqlStatementContext);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilder.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilder.java
index 6f7d656..4f68923 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilder.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilder.java
@@ -74,7 +74,7 @@ public final class QueryHeaderBuilder {
boolean primaryKey;
if (null != actualTableName && dataNodeContainedRule.isPresent()) {
tableName = dataNodeContainedRule.get().findLogicTableByActualTable(actualTableName).orElse("");
- PhysicalTableMetaData tableMetaData = metaData.getSchema().getSchemaMetaData().get(tableName);
+ PhysicalTableMetaData tableMetaData = metaData.getSchema().get(tableName);
primaryKey = null != tableMetaData && tableMetaData.getColumns().get(columnName.toLowerCase()).isPrimaryKey();
} else {
tableName = actualTableName;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
index 34e2b74..6c548e4 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
@@ -84,7 +84,7 @@ public final class ShardingCTLExplainBackendHandler implements TextProtocolBacke
}
private LogicSQL createLogicSQL(final ShardingSphereMetaData metaData, final ShardingCTLExplainStatement explainStatement) {
- PhysicalSchemaMetaData schemaMetaData = metaData.getSchema().getSchemaMetaData();
+ PhysicalSchemaMetaData schemaMetaData = metaData.getSchema();
ShardingSphereSQLParserEngine sqlStatementParserEngine = new ShardingSphereSQLParserEngine(
DatabaseTypeRegistry.getTrunkDatabaseTypeName(ProxyContext.getInstance().getSchemaContexts().getDatabaseType()));
SQLStatement sqlStatement = sqlStatementParserEngine.parse(explainStatement.getSql(), false);
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
index acbc11e..2d4ac48 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
@@ -66,7 +66,7 @@ public final class HintShowTableStatusExecutor extends AbstractHintQueryExecutor
if (!metaData.isComplete()) {
throw new RuleNotExistsException();
}
- Collection<String> tableNames = metaData.getSchema().getSchemaMetaData().getAllTableNames();
+ Collection<String> tableNames = metaData.getSchema().getAllTableNames();
for (String each : tableNames) {
if (HintManager.isDatabaseShardingOnly()) {
fillShardingValues(results, each, HintManager.getDatabaseShardingValues(), Collections.emptyList());
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilderTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilderTest.java
index 14ea7f0..1f4b4a6 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilderTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/query/QueryHeaderBuilderTest.java
@@ -22,13 +22,12 @@ import org.apache.shardingsphere.infra.binder.segment.select.projection.impl.Col
import org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection;
import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
import org.apache.shardingsphere.infra.executor.sql.raw.execute.result.query.QueryHeader;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.resource.DataSourcesMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalIndexMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
-import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.junit.Test;
@@ -131,12 +130,10 @@ public final class QueryHeaderBuilderTest {
PhysicalColumnMetaData columnMetaData = new PhysicalColumnMetaData("order_id", Types.INTEGER, "int", true, false, false);
PhysicalSchemaMetaData schemaMetaData = mock(PhysicalSchemaMetaData.class);
when(schemaMetaData.get("t_logic_order")).thenReturn(new PhysicalTableMetaData(Collections.singletonList(columnMetaData), Collections.singletonList(new PhysicalIndexMetaData("order_id"))));
- ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
- when(schema.getSchemaMetaData()).thenReturn(schemaMetaData);
DataSourcesMetaData dataSourcesMetaData = mock(DataSourcesMetaData.class);
when(dataSourcesMetaData.getDataSourceMetaData("ds_0")).thenReturn(mock(DataSourceMetaData.class));
when(result.getResource().getDataSourcesMetaData()).thenReturn(dataSourcesMetaData);
- when(result.getSchema()).thenReturn(schema);
+ when(result.getSchema()).thenReturn(schemaMetaData);
ShardingRule shardingRule = mock(ShardingRule.class);
when(shardingRule.findLogicTableByActualTable("t_order")).thenReturn(Optional.of("t_logic_order"));
when(result.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(shardingRule));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandlerTest.java
index ada7aa6..a75034a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandlerTest.java
@@ -5,13 +5,13 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
import org.apache.shardingsphere.infra.context.schema.impl.StandardSchemaContexts;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorKernel;
-import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
-import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
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.model.physical.PhysicalSchemaMetaData;
+import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.junit.Before;
@@ -66,7 +66,7 @@ public final class ShardingCTLExplainBackendHandlerTest {
ShardingSphereResource resource = new ShardingSphereResource(
Collections.singletonMap("ds0", mock(DataSource.class)), mock(DataSourcesMetaData.class, RETURNS_DEEP_STUBS), mock(CachedDatabaseMetaData.class));
ShardingSphereMetaData metaData = new ShardingSphereMetaData("schema",
- resource, new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(mock(ShardingSphereRule.class))), mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS));
+ resource, new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(mock(ShardingSphereRule.class))), mock(PhysicalSchemaMetaData.class));
return Collections.singletonMap("schema", metaData);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
index 16f585e..9ad9377 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorKernel;
import org.apache.shardingsphere.infra.hint.HintManager;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import org.apache.shardingsphere.infra.metadata.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.physical.PhysicalTableMetaData;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -203,7 +202,7 @@ public final class ShardingCTLHintBackendHandlerTest {
private Map<String, ShardingSphereMetaData> getMetaDataMap() {
ShardingSphereMetaData metaData = mock(ShardingSphereMetaData.class);
- when(metaData.getSchema()).thenReturn(new ShardingSphereSchema(new PhysicalSchemaMetaData(ImmutableMap.of("user", mock(PhysicalTableMetaData.class)))));
+ when(metaData.getSchema()).thenReturn(new PhysicalSchemaMetaData(ImmutableMap.of("user", mock(PhysicalTableMetaData.class))));
when(metaData.isComplete()).thenReturn(true);
return Collections.singletonMap("schema", metaData);
}