You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2024/03/30 16:20:59 UTC
(shardingsphere) branch master updated: Refactor Algorithm, Resource and RuleDefinitionException (#30704)
This is an automated email from the ASF dual-hosted git repository.
wuweijie 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 e36350c2152 Refactor Algorithm, Resource and RuleDefinitionException (#30704)
e36350c2152 is described below
commit e36350c2152bbe4e879e33613818e5975a9ce424
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Mar 31 00:20:53 2024 +0800
Refactor Algorithm, Resource and RuleDefinitionException (#30704)
* Refactor AlgorithmDefinitionException
* Refactor ResourceDefinitionException
* Refactor RuleDefinitionException
---
.../content/user-manual/error-code/sql-error-code.cn.md | 2 +-
.../content/user-manual/error-code/sql-error-code.en.md | 2 +-
.../handler/exception/InvalidStorageUnitStatusException.java | 2 +-
.../exception/MissingRequiredReadStorageUnitException.java | 2 +-
.../algorithm/core/exception/AlgorithmDefinitionException.java | 10 +++++++++-
.../core/exception/type/AlgorithmExecuteException.java | 2 +-
.../core/exception/type/AlgorithmInitializationException.java | 2 +-
.../algorithm/core/exception/type/EmptyAlgorithmException.java | 2 +-
.../core/exception/type/InUsedAlgorithmException.java | 2 +-
.../exception/type/InvalidAlgorithmConfigurationException.java | 4 ++--
.../core/exception/type/UnregisteredAlgorithmException.java | 4 ++--
.../infra/exception/rule/DuplicateRuleException.java | 6 +++---
.../exception/rule/InvalidRuleConfigurationException.java | 6 +++---
.../infra/exception/rule/MissingRequiredRuleException.java | 10 +++++-----
.../infra/exception/rule/RuleInUsedException.java | 4 ++--
.../infra/exception/rule/RuleNotExistedException.java | 2 +-
.../storageunit/DuplicateStorageUnitExceptionDefinition.java | 2 +-
.../infra/exception/storageunit/EmptyStorageUnitException.java | 2 +-
.../exception/storageunit/InUsedStorageUnitException.java | 2 +-
.../exception/storageunit/InvalidStorageUnitsException.java | 2 +-
.../storageunit/MissingRequiredStorageUnitsException.java | 2 +-
.../exception/storageunit/StorageUnitNotExistedException.java | 4 ++--
.../sql/type/kernel/category/ResourceDefinitionException.java | 10 +++++++++-
.../sql/type/kernel/category/RuleDefinitionException.java | 10 +++++++++-
.../handler/exception/MissingRequiredSingleTableException.java | 2 +-
25 files changed, 61 insertions(+), 37 deletions(-)
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.cn.md b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
index feb757f829e..76ff2648e0b 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
@@ -44,7 +44,7 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| 42S02 | 10302 | '%s' algorithm '%s' on %s is unregistered. |
| 44000 | 10303 | %s algorithms '%s' in database '%s' are still in used. |
| 44000 | 10304 | Invalid %s algorithm configuration '%s'. |
-| HY000 | 10309 | Algorithm '%s.%s' execute failed, reason is: %s. |
+| HY000 | 10350 | Algorithm '%s.%s' execute failed, reason is: %s. |
### 数据
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.en.md b/docs/document/content/user-manual/error-code/sql-error-code.en.md
index 57af866bc95..0f93d51f7ec 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.en.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.en.md
@@ -48,7 +48,7 @@ SQL error codes provide by standard `SQL State`, `Vendor Code` and `Reason`, whi
| 42S02 | 10302 | '%s' algorithm '%s' on %s is unregistered. |
| 44000 | 10303 | %s algorithms '%s' in database '%s' are still in used. |
| 44000 | 10304 | Invalid %s algorithm configuration '%s'. |
-| HY000 | 10309 | Algorithm '%s.%s' execute failed, reason is: %s. |
+| HY000 | 10350 | Algorithm '%s.%s' execute failed, reason is: %s. |
### Data
diff --git a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/InvalidStorageUnitStatusException.java b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/InvalidStorageUnitStatusException.java
index a723cf2e7ce..27294d537c6 100644
--- a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/InvalidStorageUnitStatusException.java
+++ b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/InvalidStorageUnitStatusException.java
@@ -28,6 +28,6 @@ public final class InvalidStorageUnitStatusException extends StorageUnitDefiniti
private static final long serialVersionUID = 4029749233439176539L;
public InvalidStorageUnitStatusException(final String errorMessages) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 105, "Invalid storage unit status, error message is: %s.", errorMessages);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, "Invalid storage unit status, error message is: %s.", errorMessages);
}
}
diff --git a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/MissingRequiredReadStorageUnitException.java b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/MissingRequiredReadStorageUnitException.java
index 4aab97c2e78..64ba4765f4b 100644
--- a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/MissingRequiredReadStorageUnitException.java
+++ b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/exception/MissingRequiredReadStorageUnitException.java
@@ -28,6 +28,6 @@ public final class MissingRequiredReadStorageUnitException extends StorageUnitDe
private static final long serialVersionUID = -4252553422332603648L;
public MissingRequiredReadStorageUnitException(final String ruleName, final String storageUnitName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 106, "Read storage unit `%s` does not exist in rule `%s`.", storageUnitName, ruleName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 6, "Read storage unit `%s` does not exist in rule `%s`.", storageUnitName, ruleName);
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmDefinitionException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmDefinitionException.java
index 53a0161b86f..2ef530a483e 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmDefinitionException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmDefinitionException.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.algorithm.core.exception;
+import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.SQLState;
import org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category.MetaDataSQLException;
@@ -27,7 +28,14 @@ public abstract class AlgorithmDefinitionException extends MetaDataSQLException
private static final long serialVersionUID = -8947223495845000542L;
+ private static final int ALGORITHM_CODE = 3;
+
protected AlgorithmDefinitionException(final SQLState sqlState, final int errorCode, final String reason, final Object... messageArgs) {
- super(sqlState, errorCode, reason, messageArgs);
+ super(sqlState, getErrorCode(errorCode), reason, messageArgs);
+ }
+
+ private static int getErrorCode(final int errorCode) {
+ Preconditions.checkArgument(errorCode >= 0 && errorCode < 100, "The value range of error code should be [0, 1000).");
+ return ALGORITHM_CODE * 100 + errorCode;
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmExecuteException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmExecuteException.java
index d48b8a2d440..f331e27a380 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmExecuteException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmExecuteException.java
@@ -29,7 +29,7 @@ public final class AlgorithmExecuteException extends AlgorithmDefinitionExceptio
private static final long serialVersionUID = -9099514178650043282L;
public AlgorithmExecuteException(final ShardingSphereAlgorithm algorithm, final String reason, final Object... args) {
- super(XOpenSQLState.GENERAL_ERROR, 309, "Algorithm '%s.%s' execute failed, reason is: %s.",
+ super(XOpenSQLState.GENERAL_ERROR, 50, "Algorithm '%s.%s' execute failed, reason is: %s.",
algorithm.getClass().getSuperclass().getSimpleName(), algorithm.getType(), String.format(reason, args));
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmInitializationException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmInitializationException.java
index 69a499f5d57..37854289811 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmInitializationException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/AlgorithmInitializationException.java
@@ -29,7 +29,7 @@ public final class AlgorithmInitializationException extends AlgorithmDefinitionE
private static final long serialVersionUID = -7634670846091616790L;
public AlgorithmInitializationException(final ShardingSphereAlgorithm algorithm, final String reason, final Object... args) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 300, "Algorithm '%s.'%s' initialization failed, reason is: %s.",
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Algorithm '%s.'%s' initialization failed, reason is: %s.",
algorithm.getClass().getSuperclass().getSimpleName(), algorithm.getType(), String.format(reason, args));
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/EmptyAlgorithmException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/EmptyAlgorithmException.java
index a23b0bdfb03..e837e3a783a 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/EmptyAlgorithmException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/EmptyAlgorithmException.java
@@ -29,6 +29,6 @@ public final class EmptyAlgorithmException extends AlgorithmDefinitionException
private static final long serialVersionUID = 8128067899672436211L;
public EmptyAlgorithmException(final String algorithmType, final SQLExceptionIdentifier sqlExceptionIdentifier) {
- super(XOpenSQLState.NOT_FOUND, 301, "'%s' algorithm on %s is required.", algorithmType, sqlExceptionIdentifier);
+ super(XOpenSQLState.NOT_FOUND, 1, "'%s' algorithm on %s is required.", algorithmType, sqlExceptionIdentifier);
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InUsedAlgorithmException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InUsedAlgorithmException.java
index 52bc9c89215..ffd08d2e219 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InUsedAlgorithmException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InUsedAlgorithmException.java
@@ -30,6 +30,6 @@ public final class InUsedAlgorithmException extends AlgorithmDefinitionException
private static final long serialVersionUID = -8735125626190637177L;
public InUsedAlgorithmException(final String type, final String databaseName, final Collection<String> algorithmNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 303, "%s algorithms '%s' in database '%s' are still in used.", type, algorithmNames, databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "%s algorithms '%s' in database '%s' are still in used.", type, algorithmNames, databaseName);
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InvalidAlgorithmConfigurationException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InvalidAlgorithmConfigurationException.java
index 8863e95b505..a2b62582b43 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InvalidAlgorithmConfigurationException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/InvalidAlgorithmConfigurationException.java
@@ -28,10 +28,10 @@ public final class InvalidAlgorithmConfigurationException extends AlgorithmDefin
private static final long serialVersionUID = 1352014079406440573L;
public InvalidAlgorithmConfigurationException(final String algorithmType, final String algorithm) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 304, "Invalid %s algorithm configuration '%s'.", algorithmType, algorithm);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Invalid %s algorithm configuration '%s'.", algorithmType, algorithm);
}
public InvalidAlgorithmConfigurationException(final String algorithmType) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 304, "Invalid %s algorithm configuration.", algorithmType);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Invalid %s algorithm configuration.", algorithmType);
}
}
diff --git a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/UnregisteredAlgorithmException.java b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/UnregisteredAlgorithmException.java
index b116dce6987..f1528a775c1 100644
--- a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/UnregisteredAlgorithmException.java
+++ b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/type/UnregisteredAlgorithmException.java
@@ -31,10 +31,10 @@ public final class UnregisteredAlgorithmException extends AlgorithmDefinitionExc
private static final long serialVersionUID = -4570489906443880879L;
public UnregisteredAlgorithmException(final String algorithmType, final String algorithmName, final SQLExceptionIdentifier sqlExceptionIdentifier) {
- super(XOpenSQLState.NOT_FOUND, 302, "'%s' algorithm '%s' on %s is unregistered.", algorithmType, algorithmName, sqlExceptionIdentifier);
+ super(XOpenSQLState.NOT_FOUND, 2, "'%s' algorithm '%s' on %s is unregistered.", algorithmType, algorithmName, sqlExceptionIdentifier);
}
public UnregisteredAlgorithmException(final String algorithmType, final Collection<String> algorithmNames, final SQLExceptionIdentifier sqlExceptionIdentifier) {
- super(XOpenSQLState.NOT_FOUND, 302, "'%s' algorithm '%s' on %s are unregistered.", algorithmType, String.join(", ", algorithmNames), sqlExceptionIdentifier);
+ super(XOpenSQLState.NOT_FOUND, 2, "'%s' algorithm '%s' on %s are unregistered.", algorithmType, String.join(", ", algorithmNames), sqlExceptionIdentifier);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/DuplicateRuleException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/DuplicateRuleException.java
index 9d99a007da3..8f201ed7d63 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/DuplicateRuleException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/DuplicateRuleException.java
@@ -30,14 +30,14 @@ public final class DuplicateRuleException extends RuleDefinitionException {
private static final long serialVersionUID = -1738699538105858939L;
public DuplicateRuleException(final String ruleType, final String databaseName, final Collection<String> ruleNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 205, String.format("Duplicate %s rule names `%s` in database `%s`.", ruleType, ruleNames, databaseName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, String.format("Duplicate %s rule names `%s` in database `%s`.", ruleType, ruleNames, databaseName));
}
public DuplicateRuleException(final String ruleType, final Collection<String> ruleNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 205, String.format("Duplicate %s rule names `%s`.", ruleType, ruleNames));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, String.format("Duplicate %s rule names `%s`.", ruleType, ruleNames));
}
public DuplicateRuleException(final String type, final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 205, String.format("Duplicate `%s` in database `%s`.", type, databaseName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, String.format("Duplicate `%s` in database `%s`.", type, databaseName));
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/InvalidRuleConfigurationException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/InvalidRuleConfigurationException.java
index de29a935912..a5ebd010df3 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/InvalidRuleConfigurationException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/InvalidRuleConfigurationException.java
@@ -30,14 +30,14 @@ public final class InvalidRuleConfigurationException extends RuleDefinitionExcep
private static final long serialVersionUID = 6085010920008859376L;
public InvalidRuleConfigurationException(final String ruleType, final String rule, final String errorMessage) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 200, "Invalid `%s` rule `%s`, error message is: %s", ruleType, rule, errorMessage);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Invalid `%s` rule `%s`, error message is: %s", ruleType, rule, errorMessage);
}
public InvalidRuleConfigurationException(final String ruleType, final Collection<String> rules, final Collection<String> errorMessages) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 200, "Invalid `%s` rules `%s`, error messages are: %s", ruleType, rules, errorMessages);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Invalid `%s` rules `%s`, error messages are: %s", ruleType, rules, errorMessages);
}
public InvalidRuleConfigurationException(final String ruleType, final String errorMessage) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 200, "Invalid `%s` rule, error message is: %s", ruleType, errorMessage);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Invalid `%s` rule, error message is: %s", ruleType, errorMessage);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/MissingRequiredRuleException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/MissingRequiredRuleException.java
index 405344681a8..06d3e6cff90 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/MissingRequiredRuleException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/MissingRequiredRuleException.java
@@ -30,22 +30,22 @@ public final class MissingRequiredRuleException extends RuleDefinitionException
private static final long serialVersionUID = -8464574460917965546L;
public MissingRequiredRuleException(final String ruleType) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 201, String.format("%s rule does not exist.", ruleType));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "%s rule does not exist.", ruleType);
}
public MissingRequiredRuleException(final String ruleType, final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 201, String.format("%s rule does not exist in database `%s`.", ruleType, databaseName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "%s rule does not exist in database `%s`.", ruleType, databaseName);
}
public MissingRequiredRuleException(final String ruleType, final Collection<String> ruleNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 201, String.format("%s rules `%s` do not exist.", ruleType, ruleNames));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "%s rules `%s` do not exist.", ruleType, ruleNames);
}
public MissingRequiredRuleException(final String ruleType, final String databaseName, final String ruleName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 101, String.format("%s rule `%s` do not exist in database `%s`.", ruleType, ruleName, databaseName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "%s rule `%s` do not exist in database `%s`.", ruleType, ruleName, databaseName);
}
public MissingRequiredRuleException(final String ruleType, final String databaseName, final Collection<String> ruleNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 101, String.format("%s rules `%s` do not exist in database `%s`.", ruleType, ruleNames, databaseName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "%s rules `%s` do not exist in database `%s`.", ruleType, ruleNames, databaseName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleInUsedException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleInUsedException.java
index eefe3cdb4d5..020dfad9455 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleInUsedException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleInUsedException.java
@@ -30,10 +30,10 @@ public final class RuleInUsedException extends RuleDefinitionException {
private static final long serialVersionUID = 3308787279125477660L;
public RuleInUsedException(final String ruleType, final String databaseName, final Collection<String> ruleNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 202, "%s rules `%s` in database `%s` are still in used.", ruleType, ruleNames, databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 2, "%s rules `%s` in database `%s` are still in used.", ruleType, ruleNames, databaseName);
}
public RuleInUsedException(final String ruleType, final String databaseName, final Collection<String> ruleNames, final String usingType) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 202, "%s rules `%s` in database `%s` are still in used by %s.", ruleType, ruleNames, databaseName, usingType);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 2, "%s rules `%s` in database `%s` are still in used by %s.", ruleType, ruleNames, databaseName, usingType);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleNotExistedException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleNotExistedException.java
index a397e397a00..8d5d6a5543c 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleNotExistedException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/rule/RuleNotExistedException.java
@@ -28,6 +28,6 @@ public final class RuleNotExistedException extends RuleDefinitionException {
private static final long serialVersionUID = -4150905802300104824L;
public RuleNotExistedException(final String databaseName) {
- super(XOpenSQLState.SYNTAX_ERROR, 210, "There is no rule in database '%s'.", databaseName);
+ super(XOpenSQLState.SYNTAX_ERROR, 10, "There is no rule in database '%s'.", databaseName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/DuplicateStorageUnitExceptionDefinition.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/DuplicateStorageUnitExceptionDefinition.java
index 1ad734c2230..b57e7b665b3 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/DuplicateStorageUnitExceptionDefinition.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/DuplicateStorageUnitExceptionDefinition.java
@@ -30,6 +30,6 @@ public final class DuplicateStorageUnitExceptionDefinition extends ResourceDefin
private static final long serialVersionUID = 2103793827572264148L;
public DuplicateStorageUnitExceptionDefinition(final Collection<String> storageUnitNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 104, "Duplicate storage unit names '%s'.", storageUnitNames);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Duplicate storage unit names '%s'.", storageUnitNames);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/EmptyStorageUnitException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/EmptyStorageUnitException.java
index a7334d6f879..1d657b5ddd3 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/EmptyStorageUnitException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/EmptyStorageUnitException.java
@@ -28,6 +28,6 @@ public final class EmptyStorageUnitException extends ResourceDefinitionException
private static final long serialVersionUID = 1704331180489268L;
public EmptyStorageUnitException(final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 102, "There is no storage unit in the database `%s`.", databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 2, "There is no storage unit in the database `%s`.", databaseName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
index 2b231305e79..1d81beae5c3 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
@@ -32,6 +32,6 @@ public final class InUsedStorageUnitException extends ResourceDefinitionExceptio
private static final long serialVersionUID = -3427324685070457375L;
public InUsedStorageUnitException(final String storageUnitName, final Collection<Class<? extends ShardingSphereRule>> ruleClasses) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 103, "Storage unit '%s' still used by '%s'.", storageUnitName, ruleClasses.stream().map(Class::getSimpleName).collect(Collectors.joining(", ")));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "Storage unit '%s' still used by '%s'.", storageUnitName, ruleClasses.stream().map(Class::getSimpleName).collect(Collectors.joining(", ")));
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InvalidStorageUnitsException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InvalidStorageUnitsException.java
index 248eb742f8d..a2022631207 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InvalidStorageUnitsException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InvalidStorageUnitsException.java
@@ -30,6 +30,6 @@ public final class InvalidStorageUnitsException extends ResourceDefinitionExcept
private static final long serialVersionUID = 7029641448948791509L;
public InvalidStorageUnitsException(final Collection<String> errorMessages) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 100, "Can not process invalid storage units, error messages are: %s", errorMessages);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Can not process invalid storage units, error messages are: %s", errorMessages);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/MissingRequiredStorageUnitsException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/MissingRequiredStorageUnitsException.java
index 3474a6b9f61..b956ccf335a 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/MissingRequiredStorageUnitsException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/MissingRequiredStorageUnitsException.java
@@ -30,6 +30,6 @@ public final class MissingRequiredStorageUnitsException extends ResourceDefiniti
private static final long serialVersionUID = 1704331180489268L;
public MissingRequiredStorageUnitsException(final String databaseName, final Collection<String> storageUnitNames) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 101, "Storage units `%s` do not exist in database `%s`.", storageUnitNames, databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "Storage units `%s` do not exist in database `%s`.", storageUnitNames, databaseName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
index a107a9b59c0..e0729ae1ba4 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
@@ -28,10 +28,10 @@ public final class StorageUnitNotExistedException extends ResourceDefinitionExce
private static final long serialVersionUID = 4146100333670404924L;
public StorageUnitNotExistedException() {
- super(XOpenSQLState.SYNTAX_ERROR, 107, "There is no storage unit in any database.");
+ super(XOpenSQLState.SYNTAX_ERROR, 7, "There is no storage unit in any database.");
}
public StorageUnitNotExistedException(final String databaseName) {
- super(XOpenSQLState.SYNTAX_ERROR, 107, "There is no storage unit in database `%s`.", databaseName);
+ super(XOpenSQLState.SYNTAX_ERROR, 7, "There is no storage unit in database `%s`.", databaseName);
}
}
diff --git a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ResourceDefinitionException.java b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ResourceDefinitionException.java
index ea592fa560f..8832b7bcb3d 100644
--- a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ResourceDefinitionException.java
+++ b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ResourceDefinitionException.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category;
+import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.SQLState;
/**
@@ -26,7 +27,14 @@ public abstract class ResourceDefinitionException extends MetaDataSQLException {
private static final long serialVersionUID = -7111524353233598083L;
+ private static final int RESOURCE_CODE = 1;
+
protected ResourceDefinitionException(final SQLState sqlState, final int errorCode, final String reason, final Object... messageArgs) {
- super(sqlState, errorCode, reason, messageArgs);
+ super(sqlState, getErrorCode(errorCode), reason, messageArgs);
+ }
+
+ private static int getErrorCode(final int errorCode) {
+ Preconditions.checkArgument(errorCode >= 0 && errorCode < 100, "The value range of error code should be [0, 1000).");
+ return RESOURCE_CODE * 100 + errorCode;
}
}
diff --git a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/RuleDefinitionException.java b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/RuleDefinitionException.java
index 226e3ba9f6e..3c997171701 100644
--- a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/RuleDefinitionException.java
+++ b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/RuleDefinitionException.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category;
+import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.SQLState;
/**
@@ -26,7 +27,14 @@ public abstract class RuleDefinitionException extends MetaDataSQLException {
private static final long serialVersionUID = -6414242067345718028L;
+ private static final int RULE_CODE = 2;
+
protected RuleDefinitionException(final SQLState sqlState, final int errorCode, final String reason, final Object... messageArgs) {
- super(sqlState, errorCode, reason, messageArgs);
+ super(sqlState, getErrorCode(errorCode), reason, messageArgs);
+ }
+
+ private static int getErrorCode(final int errorCode) {
+ Preconditions.checkArgument(errorCode >= 0 && errorCode < 100, "The value range of error code should be [0, 1000).");
+ return RULE_CODE * 100 + errorCode;
}
}
diff --git a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/exception/MissingRequiredSingleTableException.java b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/exception/MissingRequiredSingleTableException.java
index 426ca7faf4e..dfdb87ede44 100644
--- a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/exception/MissingRequiredSingleTableException.java
+++ b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/exception/MissingRequiredSingleTableException.java
@@ -28,6 +28,6 @@ public final class MissingRequiredSingleTableException extends RuleDefinitionExc
private static final long serialVersionUID = 3155006580453893122L;
public MissingRequiredSingleTableException(final String storageUnitName, final String tableName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 206, String.format("Missing required table `%s` in storage unit `%s`.", tableName, storageUnitName));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 6, "Missing required table `%s` in storage unit `%s`.", tableName, storageUnitName);
}
}