You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/12/18 16:07:26 UTC
[shardingsphere] branch master updated: Correct error message of sharding strategy type (#22957)
This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 aaa0f410ca0 Correct error message of sharding strategy type (#22957)
aaa0f410ca0 is described below
commit aaa0f410ca0982a9912dd9b77e3f8fe681852cff
Author: Zichao <57...@users.noreply.github.com>
AuthorDate: Mon Dec 19 05:07:19 2022 +1300
Correct error message of sharding strategy type (#22957)
---
.../handler/checker/ShardingTableRuleStatementChecker.java | 4 +---
.../sharding/distsql/handler/enums/ShardingStrategyType.java | 2 +-
.../distsql/checker/ShardingRuleStatementCheckerTest.java | 9 +++++----
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
index e70c209c375..3ceae987112 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
@@ -304,9 +304,7 @@ public final class ShardingTableRuleStatementChecker {
}
private static boolean isInvalidStrategy(final ShardingStrategySegment shardingStrategySegment) {
- return !ShardingStrategyType.contains(shardingStrategySegment.getType())
- || !ShardingStrategyType.getValueOf(shardingStrategySegment.getType()).isValid(shardingStrategySegment.getShardingColumn())
- || null == shardingStrategySegment.getShardingAlgorithm();
+ return !ShardingStrategyType.getValueOf(shardingStrategySegment.getType()).isValid(shardingStrategySegment.getShardingColumn()) || null == shardingStrategySegment.getShardingAlgorithm();
}
private static Map<String, List<AbstractTableRuleSegment>> groupingByClassType(final Collection<AbstractTableRuleSegment> rules) {
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/enums/ShardingStrategyType.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/enums/ShardingStrategyType.java
index a0791b2b541..69fc683fea7 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/enums/ShardingStrategyType.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/enums/ShardingStrategyType.java
@@ -164,7 +164,7 @@ public enum ShardingStrategyType {
try {
return valueOf(name.toUpperCase());
} catch (final IllegalArgumentException ex) {
- throw new UnsupportedSQLOperationException(String.format("unsupported strategy type %s", name));
+ throw new UnsupportedSQLOperationException(String.format("unsupported strategy type `%s`", name));
}
}
diff --git a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/checker/ShardingRuleStatementCheckerTest.java b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/checker/ShardingRuleStatementCheckerTest.java
index 83b844f4cde..e483fda2230 100644
--- a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/checker/ShardingRuleStatementCheckerTest.java
+++ b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/checker/ShardingRuleStatementCheckerTest.java
@@ -17,15 +17,16 @@
package org.apache.shardingsphere.sharding.distsql.checker;
-import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
+import org.apache.shardingsphere.distsql.handler.exception.algorithm.InvalidAlgorithmConfigurationException;
import org.apache.shardingsphere.distsql.handler.exception.resource.MissingRequiredResourcesException;
import org.apache.shardingsphere.distsql.handler.exception.rule.DuplicateRuleException;
-import org.apache.shardingsphere.distsql.handler.exception.algorithm.InvalidAlgorithmConfigurationException;
import org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
+import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
+import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.infra.util.exception.external.sql.type.generic.UnsupportedSQLOperationException;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
@@ -165,7 +166,7 @@ public final class ShardingRuleStatementCheckerTest {
ShardingTableRuleStatementChecker.checkCreation(database, rules, shardingRuleConfig);
}
- @Test(expected = InvalidAlgorithmConfigurationException.class)
+ @Test(expected = UnsupportedSQLOperationException.class)
public void assertCheckTableWithInvalidShardingStrategyType() {
TableRuleSegment tableRuleSegment = new TableRuleSegment("t_product", Arrays.asList("ds_0", "ds_1"));
tableRuleSegment.setTableStrategySegment(new ShardingStrategySegment("invalid", "product_id", null));