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/06 10:34:03 UTC
[shardingsphere] branch master updated: Add
ShardingSphereRuleMetaData (#8054)
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 8fe8182 Add ShardingSphereRuleMetaData (#8054)
8fe8182 is described below
commit 8fe8182627e16ed381175cb2fd2f514ceefdd414
Author: Liang Zhang <te...@163.com>
AuthorDate: Fri Nov 6 18:32:42 2020 +0800
Add ShardingSphereRuleMetaData (#8054)
* Add ShardingSphereRuleMetaData
* Fix test cases
---
.../EncryptSQLRewriterParameterizedTest.java | 3 ++-
.../ha/route/engine/HASQLRouterTest.java | 29 +++++++++++-----------
.../route/engine/ReplicaQuerySQLRouterTest.java | 29 +++++++++++-----------
.../shadow/route/engine/ShadowSQLRouterTest.java | 28 +++++++++++----------
.../MixSQLRewriterParameterizedTest.java | 3 ++-
.../ShardingSQLRewriterParameterizedTest.java | 3 ++-
.../engine/type/standard/AbstractSQLRouteTest.java | 5 ++--
.../context/schema/GovernanceSchemaContexts.java | 8 +++---
.../schema/GovernanceSchemaContextsTest.java | 5 ++--
.../infra/metadata/ShardingSphereMetaData.java | 13 +++-------
.../ShardingSphereRuleMetaData.java} | 23 +++--------------
.../infra/metadata/ShardingSphereMetaDataTest.java | 12 +++++----
.../infra/context/kernel/KernelProcessor.java | 2 +-
.../context/schema/SchemaContextsBuilder.java | 4 ++-
.../context/schema/SchemaContextsBuilderTest.java | 4 +--
.../sql/context/ExecutionContextBuilderTest.java | 20 +++++++++------
.../infra/route/engine/SQLRouteEngineTest.java | 17 +++++++------
.../driver/executor/AbstractStatementExecutor.java | 2 +-
.../driver/executor/PreparedStatementExecutor.java | 2 +-
.../driver/executor/StatementExecutor.java | 2 +-
.../batch/BatchPreparedStatementExecutor.java | 2 +-
.../jdbc/adapter/AbstractResultSetAdapter.java | 2 +-
.../metadata/ShardingSphereDatabaseMetaData.java | 2 +-
.../statement/ShardingSpherePreparedStatement.java | 10 ++++----
.../core/statement/ShardingSphereStatement.java | 8 +++---
.../driver/executor/AbstractBaseExecutorTest.java | 2 +-
.../ShardingSphereDatabaseMetaDataTest.java | 4 +--
.../GovernanceShardingSphereDataSource.java | 2 +-
.../GovernanceShardingSphereDataSourceTest.java | 4 +--
.../spring/boot/SpringBootStarterTest.java | 2 +-
.../shardingsphere/spring/SpringNamespaceTest.java | 2 +-
.../type/GovernanceSpringBootEncryptTest.java | 2 +-
.../GovernanceSpringBootRegistryEncryptTest.java | 2 +-
.../GovernanceSpringBootRegistryShardingTest.java | 8 +++---
.../type/GovernanceSpringBootReplicaQueryTest.java | 2 +-
.../type/GovernanceSpringBootShardingTest.java | 8 +++---
.../governance/GovernanceEncryptNamespaceTest.java | 2 +-
.../GovernanceReplicaQueryNamespaceTest.java | 2 +-
.../GovernanceShardingNamespaceTest.java | 4 +--
...overnanceShardingReplicaQueryNamespaceTest.java | 2 +-
.../jdbc/JDBCDatabaseCommunicationEngine.java | 7 +++---
.../execute/engine/jdbc/JDBCExecuteEngine.java | 4 +--
.../backend/response/query/QueryHeaderBuilder.java | 3 ++-
.../DatabaseCommunicationEngineFactoryTest.java | 2 +-
.../response/query/QueryHeaderBuilderTest.java | 2 +-
.../ShardingCTLExplainBackendHandlerTest.java | 5 ++--
46 files changed, 154 insertions(+), 155 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 d87b848..f99f398 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
@@ -24,6 +24,7 @@ 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.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
@@ -79,7 +80,7 @@ public final class EncryptSQLRewriterParameterizedTest extends AbstractSQLRewrit
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", Collections.emptyList(), rules, mock(ShardingSphereResource.class), schema);
+ 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);
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 207e9e7..6e1c773 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
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.ha.route.engine;
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.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
@@ -92,8 +93,8 @@ public final class HASQLRouterTest {
@Test
public void assertCreateRouteContextToPrimaryWithoutRouteUnits() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -103,8 +104,8 @@ public final class HASQLRouterTest {
public void assertDecorateRouteContextToPrimaryDataSource() {
RouteContext actual = mockRouteContext();
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.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));
@@ -117,8 +118,8 @@ public final class HASQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(REPLICA_DATASOURCE));
@@ -131,8 +132,8 @@ public final class HASQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.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));
@@ -145,8 +146,8 @@ public final class HASQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.class));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -159,8 +160,8 @@ public final class HASQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.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));
@@ -171,8 +172,8 @@ public final class HASQLRouterTest {
public void assertCreateRouteContextToPrimaryDataSource() {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(InsertStatement.class));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", Collections.emptyList(), Collections.singleton(rule),
- mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema",
+ mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(rule)), mock(ShardingSphereSchema.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 307cd7c..95864f1 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
@@ -22,6 +22,7 @@ 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.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
@@ -92,8 +93,8 @@ public final class ReplicaQuerySQLRouterTest {
@Test
public void assertCreateRouteContextToPrimaryWithoutRouteUnits() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -103,8 +104,8 @@ public final class ReplicaQuerySQLRouterTest {
public void assertDecorateRouteContextToPrimaryDataSource() {
RouteContext actual = mockRouteContext();
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
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));
@@ -117,8 +118,8 @@ public final class ReplicaQuerySQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(REPLICA_DATASOURCE));
@@ -131,8 +132,8 @@ public final class ReplicaQuerySQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.empty());
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
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));
@@ -145,8 +146,8 @@ public final class ReplicaQuerySQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
@@ -159,8 +160,8 @@ public final class ReplicaQuerySQLRouterTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(selectStatement);
when(selectStatement.getLock()).thenReturn(Optional.of(mock(LockSegment.class)));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
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));
@@ -171,8 +172,8 @@ public final class ReplicaQuerySQLRouterTest {
public void assertCreateRouteContextToPrimaryDataSource() {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(InsertStatement.class));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
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 06cd628..a36b1f5 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
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementConte
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.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
@@ -79,8 +80,8 @@ public final class ShadowSQLRouterTest {
@Test
public void assertCreateRouteContextToShadowDataSource() {
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContextForShadow(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(SHADOW_DATASOURCE));
@@ -89,8 +90,8 @@ public final class ShadowSQLRouterTest {
@Test
public void assertCreateRouteContextToActualDataSource() {
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContext(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(ACTUAL_DATASOURCE));
@@ -99,8 +100,8 @@ public final class ShadowSQLRouterTest {
@Test
public void assertCreateRouteContextForNonDMLStatement() {
LogicSQL logicSQL = new LogicSQL(mockNonDMLSQLStatementContext(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
RouteContext actual = sqlRouter.createRouteContext(logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(2));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -112,8 +113,9 @@ public final class ShadowSQLRouterTest {
RouteContext actual = new RouteContext();
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", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ "logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, mock(ShardingSphereSchema.class));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(1));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -124,8 +126,8 @@ public final class ShadowSQLRouterTest {
RouteContext actual = new RouteContext();
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContext(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is(ACTUAL_DATASOURCE));
@@ -136,8 +138,8 @@ public final class ShadowSQLRouterTest {
RouteContext actual = new RouteContext();
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockNonDMLSQLStatementContext(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
sqlRouter.decorateRouteContext(actual, logicSQL, metaData, rule, new ConfigurationProperties(new Properties()));
assertThat(actual.getRouteUnits().size(), is(2));
assertTrue(actual.getActualDataSourceNames().contains(SHADOW_DATASOURCE));
@@ -149,8 +151,8 @@ public final class ShadowSQLRouterTest {
RouteContext actual = new RouteContext();
actual.getRouteUnits().add(mockRouteUnit());
LogicSQL logicSQL = new LogicSQL(mockSQLStatementContextForShadow(), "", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(rule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), mock(ShardingSphereSchema.class));
+ 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));
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 aebe0e0..911179e 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
@@ -24,6 +24,7 @@ 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.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
@@ -86,7 +87,7 @@ public final class MixSQLRewriterParameterizedTest extends AbstractSQLRewriterPa
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", Collections.emptyList(), rules, mock(ShardingSphereResource.class), schema);
+ 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);
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 94d7eb6..d67dd1e 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
@@ -24,6 +24,7 @@ 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.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
@@ -86,7 +87,7 @@ public final class ShardingSQLRewriterParameterizedTest extends AbstractSQLRewri
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(),
getTestParameters().getInputParameters(), sqlStatementParserEngine.parse(getTestParameters().getInputSQL(), false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, getTestParameters().getInputSQL(), getTestParameters().getInputParameters());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", Collections.emptyList(), rules, mock(ShardingSphereResource.class), schema);
+ 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);
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 1d0d762..4ee7e5c 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
@@ -23,6 +23,7 @@ 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.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine;
@@ -58,8 +59,8 @@ public abstract class AbstractSQLRouteTest extends AbstractRoutingEngineTest {
SQLStatementParserEngine sqlStatementParserEngine = new SQLStatementParserEngine("MySQL");
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(schema.getSchemaMetaData(), parameters, sqlStatementParserEngine.parse(sql, false));
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, sql, parameters);
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "sharding_db", Collections.emptyList(), Collections.singleton(shardingRule), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), schema);
+ ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(shardingRule));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, schema);
RouteContext result = new SQLRouteEngine(Collections.singletonList(shardingRule), props).route(logicSQL, metaData);
assertThat(result.getRouteUnits().size(), is(1));
return result;
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 02087c0..3391fad 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
@@ -82,7 +82,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
private void disableDataSources() {
schemaContexts.getMetaDataMap().forEach((key, value)
- -> value.getRules().stream().filter(each -> each instanceof StatusContainedRule).forEach(each -> disableDataSources(key, (StatusContainedRule) each)));
+ -> value.getRuleMetaData().getRules().stream().filter(each -> each instanceof StatusContainedRule).forEach(each -> disableDataSources(key, (StatusContainedRule) each)));
}
private void disableDataSources(final String schemaName, final StatusContainedRule rule) {
@@ -261,7 +261,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
@Subscribe
public synchronized void renew(final DisabledStateChangedEvent event) {
GovernanceSchema governanceSchema = event.getGovernanceSchema();
- Collection<ShardingSphereRule> rules = schemaContexts.getMetaDataMap().get(governanceSchema.getSchemaName()).getRules();
+ Collection<ShardingSphereRule> rules = schemaContexts.getMetaDataMap().get(governanceSchema.getSchemaName()).getRuleMetaData().getRules();
for (ShardingSphereRule each : rules) {
if (each instanceof StatusContainedRule) {
((StatusContainedRule) each).updateRuleStatus(new DataSourceNameDisabledEvent(governanceSchema.getDataSourceName(), event.isDisabled()));
@@ -301,7 +301,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(oldMetaData.getSchema().getTableAddressingMetaData(), newSchemaMetaData);
- return new ShardingSphereMetaData(schemaName, oldMetaData.getConfigurations(), oldMetaData.getRules(), oldMetaData.getResource(), schema);
+ return new ShardingSphereMetaData(schemaName, oldMetaData.getResource(), oldMetaData.getRuleMetaData(), schema);
}
private ShardingSphereMetaData getChangedMetaData(final ShardingSphereMetaData oldMetaData, final Collection<RuleConfiguration> ruleConfigs) throws SQLException {
@@ -318,7 +318,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
Map<String, Map<String, DataSource>> dataSourcesMap = Collections.singletonMap(oldMetaData.getName(),
getNewDataSources(oldMetaData.getResource().getDataSources(), getAddedDataSources(oldMetaData, newDataSourceConfigs), modifiedDataSources, deletedDataSources));
return new SchemaContextsBuilder(schemaContexts.getDatabaseType(), dataSourcesMap,
- Collections.singletonMap(oldMetaData.getName(), oldMetaData.getConfigurations()), schemaContexts.getAuthentication(),
+ Collections.singletonMap(oldMetaData.getName(), oldMetaData.getRuleMetaData().getConfigurations()), schemaContexts.getAuthentication(),
schemaContexts.getProps().getProps()).build().getMetaDataMap().get(oldMetaData.getName());
}
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 351a45d..c5911c8 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
@@ -48,6 +48,7 @@ import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
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;
@@ -91,7 +92,7 @@ public final class GovernanceSchemaContextsTest {
@Mock
private ConfigCenter configCenter;
- @Mock
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereMetaData metaData;
@Mock
@@ -113,7 +114,7 @@ public final class GovernanceSchemaContextsTest {
when(metaData.getName()).thenReturn("schema");
when(metaData.getResource()).thenReturn(mock(ShardingSphereResource.class));
when(metaData.getSchema()).thenReturn(mock(ShardingSphereSchema.class));
- when(metaData.getRules()).thenReturn(Collections.singletonList(replicaQueryRule));
+ 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 b1fae59..279943d 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
@@ -19,13 +19,10 @@ package org.apache.shardingsphere.infra.metadata;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
+import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
-import java.util.Collection;
-
/**
* ShardingSphere meta data.
*/
@@ -35,12 +32,10 @@ public final class ShardingSphereMetaData {
private final String name;
- private final Collection<RuleConfiguration> configurations;
-
- private final Collection<ShardingSphereRule> rules;
-
private final ShardingSphereResource resource;
+ private final ShardingSphereRuleMetaData ruleMetaData;
+
private final ShardingSphereSchema schema;
/**
@@ -49,6 +44,6 @@ public final class ShardingSphereMetaData {
* @return is complete schema context or not
*/
public boolean isComplete() {
- return !rules.isEmpty() && !resource.getDataSources().isEmpty();
+ return !ruleMetaData.getRules().isEmpty() && !resource.getDataSources().isEmpty();
}
}
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/rule/ShardingSphereRuleMetaData.java
similarity index 64%
copy from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
copy to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/rule/ShardingSphereRuleMetaData.java
index b1fae59..5e64457 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/rule/ShardingSphereRuleMetaData.java
@@ -15,40 +15,23 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.metadata;
+package org.apache.shardingsphere.infra.metadata.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
import java.util.Collection;
/**
- * ShardingSphere meta data.
+ * ShardingSphere rule meta data.
*/
@RequiredArgsConstructor
@Getter
-public final class ShardingSphereMetaData {
-
- private final String name;
+public final class ShardingSphereRuleMetaData {
private final Collection<RuleConfiguration> configurations;
private final Collection<ShardingSphereRule> rules;
-
- private final ShardingSphereResource resource;
-
- private final ShardingSphereSchema schema;
-
- /**
- * Is complete schema context.
- *
- * @return is complete schema context or not
- */
- public boolean isComplete() {
- return !rules.isEmpty() && !resource.getDataSources().isEmpty();
- }
}
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 dc1ffe9..228869d 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
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.infra.metadata;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
+import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.schema.model.datasource.CachedDatabaseMetaData;
@@ -37,23 +38,24 @@ public final class ShardingSphereMetaDataTest {
@Test
public void assertIsComplete() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.singletonMap("ds", mock(DataSource.class)), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "name", Collections.singleton(mock(RuleConfiguration.class)), Collections.singleton(mock(ShardingSphereRule.class)), resource, mock(ShardingSphereSchema.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));
assertTrue(metaData.isComplete());
}
@Test
public void assertIsNotCompleteWithoutRule() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.singletonMap("ds", mock(DataSource.class)), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", Collections.emptyList(), Collections.emptyList(), resource, mock(ShardingSphereSchema.class));
+ ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList());
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, mock(ShardingSphereSchema.class));
assertFalse(metaData.isComplete());
}
@Test
public void assertIsNotCompleteWithoutDataSource() {
ShardingSphereResource resource = new ShardingSphereResource(Collections.emptyMap(), mock(DataSourcesMetaData.class), mock(CachedDatabaseMetaData.class));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "name", Collections.singleton(mock(RuleConfiguration.class)), Collections.singleton(mock(ShardingSphereRule.class)), resource, mock(ShardingSphereSchema.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));
assertFalse(metaData.isComplete());
}
}
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 f12fd2e..922e42c 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
@@ -46,7 +46,7 @@ public final class KernelProcessor {
* @return execution context
*/
public ExecutionContext generateExecutionContext(final LogicSQL logicSQL, final ShardingSphereMetaData metaData, final ConfigurationProperties props) {
- Collection<ShardingSphereRule> rules = metaData.getRules();
+ Collection<ShardingSphereRule> rules = metaData.getRuleMetaData().getRules();
SQLRouteEngine sqlRouteEngine = new SQLRouteEngine(rules, props);
SQLStatementContext<?> sqlStatementContext = logicSQL.getSqlStatementContext();
RouteContext routeContext = sqlRouteEngine.route(logicSQL, metaData);
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 e88c3ec..c3ea331 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
@@ -28,6 +28,7 @@ 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.metadata.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.ShardingSphereRulesBuilder;
import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
@@ -100,7 +101,8 @@ public final class SchemaContextsBuilder {
Map<String, DataSource> dataSourceMap = dataSources.get(schemaName);
Collection<RuleConfiguration> ruleConfigs = this.ruleConfigs.get(schemaName);
Collection<ShardingSphereRule> rules = ShardingSphereRulesBuilder.build(ruleConfigs, dataSourceMap.keySet());
- return new ShardingSphereMetaData(schemaName, ruleConfigs, rules, buildResource(dataSourceMap), buildSchema(schemaName, dataSourceMap, rules));
+ ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(ruleConfigs, rules);
+ return new ShardingSphereMetaData(schemaName, buildResource(dataSourceMap), ruleMetaData, buildSchema(schemaName, dataSourceMap, rules));
}
private ShardingSphereResource buildResource(final Map<String, DataSource> dataSourceMap) throws SQLException {
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilderTest.java b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilderTest.java
index da2a35e..55124ed 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/schema/SchemaContextsBuilderTest.java
@@ -83,8 +83,8 @@ public final class SchemaContextsBuilderTest {
}
private void assertRules(final SchemaContexts actual) {
- assertThat(actual.getMetaDataMap().get("logic_db").getRules().size(), CoreMatchers.is(1));
- assertThat(actual.getMetaDataMap().get("logic_db").getRules().iterator().next(), CoreMatchers.instanceOf(FixtureRule.class));
+ assertThat(actual.getMetaDataMap().get("logic_db").getRuleMetaData().getRules().size(), CoreMatchers.is(1));
+ assertThat(actual.getMetaDataMap().get("logic_db").getRuleMetaData().getRules().iterator().next(), CoreMatchers.instanceOf(FixtureRule.class));
}
private void assertDataSources(final SchemaContexts actual) {
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 6aa83fa..7cecbd7 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
@@ -20,6 +20,12 @@ package org.apache.shardingsphere.infra.executor.sql.context;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
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.rewrite.engine.result.GenericSQLRewriteResult;
+import org.apache.shardingsphere.infra.rewrite.engine.result.RouteSQLRewriteResult;
+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.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.schema.model.addressing.TableAddressingMetaData;
import org.apache.shardingsphere.infra.schema.model.datasource.CachedDatabaseMetaData;
@@ -27,11 +33,6 @@ import org.apache.shardingsphere.infra.schema.model.datasource.DataSourcesMetaDa
import org.apache.shardingsphere.infra.schema.model.schema.physical.model.column.PhysicalColumnMetaData;
import org.apache.shardingsphere.infra.schema.model.schema.physical.model.schema.PhysicalSchemaMetaData;
import org.apache.shardingsphere.infra.schema.model.schema.physical.model.table.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.SQLRewriteUnit;
-import org.apache.shardingsphere.infra.route.context.RouteMapper;
-import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.junit.Test;
import java.sql.Types;
@@ -59,8 +60,9 @@ public final class ExecutionContextBuilderTest {
String firstDataSourceName = "firstDataSourceName";
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(mock(TableAddressingMetaData.class), buildPhysicalSchemaMetaData());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", Collections.emptyList(), Collections.emptyList(), resource, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
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));
@@ -76,8 +78,9 @@ public final class ExecutionContextBuilderTest {
sqlRewriteUnits.put(routeUnit1, sqlRewriteUnit1);
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(mock(TableAddressingMetaData.class), buildPhysicalSchemaMetaData());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", Collections.emptyList(), Collections.emptyList(), resource, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
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")));
@@ -95,8 +98,9 @@ public final class ExecutionContextBuilderTest {
Map<RouteUnit, SQLRewriteUnit> sqlRewriteUnits = new HashMap<>(2, 1);
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(mock(TableAddressingMetaData.class), buildPhysicalSchemaMetaDataWithoutPrimaryKey());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", Collections.emptyList(), Collections.emptyList(), resource, schema);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("name", resource, ruleMetaData, schema);
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/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 3657ca3..3adb476 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
@@ -18,18 +18,19 @@
package org.apache.shardingsphere.infra.route.engine;
import lombok.SneakyThrows;
+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.resource.ShardingSphereResource;
-import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
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.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.binder.LogicSQL;
+import org.apache.shardingsphere.infra.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.schema.model.schema.physical.model.schema.PhysicalSchemaMetaData;
-import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -68,8 +69,8 @@ public final class SQLRouteEngineTest {
@Test
public void assertRouteSuccess() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "SELECT 1", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(new RouteRuleFixture()), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), schema);
+ ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(new RouteRuleFixture()));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, schema);
SQLRouteEngine sqlRouteEngine = new SQLRouteEngine(Collections.singleton(new RouteRuleFixture()), props);
setSPIRoutingHook(sqlRouteEngine);
RouteContext actual = sqlRouteEngine.route(logicSQL, metaData);
@@ -85,8 +86,8 @@ public final class SQLRouteEngineTest {
@Test(expected = UnsupportedOperationException.class)
public void assertRouteFailure() {
LogicSQL logicSQL = new LogicSQL(mock(SQLStatementContext.class), "SELECT 1", Collections.emptyList());
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "logic_schema", Collections.emptyList(), Collections.singleton(new RouteRuleFixture()), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), schema);
+ ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(new RouteRuleFixture()));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("logic_schema", mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), ruleMetaData, schema);
SQLRouteEngine sqlRouteEngine = new SQLRouteEngine(Collections.singleton(new RouteFailureRuleFixture()), props);
setSPIRoutingHook(sqlRouteEngine);
try {
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 241a27a..806f773 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
@@ -82,7 +82,7 @@ public abstract class AbstractStatementExecutor {
}
Optional<MetaDataRefreshStrategy> refreshStrategy = MetaDataRefreshStrategyFactory.newInstance(sqlStatement);
if (refreshStrategy.isPresent()) {
- SchemaMetaDataLoader loader = new SchemaMetaDataLoader(metaData.getRules());
+ SchemaMetaDataLoader loader = new SchemaMetaDataLoader(metaData.getRuleMetaData().getRules());
Collection<String> routeDataSourceNames = routeUnits.stream().map(RouteUnit::getDataSourceMapper).map(RouteMapper::getLogicName).collect(Collectors.toList());
refreshStrategy.get().refreshMetaData(metaData.getSchema(), schemaContexts.getDatabaseType(), routeDataSourceNames,
sqlStatement, tableName -> loader.load(schemaContexts.getDatabaseType(), dataSourceMap, tableName, schemaContexts.getProps()));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
index 8ad988b..4af36e4 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
@@ -83,7 +83,7 @@ public final class PreparedStatementExecutor extends AbstractStatementExecutor {
List<Integer> results = getSqlExecutor().execute(inputGroups, sqlExecutorCallback);
refreshTableMetaData(getSchemaContexts().getDefaultMetaData(), sqlStatementContext.getSqlStatement(), routeUnits);
return isNeedAccumulate(
- getSchemaContexts().getDefaultMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)
+ getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)
? accumulate(results) : results.get(0);
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
index 22852cf..1273510 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
@@ -134,7 +134,7 @@ public final class StatementExecutor extends AbstractStatementExecutor {
List<Integer> results = getSqlExecutor().execute(inputGroups, sqlExecutorCallback);
refreshTableMetaData(getSchemaContexts().getDefaultMetaData(), sqlStatementContext.getSqlStatement(), routeUnits);
if (isNeedAccumulate(
- getSchemaContexts().getDefaultMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)) {
+ getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)) {
return accumulate(results);
}
return null == results.get(0) ? 0 : results.get(0);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
index 6ef14a9..d2de40c 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
@@ -128,7 +128,7 @@ public final class BatchPreparedStatementExecutor {
};
List<int[]> results = sqlExecutor.execute(inputGroups, callback);
return isNeedAccumulate(
- schemaContexts.getDefaultMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)
+ schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().stream().filter(rule -> rule instanceof DataNodeRoutedRule).collect(Collectors.toList()), sqlStatementContext)
? accumulate(results) : results.get(0);
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
index b49df33..89c1d81 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
@@ -69,7 +69,7 @@ public abstract class AbstractResultSetAdapter extends AbstractUnsupportedOperat
private Collection<ShardingSphereRule> getRules() {
ShardingSphereConnection connection = statement instanceof ShardingSpherePreparedStatement
? ((ShardingSpherePreparedStatement) statement).getConnection() : ((ShardingSphereStatement) statement).getConnection();
- return connection.getSchemaContexts().getDefaultMetaData().getRules();
+ return connection.getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules();
}
@Override
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
index 17472a1..10fff0d 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
@@ -59,7 +59,7 @@ public final class ShardingSphereDatabaseMetaData extends AdaptedDatabaseMetaDat
public ShardingSphereDatabaseMetaData(final AbstractConnectionAdapter connection) {
super(connection.getSchemaContexts().getDefaultMetaData().getResource().getCachedDatabaseMetaData());
this.connection = connection;
- rules = connection.getSchemaContexts().getDefaultMetaData().getRules();
+ rules = connection.getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules();
datasourceNames = connection.getDataSourceMap().keySet();
dataSourcesMetaData = connection.getSchemaContexts().getDefaultMetaData().getResource().getDataSourcesMetaData();
}
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 f479ec7..e47feb9 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
@@ -213,12 +213,12 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
private Collection<InputGroup<StatementExecuteUnit>> getInputGroups() throws SQLException {
int maxConnectionsSizePerQuery = schemaContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
return new PreparedStatementExecuteGroupEngine(maxConnectionsSizePerQuery, connection, statementOption,
- schemaContexts.getDefaultMetaData().getRules()).generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
+ schemaContexts.getDefaultMetaData().getRuleMetaData().getRules()).generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
}
private Collection<InputGroup<RawSQLExecuteUnit>> getRawInputGroups() throws SQLException {
int maxConnectionsSizePerQuery = schemaContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
- return new RawExecuteGroupEngine(maxConnectionsSizePerQuery, schemaContexts.getDefaultMetaData().getRules())
+ return new RawExecuteGroupEngine(maxConnectionsSizePerQuery, schemaContexts.getDefaultMetaData().getRuleMetaData().getRules())
.generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
}
@@ -278,7 +278,7 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
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.getRules());
+ MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema().getSchemaMetaData(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
@@ -357,7 +357,7 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
private void initBatchPreparedStatementExecutor() throws SQLException {
PreparedStatementExecuteGroupEngine executeGroupEngine = new PreparedStatementExecuteGroupEngine(
schemaContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY),
- connection, statementOption, schemaContexts.getDefaultMetaData().getRules());
+ connection, statementOption, schemaContexts.getDefaultMetaData().getRuleMetaData().getRules());
batchPreparedStatementExecutor.init(executeGroupEngine.generate(executionContext.getRouteContext(),
new ArrayList<>(batchPreparedStatementExecutor.getBatchExecutionUnits()).stream().map(BatchExecutionUnit::getExecutionUnit).collect(Collectors.toList())));
setBatchParametersForStatements();
@@ -399,7 +399,7 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
@Override
public boolean isAccumulate() {
- return schemaContexts.getDefaultMetaData().getRules().stream().anyMatch(
+ return schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().stream().anyMatch(
each -> each instanceof DataNodeRoutedRule && ((DataNodeRoutedRule) each).isNeedAccumulate(executionContext.getSqlStatementContext().getTablesContext().getTableNames()));
}
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 1db13c3..d513ec5 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
@@ -315,12 +315,12 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
private Collection<InputGroup<StatementExecuteUnit>> getInputGroups() throws SQLException {
int maxConnectionsSizePerQuery = schemaContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
return new StatementExecuteGroupEngine(maxConnectionsSizePerQuery, connection, statementOption,
- schemaContexts.getDefaultMetaData().getRules()).generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
+ schemaContexts.getDefaultMetaData().getRuleMetaData().getRules()).generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
}
private Collection<InputGroup<RawSQLExecuteUnit>> getRawInputGroups() throws SQLException {
int maxConnectionsSizePerQuery = schemaContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
- return new RawExecuteGroupEngine(maxConnectionsSizePerQuery, schemaContexts.getDefaultMetaData().getRules())
+ return new RawExecuteGroupEngine(maxConnectionsSizePerQuery, schemaContexts.getDefaultMetaData().getRuleMetaData().getRules())
.generate(executionContext.getRouteContext(), executionContext.getExecutionUnits());
}
@@ -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.getRules());
+ MergeEngine mergeEngine = new MergeEngine(schemaContexts.getDatabaseType(), metaData.getSchema().getSchemaMetaData(), schemaContexts.getProps(), metaData.getRuleMetaData().getRules());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
@@ -395,7 +395,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
@Override
public boolean isAccumulate() {
- return schemaContexts.getDefaultMetaData().getRules().stream().anyMatch(
+ return schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().stream().anyMatch(
each -> each instanceof DataNodeRoutedRule && ((DataNodeRoutedRule) each).isNeedAccumulate(executionContext.getSqlStatementContext().getTablesContext().getTableNames()));
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/executor/AbstractBaseExecutorTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/executor/AbstractBaseExecutorTest.java
index 0c422c5..d02d645 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/executor/AbstractBaseExecutorTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/executor/AbstractBaseExecutorTest.java
@@ -70,7 +70,7 @@ public abstract class AbstractBaseExecutorTest {
when(schemaContexts.getProps()).thenReturn(createConfigurationProperties());
when(schemaContexts.getDatabaseType()).thenReturn(DatabaseTypeRegistry.getActualDatabaseType("H2"));
ShardingRule shardingRule = mockShardingRule();
- when(schemaContexts.getDefaultMetaData().getRules()).thenReturn(Collections.singletonList(shardingRule));
+ when(schemaContexts.getDefaultMetaData().getRuleMetaData().getRules()).thenReturn(Collections.singletonList(shardingRule));
TransactionContexts transactionContexts = mock(TransactionContexts.class);
when(transactionContexts.getDefaultTransactionManagerEngine()).thenReturn(new ShardingTransactionManagerEngine());
DataSource dataSource = mock(DataSource.class, RETURNS_DEEP_STUBS);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaDataTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaDataTest.java
index 665b5c9..f61ac96 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaDataTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaDataTest.java
@@ -21,8 +21,8 @@ import com.google.common.collect.LinkedHashMultimap;
import org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
import org.apache.shardingsphere.driver.jdbc.core.resultset.DatabaseMetaDataResultSet;
import org.apache.shardingsphere.infra.context.schema.SchemaContexts;
-import org.apache.shardingsphere.infra.schema.model.datasource.CachedDatabaseMetaData;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.infra.schema.model.datasource.CachedDatabaseMetaData;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -95,7 +95,7 @@ public final class ShardingSphereDatabaseMetaDataTest {
ShardingSphereMetaData metaData = mock(ShardingSphereMetaData.class, RETURNS_DEEP_STUBS);
when(schemaContexts.getDefaultMetaData()).thenReturn(metaData);
when(metaData.getResource().getCachedDatabaseMetaData()).thenReturn(cachedDatabaseMetaData);
- when(metaData.getRules()).thenReturn(Collections.singletonList(mockShardingRule()));
+ when(metaData.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(mockShardingRule()));
shardingSphereDatabaseMetaData = new ShardingSphereDatabaseMetaData(shardingSphereConnection);
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
index 7334d83..9e4add1 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
@@ -120,7 +120,7 @@ public final class GovernanceShardingSphereDataSource extends AbstractUnsupporte
private void uploadLocalConfiguration(final GovernanceFacade governanceFacade) {
Map<String, DataSourceConfiguration> dataSourceConfigs = DataSourceConverter.getDataSourceConfigurationMap(schemaContexts.getDefaultMetaData().getResource().getDataSources());
- Collection<RuleConfiguration> ruleConfigurations = schemaContexts.getDefaultMetaData().getConfigurations();
+ Collection<RuleConfiguration> ruleConfigurations = schemaContexts.getDefaultMetaData().getRuleMetaData().getConfigurations();
governanceFacade.onlineInstance(Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigs),
Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), null, schemaContexts.getProps().getProps());
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
index 0acaec4..4ae6992 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
@@ -65,7 +65,7 @@ public final class GovernanceShardingSphereDataSourceTest {
public static void setUp() throws SQLException, IOException, URISyntaxException {
SchemaContexts schemaContexts = getShardingSphereDataSource().getSchemaContexts();
GovernanceShardingSphereDataSource governanceDataSource = new GovernanceShardingSphereDataSource(schemaContexts.getDefaultMetaData().getResource().getDataSources(),
- schemaContexts.getDefaultMetaData().getConfigurations(), schemaContexts.getProps().getProps(), getGovernanceConfiguration());
+ schemaContexts.getDefaultMetaData().getRuleMetaData().getConfigurations(), schemaContexts.getProps().getProps(), getGovernanceConfiguration());
GovernanceShardingSphereDataSourceTest.schemaContexts = (GovernanceSchemaContexts) governanceDataSource.getSchemaContexts();
}
@@ -98,7 +98,7 @@ public final class GovernanceShardingSphereDataSourceTest {
@Test
public void assertRenewRules() throws SQLException {
schemaContexts.renew(new RuleConfigurationsChangedEvent(DefaultSchema.LOGIC_NAME, Arrays.asList(getShardingRuleConfiguration(), getReplicaQueryRuleConfiguration())));
- assertThat(((ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next()).getTableRules().size(), is(1));
+ assertThat(((ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next()).getTableRules().size(), is(1));
}
private ShardingRuleConfiguration getShardingRuleConfiguration() {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
index a7ea2c2..9851762 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
@@ -71,7 +71,7 @@ public class SpringBootStarterTest {
@Test
public void assertRules() {
- Collection<ShardingSphereRule> rules = dataSource.getSchemaContexts().getDefaultMetaData().getRules();
+ Collection<ShardingSphereRule> rules = dataSource.getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules();
assertThat(rules.size(), is(4));
for (ShardingSphereRule each : rules) {
if (each instanceof ShardingRule) {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
index 455ef08..d0624c9 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
@@ -46,7 +46,7 @@ public final class SpringNamespaceTest extends AbstractJUnit4SpringContextTests
@Test
public void assertShardingSphereDataSource() {
assertDataSourceMap();
- Collection<ShardingSphereRule> rules = dataSource.getSchemaContexts().getDefaultMetaData().getRules();
+ Collection<ShardingSphereRule> rules = dataSource.getSchemaContexts().getDefaultMetaData().getRuleMetaData().getRules();
assertThat(rules.size(), is(3));
for (ShardingSphereRule each : rules) {
if (each instanceof ShardingRule) {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootEncryptTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootEncryptTest.java
index b6de73d..6e55faf 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootEncryptTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootEncryptTest.java
@@ -63,7 +63,7 @@ public class GovernanceSpringBootEncryptTest {
assertThat(embedDataSource.getMaxTotal(), is(100));
assertThat(embedDataSource.getUsername(), is("sa"));
AlgorithmProvidedEncryptRuleConfiguration configuration =
- (AlgorithmProvidedEncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getConfigurations().iterator().next();
+ (AlgorithmProvidedEncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getRuleMetaData().getConfigurations().iterator().next();
assertThat(configuration.getEncryptors().size(), is(1));
EncryptAlgorithm encryptAlgorithm = configuration.getEncryptors().get("order_encrypt");
assertThat(encryptAlgorithm.getType(), is("AES"));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryEncryptTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegis [...]
index 0bef7e3..0d373e9 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryEncryptTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryEncryptTest.java
@@ -82,7 +82,7 @@ public class GovernanceSpringBootRegistryEncryptTest {
BasicDataSource embedDataSource = (BasicDataSource) schemaContexts.getDefaultMetaData().getResource().getDataSources().values().iterator().next();
assertThat(embedDataSource.getMaxTotal(), is(100));
assertThat(embedDataSource.getUsername(), is("sa"));
- EncryptRuleConfiguration config = (EncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getConfigurations().iterator().next();
+ EncryptRuleConfiguration config = (EncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getRuleMetaData().getConfigurations().iterator().next();
assertThat(config.getEncryptors().size(), is(1));
ShardingSphereAlgorithmConfiguration encryptAlgorithmConfig = config.getEncryptors().get("order_encrypt");
assertThat(encryptAlgorithmConfig, instanceOf(ShardingSphereAlgorithmConfiguration.class));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryShardingTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegi [...]
index 853e62d..938c3a9 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryShardingTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryShardingTest.java
@@ -87,7 +87,7 @@ public class GovernanceSpringBootRegistryShardingTest {
@Test
public void assertWithShardingSphereDataSourceNames() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getDataSourceNames().size(), is(2));
assertTrue(shardingRule.getDataSourceNames().contains("ds_0"));
assertTrue(shardingRule.getDataSourceNames().contains("ds_1"));
@@ -96,7 +96,7 @@ public class GovernanceSpringBootRegistryShardingTest {
@Test
public void assertWithTableRules() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getTableRules().size(), is(2));
TableRule orderRule = shardingRule.getTableRule("t_order");
assertThat(orderRule.getLogicTable(), is("t_order"));
@@ -121,7 +121,7 @@ public class GovernanceSpringBootRegistryShardingTest {
@Test
public void assertWithBindingTableRules() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getBindingTableRules().size(), is(2));
TableRule orderRule = shardingRule.getTableRule("t_order");
assertThat(orderRule.getLogicTable(), is("t_order"));
@@ -147,7 +147,7 @@ public class GovernanceSpringBootRegistryShardingTest {
@Test
public void assertWithBroadcastTables() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getBroadcastTables().size(), is(1));
assertThat(shardingRule.getBroadcastTables().iterator().next(), is("t_config"));
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQueryTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQ [...]
index 524cd4c..657fdf3 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQueryTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQueryTest.java
@@ -65,7 +65,7 @@ public class GovernanceSpringBootReplicaQueryTest {
assertThat(((BasicDataSource) each).getMaxTotal(), is(16));
assertThat(((BasicDataSource) each).getUsername(), is("sa"));
}
- Collection<ShardingSphereRule> rules = schemaContexts.getDefaultMetaData().getRules();
+ Collection<ShardingSphereRule> rules = schemaContexts.getDefaultMetaData().getRuleMetaData().getRules();
assertThat(rules.size(), is(1));
assertReplicaQueryRule((ReplicaQueryRule) rules.iterator().next());
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootShardingTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootShardingTest.java
index f21f9bf..cc78dda 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootShardingTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootShardingTest.java
@@ -71,7 +71,7 @@ public class GovernanceSpringBootShardingTest {
@Test
public void assertWithShardingSphereDataSourceNames() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getDataSourceNames().size(), is(2));
assertTrue(shardingRule.getDataSourceNames().contains("ds_0"));
assertTrue(shardingRule.getDataSourceNames().contains("ds_1"));
@@ -80,7 +80,7 @@ public class GovernanceSpringBootShardingTest {
@Test
public void assertWithTableRules() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getTableRules().size(), is(2));
TableRule orderRule = shardingRule.getTableRule("t_order");
assertThat(orderRule.getLogicTable(), is("t_order"));
@@ -106,7 +106,7 @@ public class GovernanceSpringBootShardingTest {
@Test
public void assertWithBindingTableRules() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getBindingTableRules().size(), is(2));
TableRule orderRule = shardingRule.getTableRule("t_order");
assertThat(orderRule.getLogicTable(), is("t_order"));
@@ -131,7 +131,7 @@ public class GovernanceSpringBootShardingTest {
@Test
public void assertWithBroadcastTables() {
SchemaContexts schemaContexts = getFieldValue("schemaContexts", GovernanceShardingSphereDataSource.class, dataSource);
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getBroadcastTables().size(), is(1));
assertThat(shardingRule.getBroadcastTables().iterator().next(), is("t_config"));
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceEncryptNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceEncryptNamespaceTest.java
index 573da85..e353b2d 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceEncryptNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceEncryptNamespaceTest.java
@@ -58,7 +58,7 @@ public final class GovernanceEncryptNamespaceTest extends AbstractJUnit4SpringCo
private AlgorithmProvidedEncryptRuleConfiguration getEncryptRuleConfiguration() {
GovernanceShardingSphereDataSource governanceDataSource = (GovernanceShardingSphereDataSource) applicationContext.getBean("encryptDataSourceGovernance");
SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(governanceDataSource, "schemaContexts");
- return (AlgorithmProvidedEncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getConfigurations().iterator().next();
+ return (AlgorithmProvidedEncryptRuleConfiguration) schemaContexts.getDefaultMetaData().getRuleMetaData().getConfigurations().iterator().next();
}
private void assertEncryptRule(final AlgorithmProvidedEncryptRuleConfiguration config) {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java
index 8cc7d3c..f7e927f 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java
@@ -90,7 +90,7 @@ public class GovernanceReplicaQueryNamespaceTest extends AbstractJUnit4SpringCon
private ReplicaQueryRule getReplicaQueryRule(final String dataSourceName) {
GovernanceShardingSphereDataSource dataSource = applicationContext.getBean(dataSourceName, GovernanceShardingSphereDataSource.class);
SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(dataSource, "schemaContexts");
- return (ReplicaQueryRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ return (ReplicaQueryRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
}
@Test
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingNamespaceTest.java
index d413fc6..7dc1236 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingNamespaceTest.java
@@ -154,7 +154,7 @@ public class GovernanceShardingNamespaceTest extends AbstractJUnit4SpringContext
public void assertDefaultActualDataNodes() {
GovernanceShardingSphereDataSource multiTableRulesDataSource = applicationContext.getBean("multiTableRulesDataSourceGovernance", GovernanceShardingSphereDataSource.class);
SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(multiTableRulesDataSource, "schemaContexts");
- ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ ShardingRule shardingRule = (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
assertThat(shardingRule.getTableRules().size(), is(2));
Iterator<TableRule> tableRules = shardingRule.getTableRules().iterator();
TableRule orderRule = tableRules.next();
@@ -176,6 +176,6 @@ public class GovernanceShardingNamespaceTest extends AbstractJUnit4SpringContext
private ShardingRule getShardingRule(final String dataSourceName) {
GovernanceShardingSphereDataSource shardingSphereDataSource = applicationContext.getBean(dataSourceName, GovernanceShardingSphereDataSource.class);
SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(shardingSphereDataSource, "schemaContexts");
- return (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ return (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
}
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQueryNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQu [...]
index c6dfe0a..731fb90 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQueryNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQueryNamespaceTest.java
@@ -65,6 +65,6 @@ public class GovernanceShardingReplicaQueryNamespaceTest extends AbstractJUnit4S
private ShardingRule getShardingRule(final String dataSourceName) {
GovernanceShardingSphereDataSource shardingSphereDataSource = applicationContext.getBean(dataSourceName, GovernanceShardingSphereDataSource.class);
SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(shardingSphereDataSource, "schemaContexts");
- return (ShardingRule) schemaContexts.getDefaultMetaData().getRules().iterator().next();
+ return (ShardingRule) schemaContexts.getDefaultMetaData().getRuleMetaData().getRules().iterator().next();
}
}
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 48cffd0..0a4c190 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
@@ -111,7 +111,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
}
private Optional<PhysicalTableMetaData> loadTableMetaData(final String tableName) throws SQLException {
- SchemaMetaDataLoader loader = new SchemaMetaDataLoader(metaData.getRules());
+ SchemaMetaDataLoader loader = new SchemaMetaDataLoader(metaData.getRuleMetaData().getRules());
return loader.load(
ProxyContext.getInstance().getSchemaContexts().getDatabaseType(), metaData.getResource().getDataSources(), tableName, ProxyContext.getInstance().getSchemaContexts().getProps());
}
@@ -132,13 +132,14 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
}
private boolean isNeedAccumulate(final SQLStatementContext<?> sqlStatementContext) {
- Optional<DataNodeRoutedRule> dataNodeRoutedRule = metaData.getRules().stream().filter(each -> each instanceof DataNodeRoutedRule).findFirst().map(rule -> (DataNodeRoutedRule) rule);
+ Optional<DataNodeRoutedRule> dataNodeRoutedRule =
+ metaData.getRuleMetaData().getRules().stream().filter(each -> each instanceof DataNodeRoutedRule).findFirst().map(rule -> (DataNodeRoutedRule) rule);
return dataNodeRoutedRule.isPresent() && dataNodeRoutedRule.get().isNeedAccumulate(sqlStatementContext.getTablesContext().getTableNames());
}
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.getRules());
+ metaData.getSchema().getSchemaMetaData(), 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/communication/jdbc/execute/engine/jdbc/JDBCExecuteEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/execute/engine/jdbc/JDBCExecuteEngine.java
index 575fcd3..21e6f59 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/execute/engine/jdbc/JDBCExecuteEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/execute/engine/jdbc/JDBCExecuteEngine.java
@@ -135,13 +135,13 @@ public final class JDBCExecuteEngine implements SQLExecuteEngine {
@SuppressWarnings({"unchecked", "rawtypes"})
private Collection<InputGroup<StatementExecuteUnit>> generateInputGroups(final Collection<ExecutionUnit> executionUnits, final int maxConnectionsSizePerQuery, final boolean isReturnGeneratedKeys,
final RouteContext routeContext) throws SQLException {
- Collection<ShardingSphereRule> rules = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).getRules();
+ Collection<ShardingSphereRule> rules = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).getRuleMetaData().getRules();
ExecuteGroupEngine executeGroupEngine = accessor.getExecuteGroupEngine(backendConnection, maxConnectionsSizePerQuery, new StatementOption(isReturnGeneratedKeys), rules);
return (Collection<InputGroup<StatementExecuteUnit>>) executeGroupEngine.generate(routeContext, executionUnits);
}
private Collection<ExecuteResult> executeWithUnmanagedResource(final ExecutionContext executionContext, final int maxConnectionsSizePerQuery) throws SQLException {
- Collection<ShardingSphereRule> rules = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).getRules();
+ Collection<ShardingSphereRule> rules = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).getRuleMetaData().getRules();
Collection<InputGroup<RawSQLExecuteUnit>> inputGroups = new RawExecuteGroupEngine(maxConnectionsSizePerQuery, rules).generate(executionContext.getRouteContext(),
executionContext.getExecutionUnits());
// TODO handle query header
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 21d81cd..f889d0c 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
@@ -68,7 +68,8 @@ public final class QueryHeaderBuilder {
private static QueryHeader build(final ResultSetMetaData resultSetMetaData, final ShardingSphereMetaData metaData, final String columnName, final int columnIndex) throws SQLException {
String schemaName = metaData.getName();
String actualTableName = resultSetMetaData.getTableName(columnIndex);
- Optional<DataNodeRoutedRule> dataNodeRoutedRule = metaData.getRules().stream().filter(each -> each instanceof DataNodeRoutedRule).findFirst().map(rule -> (DataNodeRoutedRule) rule);
+ Optional<DataNodeRoutedRule> dataNodeRoutedRule =
+ metaData.getRuleMetaData().getRules().stream().filter(each -> each instanceof DataNodeRoutedRule).findFirst().map(rule -> (DataNodeRoutedRule) rule);
String tableName;
boolean primaryKey;
if (null != actualTableName && dataNodeRoutedRule.isPresent()) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineFactoryTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineFactoryTest.java
index e7a9f73..6fbc436 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineFactoryTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineFactoryTest.java
@@ -58,7 +58,7 @@ public final class DatabaseCommunicationEngineFactoryTest {
private Map<String, ShardingSphereMetaData> getMetaDataMap() {
ShardingSphereMetaData result = mock(ShardingSphereMetaData.class, RETURNS_DEEP_STUBS);
- when(result.getRules()).thenReturn(Collections.emptyList());
+ when(result.getRuleMetaData().getRules()).thenReturn(Collections.emptyList());
return Collections.singletonMap("schema", result);
}
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 1cd4bc0..d9c065d 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
@@ -139,7 +139,7 @@ public final class QueryHeaderBuilderTest {
when(result.getSchema()).thenReturn(schema);
ShardingRule shardingRule = mock(ShardingRule.class);
when(shardingRule.findLogicTableByActualTable("t_order")).thenReturn(Optional.of("t_logic_order"));
- when(result.getRules()).thenReturn(Collections.singletonList(shardingRule));
+ when(result.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(shardingRule));
when(result.getName()).thenReturn("sharding_schema");
return result;
}
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 b826700..f82562f 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
@@ -6,6 +6,7 @@ import org.apache.shardingsphere.infra.context.schema.impl.StandardSchemaContext
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.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -64,8 +65,8 @@ public final class ShardingCTLExplainBackendHandlerTest {
private Map<String, ShardingSphereMetaData> getMetaDataMap() {
ShardingSphereResource resource = new ShardingSphereResource(
Collections.singletonMap("ds0", mock(DataSource.class)), mock(DataSourcesMetaData.class, RETURNS_DEEP_STUBS), mock(CachedDatabaseMetaData.class));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- "schema", Collections.emptyList(), Collections.singleton(mock(ShardingSphereRule.class)), resource, mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS));
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("schema",
+ resource, new ShardingSphereRuleMetaData(Collections.emptyList(), Collections.singleton(mock(ShardingSphereRule.class))), mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS));
return Collections.singletonMap("schema", metaData);
}