You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/06/23 14:40:25 UTC
[shardingsphere] branch master updated: Decouple RuleMetaData.configuration of ShardingBroadcastTableRuleQueryResultSet (#18549)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 291d3087df3 Decouple RuleMetaData.configuration of ShardingBroadcastTableRuleQueryResultSet (#18549)
291d3087df3 is described below
commit 291d3087df31f690196098c834caadd2da15687d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Jun 23 22:40:19 2022 +0800
Decouple RuleMetaData.configuration of ShardingBroadcastTableRuleQueryResultSet (#18549)
---
.../query/ShardingBroadcastTableRuleQueryResultSet.java | 9 ++++-----
.../query/ShardingBroadcastTableRuleQueryResultSetTest.java | 13 +++++++------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java
index 7e81510e2eb..6b727b81fee 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java
@@ -17,10 +17,10 @@
package org.apache.shardingsphere.sharding.distsql.handler.query;
-import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
+import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.util.Collection;
@@ -37,9 +37,8 @@ public final class ShardingBroadcastTableRuleQueryResultSet implements DistSQLRe
@Override
public void init(final ShardingSphereDatabase database, final SQLStatement sqlStatement) {
- Optional<ShardingRuleConfiguration> shardingRuleConfig = database.getRuleMetaData().getConfigurations()
- .stream().filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
- data = shardingRuleConfig.map(optional -> optional.getBroadcastTables().iterator()).orElseGet(Collections::emptyIterator);
+ Optional<ShardingRule> rule = database.getRuleMetaData().findSingleRule(ShardingRule.class);
+ data = rule.map(optional -> optional.getBroadcastTables().iterator()).orElseGet(Collections::emptyIterator);
}
@Override
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java
index c46bcb5b3f4..cdcf80e0c02 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java
@@ -17,16 +17,16 @@
package org.apache.shardingsphere.sharding.distsql.query;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.distsql.handler.query.ShardingBroadcastTableRuleQueryResultSet;
import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.junit.Test;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@@ -39,7 +39,8 @@ public final class ShardingBroadcastTableRuleQueryResultSetTest {
@Test
public void assertGetRowData() {
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
- when(database.getRuleMetaData().getConfigurations()).thenReturn(Collections.singleton(createRuleConfiguration()));
+ ShardingRule rule = mockShardingRule();
+ when(database.getRuleMetaData().findSingleRule(ShardingRule.class)).thenReturn(Optional.of(rule));
ShardingBroadcastTableRuleQueryResultSet resultSet = new ShardingBroadcastTableRuleQueryResultSet();
resultSet.init(database, mock(ShowShardingBroadcastTableRulesStatement.class));
Collection<Object> actual = resultSet.getRowData();
@@ -47,9 +48,9 @@ public final class ShardingBroadcastTableRuleQueryResultSetTest {
assertThat(actual, is(Collections.singleton("t_order")));
}
- private RuleConfiguration createRuleConfiguration() {
- ShardingRuleConfiguration result = new ShardingRuleConfiguration();
- result.getBroadcastTables().addAll(Arrays.asList("t_order", "t_order_item"));
+ private ShardingRule mockShardingRule() {
+ ShardingRule result = mock(ShardingRule.class);
+ when(result.getBroadcastTables()).thenReturn(Arrays.asList("t_order", "t_order_item"));
return result;
}
}