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/10/01 09:01:49 UTC
[shardingsphere] branch master updated: Refactor
ShardingSphereMetaData's constructor (#7678)
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 3506688 Refactor ShardingSphereMetaData's constructor (#7678)
3506688 is described below
commit 35066882402851ddb7cd2cdca04789e172ed8600
Author: Liang Zhang <te...@163.com>
AuthorDate: Thu Oct 1 17:01:24 2020 +0800
Refactor ShardingSphereMetaData's constructor (#7678)
---
.../parameterized/EncryptSQLRewriterParameterizedTest.java | 2 +-
.../parameterized/MixSQLRewriterParameterizedTest.java | 2 +-
.../parameterized/ShardingSQLRewriterParameterizedTest.java | 2 +-
.../route/engine/type/standard/AbstractSQLRouteTest.java | 2 +-
.../governance/context/schema/GovernanceSchemaContexts.java | 2 +-
.../infra/metadata/ShardingSphereMetaData.java | 4 ++--
.../refresh/AbstractMetaDataRefreshStrategyTest.java | 12 +++++-------
.../infra/context/schema/SchemaContextsBuilder.java | 2 +-
.../executor/sql/context/ExecutionContextBuilderTest.java | 10 +++++-----
.../text/sctl/hint/ShardingCTLHintBackendHandlerTest.java | 4 ++--
10 files changed, 20 insertions(+), 22 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 d527f8e..3cc8135 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
@@ -101,6 +101,6 @@ public final class EncryptSQLRewriterParameterizedTest extends AbstractSQLRewrit
RuleSchemaMetaData ruleSchemaMetaData = mock(RuleSchemaMetaData.class);
when(ruleSchemaMetaData.getConfiguredSchemaMetaData()).thenReturn(schemaMetaData);
when(ruleSchemaMetaData.getSchemaMetaData()).thenReturn(schemaMetaData);
- return new ShardingSphereMetaData(mock(DataSourceMetaDatas.class), ruleSchemaMetaData, "sharding_db");
+ return new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class), ruleSchemaMetaData);
}
}
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 e2b00b9..ccbac07 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
@@ -121,7 +121,7 @@ public final class MixSQLRewriterParameterizedTest extends AbstractSQLRewriterPa
RuleSchemaMetaData ruleSchemaMetaData = mock(RuleSchemaMetaData.class);
when(ruleSchemaMetaData.getConfiguredSchemaMetaData()).thenReturn(schemaMetaData);
when(ruleSchemaMetaData.getSchemaMetaData()).thenReturn(schemaMetaData);
- return new ShardingSphereMetaData(mock(DataSourceMetaDatas.class), ruleSchemaMetaData, "sharding_db");
+ return new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class), ruleSchemaMetaData);
}
private Map<String, ColumnMetaData> createColumnMetaDataMap() {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java
index fd68341..b13cf4d 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
@@ -116,7 +116,7 @@ public final class ShardingSQLRewriterParameterizedTest extends AbstractSQLRewri
RuleSchemaMetaData ruleSchemaMetaData = mock(RuleSchemaMetaData.class);
when(ruleSchemaMetaData.getConfiguredSchemaMetaData()).thenReturn(schemaMetaData);
when(ruleSchemaMetaData.getSchemaMetaData()).thenReturn(schemaMetaData);
- return new ShardingSphereMetaData(mock(DataSourceMetaDatas.class), ruleSchemaMetaData, "sharding_db");
+ return new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class), ruleSchemaMetaData);
}
private Map<String, ColumnMetaData> createColumnMetaDataMap() {
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 1dacd22..efed5d7 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
@@ -53,7 +53,7 @@ public abstract class AbstractSQLRouteTest extends AbstractRoutingEngineTest {
protected final RouteContext assertRoute(final String sql, final List<Object> parameters) {
ShardingRule shardingRule = createAllShardingRule();
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(buildDataSourceMetas(), buildRuleSchemaMetaData(), "sharding_db");
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", buildDataSourceMetas(), buildRuleSchemaMetaData());
ConfigurationProperties props = new ConfigurationProperties(new Properties());
StandardSQLParserEngine standardSqlParserEngine = SQLParserEngineFactory.getSQLParserEngine("MySQL");
SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(
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 a97a042..5790cbc 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
@@ -299,7 +299,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
}
private ShardingSphereSchema getChangedShardingSphereSchema(final ShardingSphereSchema oldShardingSphereSchema, final RuleSchemaMetaData newRuleSchemaMetaData, final String schemaName) {
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(oldShardingSphereSchema.getMetaData().getDataSourceMetaDatas(), newRuleSchemaMetaData, schemaName);
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData(schemaName, oldShardingSphereSchema.getMetaData().getDataSourceMetaDatas(), newRuleSchemaMetaData);
return new ShardingSphereSchema(schemaName, oldShardingSphereSchema.getConfigurations(), oldShardingSphereSchema.getRules(), oldShardingSphereSchema.getDataSources(), 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 12538e1..7081065 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
@@ -29,9 +29,9 @@ import org.apache.shardingsphere.infra.metadata.schema.RuleSchemaMetaData;
@Getter
public final class ShardingSphereMetaData {
+ private final String schemaName;
+
private final DataSourceMetaDatas dataSourceMetaDatas;
private final RuleSchemaMetaData ruleSchemaMetaData;
-
- private final String schemaName;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
index ba05662..b43a4af 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
@@ -18,9 +18,6 @@
package org.apache.shardingsphere.infra.metadata.refresh;
import com.google.common.collect.ImmutableMap;
-
-import java.util.Collections;
-
import com.google.common.collect.Lists;
import lombok.Getter;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -31,6 +28,8 @@ import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaDat
import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
import org.junit.Before;
+import java.util.Collections;
+
@Getter
public abstract class AbstractMetaDataRefreshStrategyTest {
@@ -42,10 +41,9 @@ public abstract class AbstractMetaDataRefreshStrategyTest {
}
private ShardingSphereMetaData buildMetaData() {
- return new ShardingSphereMetaData(null, new RuleSchemaMetaData(new SchemaMetaData(ImmutableMap
- .of("t_order", new TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 1, "String", false, false, false)), Collections.singletonList(new IndexMetaData("index"))))),
- ImmutableMap.of("t_order_item", Lists.newArrayList("t_order_item"))),
- "sharding_db");
+ SchemaMetaData schemaMetaData = new SchemaMetaData(ImmutableMap.of(
+ "t_order", new TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 1, "String", false, false, false)), Collections.singletonList(new IndexMetaData("index")))));
+ return new ShardingSphereMetaData("sharding_db", null, new RuleSchemaMetaData(schemaMetaData, ImmutableMap.of("t_order_item", Lists.newArrayList("t_order_item"))));
}
}
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 4e29028..3c458e8 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
@@ -123,7 +123,7 @@ public final class SchemaContextsBuilder {
long start = System.currentTimeMillis();
DataSourceMetaDatas dataSourceMetas = new DataSourceMetaDatas(databaseType, getDatabaseAccessConfigurationMap(dataSourceMap));
RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataLoader(rules).load(databaseType, dataSourceMap, props);
- ShardingSphereMetaData result = new ShardingSphereMetaData(dataSourceMetas, ruleSchemaMetaData, schemaName);
+ ShardingSphereMetaData result = new ShardingSphereMetaData(schemaName, dataSourceMetas, ruleSchemaMetaData);
log.info("Load meta data for schema {} finished, cost {} milliseconds.", schemaName, System.currentTimeMillis() - start);
return result;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/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 0093728..69c72c4 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
@@ -55,7 +55,7 @@ public final class ExecutionContextBuilderTest {
DataSourceMetaDatas dataSourceMetaDatas = mock(DataSourceMetaDatas.class);
String firstDataSourceName = "firstDataSourceName";
when(dataSourceMetaDatas.getAllInstanceDataSourceNames()).thenReturn(Arrays.asList(firstDataSourceName, "lastDataSourceName"));
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(dataSourceMetaDatas, buildRuleSchemaMetaData(), "sharding_db");
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", dataSourceMetaDatas, buildRuleSchemaMetaData());
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));
@@ -70,7 +70,7 @@ public final class ExecutionContextBuilderTest {
Map<RouteUnit, SQLRewriteUnit> sqlRewriteUnits = new HashMap<>(2, 1);
sqlRewriteUnits.put(routeUnit1, sqlRewriteUnit1);
sqlRewriteUnits.put(routeUnit2, sqlRewriteUnit2);
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(mock(DataSourceMetaDatas.class), buildRuleSchemaMetaData(), "sharding_db");
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class), buildRuleSchemaMetaData());
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")));
@@ -88,7 +88,7 @@ public final class ExecutionContextBuilderTest {
Map<RouteUnit, SQLRewriteUnit> sqlRewriteUnits = new HashMap<>(2, 1);
sqlRewriteUnits.put(routeUnit2, sqlRewriteUnit2);
RuleSchemaMetaData ruleSchemaMetaData = buildRuleSchemaMetaDataWithoutPrimaryKey();
- ShardingSphereMetaData metaData = new ShardingSphereMetaData(mock(DataSourceMetaDatas.class), ruleSchemaMetaData, "sharding_db");
+ ShardingSphereMetaData metaData = new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class), ruleSchemaMetaData);
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);
@@ -104,7 +104,7 @@ public final class ExecutionContextBuilderTest {
new ColumnMetaData("status", Types.INTEGER, "int", false, false, false)), Collections.emptySet()));
tableMetaDataMap.put("t_other", new TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new HashMap<>(1, 1);
- unconfiguredSchemaMetaDataMap.put("ds_0", Arrays.asList("t_category"));
+ unconfiguredSchemaMetaDataMap.put("ds_0", Collections.singletonList("t_category"));
return new RuleSchemaMetaData(new SchemaMetaData(tableMetaDataMap), unconfiguredSchemaMetaDataMap);
}
@@ -120,7 +120,7 @@ public final class ExecutionContextBuilderTest {
new ColumnMetaData("c_date", Types.TIMESTAMP, "timestamp", false, false, false)), Collections.emptySet()));
tableMetaDataMap.put("t_other", new TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new HashMap<>(1, 1);
- unconfiguredSchemaMetaDataMap.put("ds_0", Arrays.asList("t_category"));
+ unconfiguredSchemaMetaDataMap.put("ds_0", Collections.singletonList("t_category"));
return new RuleSchemaMetaData(new SchemaMetaData(tableMetaDataMap), unconfiguredSchemaMetaDataMap);
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
index 0801f7d..c214c48 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/ShardingCTLHintBackendHandlerTest.java
@@ -207,8 +207,8 @@ public final class ShardingCTLHintBackendHandlerTest {
private Map<String, SchemaContext> getSchemaContextMap() {
ShardingSphereSchema shardingSphereSchema = mock(ShardingSphereSchema.class);
- when(shardingSphereSchema.getMetaData()).thenReturn(new ShardingSphereMetaData(mock(DataSourceMetaDatas.class),
- new RuleSchemaMetaData(new SchemaMetaData(ImmutableMap.of("user", mock(TableMetaData.class))), Collections.emptyMap()), "sharding_db"));
+ when(shardingSphereSchema.getMetaData()).thenReturn(new ShardingSphereMetaData("sharding_db", mock(DataSourceMetaDatas.class),
+ new RuleSchemaMetaData(new SchemaMetaData(ImmutableMap.of("user", mock(TableMetaData.class))), Collections.emptyMap())));
when(shardingSphereSchema.isComplete()).thenReturn(true);
SchemaContext result = new SchemaContext(shardingSphereSchema, null);
return Collections.singletonMap("schema", result);