This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 b77cc3bdc32 Refactor ResourceDefinitionException (#30699)
b77cc3bdc32 is described below
commit b77cc3bdc324305162f088bd7bfaeeaa993009b3
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Mar 30 18:47:41 2024 +0800
Refactor ResourceDefinitionException (#30699)
* Refactor ResourceDefinitionException
* Refactor ResourceDefinitionException
* Refactor ResourceDefinitionException
* Refactor InUsedStorageUnitException
* Refactor InUsedStorageUnitException
---
.../user-manual/error-code/sql-error-code.cn.md | 21 ++++++++-------------
.../user-manual/error-code/sql-error-code.en.md | 21 ++++++++-------------
.../InvalidStorageUnitStatusException.java | 2 +-
.../MissingRequiredReadStorageUnitException.java | 2 +-
.../DuplicateStorageUnitExceptionDefinition.java | 2 +-
.../storageunit/EmptyStorageUnitException.java | 2 +-
...ception.java => InUsedStorageUnitException.java} | 9 +++++----
.../storageunit/InvalidStorageUnitsException.java | 2 +-
.../MissingRequiredStorageUnitsException.java | 2 +-
.../StorageUnitNotExistedException.java | 10 +++++-----
.../rdl/resource/UnregisterStorageUnitExecutor.java | 6 +++---
.../resource/UnregisterStorageUnitExecutorTest.java | 8 ++++----
.../category/ResourceDefinitionException.java | 7 ++-----
.../proxy/backend/connector/DatabaseConnector.java | 2 +-
.../data/impl/UnicastDatabaseBackendHandler.java | 2 +-
.../admin/executor/UnicastResourceShowExecutor.java | 2 +-
16 files changed, 44 insertions(+), 56 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 e7e604cf31b..03ad9a6c634 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
@@ -14,7 +14,6 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| SQL State | Vendor Code | 错误信息
|
|-----------|-------------|--------------------------------------------------------------------------------|
-| 42000 | 10000 | There is no storage unit in database \`%s\`.
|
| 08000 | 10001 | The URL \`%s\` is not recognized, please refer to
the pattern \`%s\`. |
| 42000 | 10002 | Can not support 3-tier structure for actual data
node \`%s\` with JDBC \`%s\`. |
| HY004 | 10003 | Invalid format for actual data node \`%s\`.
|
@@ -33,6 +32,14 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| 44000 | 10093 | %s algorithms '%s' in database '%s' are still in
used. |
| 44000 | 10094 | Invalid %s algorithm configuration '%s'.
|
| HY000 | 10099 | Algorithm '%s.%s' execute failed, reason is: %s.
|
+| 44000 | 10100 | Can not process invalid storage units, error
messages are: %s |
+| 44000 | 10101 | Storage units \`%s\` do not exist in database
\`%s\`. |
+| 44000 | 10102 | There is no storage unit in the database \`%s\`.
|
+| 44000 | 10103 | Storage unit '%s' still used by '%s'.
|
+| 44000 | 10104 | Duplicate storage unit names '%s'.
|
+| 44000 | 10105 | Invalid storage unit status, error message is: %s.
|
+| 44000 | 10106 | Read storage unit \`%s\` does not exist in rule
\`%s\`. |
+| 42000 | 10107 | There is no storage unit in database \`%s\`.
|
### 数据
@@ -140,18 +147,6 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| HY000 | 18201 | CDC server exception, reason is: %s.
|
| HY000 | 18202 | CDC login failed, reason is: %s
|
-### 资源定义
-
-| SQL State | Vendor Code | 错误信息
|
-|-----------|-------------|-------------------------------------------------------------|
-| 44000 | 19000 | Can not process invalid storage units, error
message is: %s |
-| 44000 | 19001 | Storage units \`%s\` do not exist in database
\`%s\`. |
-| 44000 | 19002 | There is no storage unit in the database \`%s\`.
|
-| 44000 | 19003 | Storage units \`%s\` is still used by \`%s\`.
|
-| 44000 | 19004 | Duplicate storage unit names \`%s\`.
|
-| 44000 | 19005 | Invalid storage unit status, error message is: %s.
|
-| 44000 | 19006 | Read storage unit \`%s\` does not exist in rule
\`%s\`. |
-
### 规则定义
| SQL State | Vendor Code | 错误信息
|
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 a62063b4ea8..11db959311a 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
@@ -14,7 +14,6 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| SQL State | Vendor Code | Reason
|
|-----------|-------------|--------------------------------------------------------------------------------|
-| 42000 | 10000 | There is no storage unit in database \`%s\`.
|
| 08000 | 10001 | The URL \`%s\` is not recognized, please refer to
the pattern \`%s\`. |
| 42000 | 10002 | Can not support 3-tier structure for actual data
node \`%s\` with JDBC \`%s\`. |
| HY004 | 10003 | Invalid format for actual data node \`%s\`.
|
@@ -37,6 +36,14 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| 44000 | 10093 | %s algorithms '%s' in database '%s' are still in
used. |
| 44000 | 10094 | Invalid %s algorithm configuration '%s'.
|
| HY000 | 10099 | Algorithm '%s.%s' execute failed, reason is: %s.
|
+| 44000 | 10100 | Can not process invalid storage units, error
messages are: %s |
+| 44000 | 10101 | Storage units \`%s\` do not exist in database
\`%s\`. |
+| 44000 | 10102 | There is no storage unit in the database \`%s\`.
|
+| 44000 | 10103 | Storage unit '%s' still used by '%s'.
|
+| 44000 | 10104 | Duplicate storage unit names '%s'.
|
+| 44000 | 10105 | Invalid storage unit status, error message is: %s.
|
+| 44000 | 10106 | Read storage unit \`%s\` does not exist in rule
\`%s\`. |
+| 42000 | 10107 | There is no storage unit in database \`%s\`.
|
### Data
@@ -144,18 +151,6 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| HY000 | 18201 | CDC server exception, reason is: %s.
|
| HY000 | 18202 | CDC login failed, reason is: %s
|
-### Resource Definition
-
-| SQL State | Vendor Code | Reason
|
-|-----------|-------------|-------------------------------------------------------------|
-| 44000 | 19000 | Can not process invalid storage units, error
message is: %s |
-| 44000 | 19001 | Storage units \`%s\` do not exist in database
\`%s\`. |
-| 44000 | 19002 | There is no storage unit in the database \`%s\`.
|
-| 44000 | 19003 | Storage units \`%s\` is still used by \`%s\`.
|
-| 44000 | 19004 | Duplicate storage unit names \`%s\`.
|
-| 44000 | 19005 | Invalid storage unit status, error message is: %s.
|
-| 44000 | 19006 | Read storage unit \`%s\` does not exist in rule
\`%s\`. |
-
### Rule Definition
| SQL State | Vendor Code | Reason
|
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 27294d537c6..a723cf2e7ce 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, 5, "Invalid storage unit
status, error message is: %s.", errorMessages);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 105, "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 64ba4765f4b..4aab97c2e78 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, 6, "Read storage unit `%s`
does not exist in rule `%s`.", storageUnitName, ruleName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 106, "Read storage unit
`%s` does not exist in rule `%s`.", storageUnitName, ruleName);
}
}
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 0fe2ceac116..1ad734c2230 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, 4, "Duplicate storage unit
names `%s`.", storageUnitNames);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 104, "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 1d657b5ddd3..a7334d6f879 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, 2, "There is no storage
unit in the database `%s`.", databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 102, "There is no storage
unit in the database `%s`.", databaseName);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitInUsedException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
similarity index 77%
rename from
infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitInUsedException.java
rename to
infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
index 169317db122..2b231305e79 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitInUsedException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/InUsedStorageUnitException.java
@@ -22,15 +22,16 @@ import
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.c
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import java.util.Collection;
+import java.util.stream.Collectors;
/**
- * Storage unit in used exception.
+ * In used storage unit exception.
*/
-public final class StorageUnitInUsedException extends
ResourceDefinitionException {
+public final class InUsedStorageUnitException extends
ResourceDefinitionException {
private static final long serialVersionUID = -3427324685070457375L;
- public StorageUnitInUsedException(final String storageUnitName, final
Collection<Class<? extends ShardingSphereRule>> ruleClasses) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "Storage unit `%s` is
still used by `%s`.", storageUnitName, ruleClasses);
+ 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(",
")));
}
}
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 189567b68a4..248eb742f8d 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, 0, "Can not process
invalid storage units, error message is: %s", errorMessages);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 100, "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 b956ccf335a..3474a6b9f61 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, 1, "Storage units `%s` do
not exist in database `%s`.", storageUnitNames, databaseName);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 101, "Storage units `%s`
do not exist in database `%s`.", storageUnitNames, databaseName);
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/exception/StorageUnitNotExistedException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
similarity index 75%
rename from
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/exception/StorageUnitNotExistedException.java
rename to
infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
index 923ce029eb7..a107a9b59c0 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/exception/StorageUnitNotExistedException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/storageunit/StorageUnitNotExistedException.java
@@ -15,23 +15,23 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.backend.exception;
+package org.apache.shardingsphere.infra.exception.storageunit;
-import
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category.MetaDataSQLException;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
+import
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category.ResourceDefinitionException;
/**
* Storage unit not existed exception.
*/
-public final class StorageUnitNotExistedException extends MetaDataSQLException
{
+public final class StorageUnitNotExistedException extends
ResourceDefinitionException {
private static final long serialVersionUID = 4146100333670404924L;
public StorageUnitNotExistedException() {
- super(XOpenSQLState.SYNTAX_ERROR, 0, "There is no storage unit in any
database.");
+ super(XOpenSQLState.SYNTAX_ERROR, 107, "There is no storage unit in
any database.");
}
public StorageUnitNotExistedException(final String databaseName) {
- super(XOpenSQLState.SYNTAX_ERROR, 0, "There is no storage unit in
database `%s`.", databaseName);
+ super(XOpenSQLState.SYNTAX_ERROR, 107, "There is no storage unit in
database `%s`.", databaseName);
}
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
index 076387d0f9e..bfd5867c68e 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
@@ -22,7 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.shardingsphere.distsql.handler.aware.DistSQLExecutorDatabaseAware;
import
org.apache.shardingsphere.infra.exception.storageunit.InvalidStorageUnitsException;
import
org.apache.shardingsphere.infra.exception.storageunit.MissingRequiredStorageUnitsException;
-import
org.apache.shardingsphere.infra.exception.storageunit.StorageUnitInUsedException;
+import
org.apache.shardingsphere.infra.exception.storageunit.InUsedStorageUnitException;
import
org.apache.shardingsphere.distsql.handler.engine.update.DistSQLUpdateExecutor;
import
org.apache.shardingsphere.distsql.handler.engine.update.rdl.resource.StorageUnitDefinitionProcessor;
import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.UnregisterStorageUnitStatement;
@@ -80,7 +80,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
}
Collection<Class<ShardingSphereRule>> ignoreShardingSphereRules =
getIgnoreShardingSphereRules(sqlStatement);
String firstResource = inUsedStorageUnitNames.iterator().next();
-
ShardingSpherePreconditions.checkState(!ignoreShardingSphereRules.isEmpty(), ()
-> new StorageUnitInUsedException(firstResource,
inUsedStorageUnits.get(firstResource)));
+
ShardingSpherePreconditions.checkState(!ignoreShardingSphereRules.isEmpty(), ()
-> new InUsedStorageUnitException(firstResource,
inUsedStorageUnits.get(firstResource)));
checkInUsedIgnoreTables(new HashSet<>(inUsedStorageUnitNames),
inUsedStorageUnits, ignoreShardingSphereRules);
}
@@ -100,7 +100,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
for (String each : inUsedResourceNames) {
Collection<Class<? extends ShardingSphereRule>> inUsedRules =
inUsedStorageUnits.get(each);
ignoreShardingSphereRules.forEach(inUsedRules::remove);
- ShardingSpherePreconditions.checkState(inUsedRules.isEmpty(), ()
-> new StorageUnitInUsedException(each, inUsedRules));
+ ShardingSpherePreconditions.checkState(inUsedRules.isEmpty(), ()
-> new InUsedStorageUnitException(each, inUsedRules));
}
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
index 2ae997356ac..0f98b2a5d54 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.distsql.handler.fixture.DistSQLHandlerFixtureRu
import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.UnregisterStorageUnitStatement;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.exception.storageunit.MissingRequiredStorageUnitsException;
-import
org.apache.shardingsphere.infra.exception.storageunit.StorageUnitInUsedException;
+import
org.apache.shardingsphere.infra.exception.storageunit.InUsedStorageUnitException;
import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
@@ -112,13 +112,13 @@ class UnregisterStorageUnitExecutorTest {
when(ruleAttribute.getDataSourceMapper()).thenReturn(Collections.singletonMap("",
Collections.singleton("foo_ds")));
when(rule.getAttributes()).thenReturn(new
RuleAttributes(ruleAttribute));
when(database.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(rule)));
- assertThrows(StorageUnitInUsedException.class, () ->
executor.executeUpdate(new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), false, false),
mock(ContextManager.class)));
+ assertThrows(InUsedStorageUnitException.class, () ->
executor.executeUpdate(new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), false, false),
mock(ContextManager.class)));
}
@Test
void assertExecuteUpdateWithStorageUnitInUsedWithoutIgnoredTables() {
when(database.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(new DistSQLHandlerFixtureRule())));
- assertThrows(StorageUnitInUsedException.class, () ->
executor.executeUpdate(new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), false, false),
mock(ContextManager.class)));
+ assertThrows(InUsedStorageUnitException.class, () ->
executor.executeUpdate(new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), false, false),
mock(ContextManager.class)));
}
@Test
@@ -143,6 +143,6 @@ class UnregisterStorageUnitExecutorTest {
when(ruleAttribute.getDataSourceMapper()).thenReturn(Collections.singletonMap("",
Collections.singleton("foo_ds")));
when(rule.getAttributes()).thenReturn(new
RuleAttributes(ruleAttribute));
when(database.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(rule)));
- assertThrows(StorageUnitInUsedException.class, () ->
executor.executeUpdate(new UnregisterStorageUnitStatement(true,
Collections.singleton("foo_ds"), true, false), contextManager));
+ assertThrows(InUsedStorageUnitException.class, () ->
executor.executeUpdate(new UnregisterStorageUnitStatement(true,
Collections.singleton("foo_ds"), true, false), contextManager));
}
}
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 8361644302d..ea592fa560f 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
@@ -18,18 +18,15 @@
package
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.SQLState;
-import
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.KernelSQLException;
/**
* Resource definition exception.
*/
-public abstract class ResourceDefinitionException extends KernelSQLException {
+public abstract class ResourceDefinitionException extends MetaDataSQLException
{
private static final long serialVersionUID = -7111524353233598083L;
- private static final int KERNEL_CODE = 9;
-
protected ResourceDefinitionException(final SQLState sqlState, final int
errorCode, final String reason, final Object... messageArgs) {
- super(sqlState, KERNEL_CODE, errorCode, reason, messageArgs);
+ super(sqlState, errorCode, reason, messageArgs);
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index cca3ed07b4d..606bca8b2b2 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -56,7 +56,7 @@ import
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.exception.StorageUnitNotExistedException;
+import
org.apache.shardingsphere.infra.exception.storageunit.StorageUnitNotExistedException;
import
org.apache.shardingsphere.proxy.backend.handler.data.DatabaseBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
index b29f6c5fde3..a8b146c4fcc 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
@@ -26,7 +26,7 @@ import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePrecondition
import
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.exception.StorageUnitNotExistedException;
+import
org.apache.shardingsphere.infra.exception.storageunit.StorageUnitNotExistedException;
import
org.apache.shardingsphere.proxy.backend.handler.data.DatabaseBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
diff --git
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
index 0d5ed8f6d08..7739188d5a0 100644
---
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
+++
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
@@ -37,7 +37,7 @@ import
org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
import
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.exception.StorageUnitNotExistedException;
+import
org.apache.shardingsphere.infra.exception.storageunit.StorageUnitNotExistedException;
import
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminQueryExecutor;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import
org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;