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 <[email protected]>
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);
}
}