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 9c9de6db36a Refactor EncryptSQLException's impl (#30846)
9c9de6db36a is described below
commit 9c9de6db36abe1adc3ec36ed98d358681f0804d4
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Apr 11 12:18:30 2024 +0800
Refactor EncryptSQLException's impl (#30846)
* Refactor EncryptSQLException's impl
* Refactor EncryptSQLException's impl
---
.../user-manual/error-code/sql-error-code.cn.md | 20 ++++++-------
.../user-manual/error-code/sql-error-code.en.md | 20 ++++++-------
.../checker/EncryptRuleConfigurationChecker.java | 11 ++++----
...ncryptAssistedQueryColumnNotFoundException.java | 33 ----------------------
.../metadata/EncryptColumnAlterException.java | 2 +-
.../metadata/EncryptColumnNotFoundException.java | 2 +-
.../EncryptLikeQueryColumnNotFoundException.java | 33 ----------------------
.../EncryptLogicColumnNotFoundException.java | 2 +-
.../metadata/EncryptTableNotFoundException.java | 2 +-
.../MismatchedEncryptAlgorithmTypeException.java | 5 ++--
... => MissingRequiredEncryptColumnException.java} | 8 +++---
.../shardingsphere/encrypt/rule/EncryptRule.java | 2 +-
.../encrypt/rule/EncryptRuleTest.java | 2 +-
13 files changed, 35 insertions(+), 107 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 607c4269961..a8a745dff53 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
@@ -214,17 +214,15 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
### 数据加密
-| Vendor Code | SQL State | 错误信息
|
-|-------------|-----------|----------------------------------------------------------------------------------------------------|
-| 21000 | 44000 | Can not find logic encrypt column by \`%s\`.
|
-| 21001 | 44000 | Fail to find encrypt column \`%s\` from table
\`%s\`. |
-| 21002 | 44000 | Altered column \`%s\` must use same encrypt
algorithm with previous column \`%s\` in table \`%s\`. |
-| 21003 | 44000 | Cipher column of \`%s\` can not be null in
database \`%s\`. |
-| 21005 | 44000 | Assisted query column of \`%s\` can not be null in
database \`%s\`. |
-| 21007 | 44000 | Like query column of \`%s\` can not be null in
database \`%s\`. |
-| 21009 | 44000 | Can not find encrypt table: \`%s\`.
|
-| 21020 | 0A000 | The SQL clause '%s' is unsupported in encrypt
feature. |
-| 21081 | HY004 | \`%s\` column's encryptor name \`%s\` does not
match encrypt algorithm type \`%s\`. |
+| Vendor Code | SQL State | 错误信息
|
+|-------------|-----------|----------------------------------------------------------------------------------------------|
+| 21000 | 42S02 | %s column '%s' is required in database '%s'.
|
+| 21001 | 42S02 | Can not find encrypt table '%s'.
|
+| 21002 | 42S02 | Can not find logic encrypt column by '%s'.
|
+| 21003 | 42S02 | Can not find encrypt column '%s' from table '%s'.
|
+| 21004 | HY004 | '%s' column's encrypt algorithm '%s' should
support %s in database '%s'. |
+| 21010 | 44000 | Altered column '%s' must use same encrypt
algorithm with previous column '%s' in table '%s'. |
+| 21020 | 0A000 | The SQL clause '%s' is unsupported in encrypt
feature. |
### 影子库
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 41ac4df94bb..ca16ff8ab12 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
@@ -215,17 +215,15 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
### Data Encrypt
-| Vendor Code | SQL State | Reason
|
-|-------------|-----------|----------------------------------------------------------------------------------------------------|
-| 21000 | 44000 | Can not find logic encrypt column by \`%s\`.
|
-| 21001 | 44000 | Fail to find encrypt column \`%s\` from table
\`%s\`. |
-| 21002 | 44000 | Altered column \`%s\` must use same encrypt
algorithm with previous column \`%s\` in table \`%s\`. |
-| 21003 | 44000 | Cipher column of \`%s\` can not be null in
database \`%s\`. |
-| 21005 | 44000 | Assisted query column of \`%s\` can not be null in
database \`%s\`. |
-| 21007 | 44000 | Like query column of \`%s\` can not be null in
database \`%s\`. |
-| 21009 | 44000 | Can not find encrypt table: \`%s\`.
|
-| 21020 | 0A000 | The SQL clause '%s' is unsupported in encrypt
feature. |
-| 21081 | HY004 | \`%s\` column's encryptor name \`%s\` does not
match encrypt algorithm type \`%s\`. |
+| Vendor Code | SQL State | Reason
|
+|-------------|-----------|----------------------------------------------------------------------------------------------|
+| 21000 | 42S02 | %s column '%s' is required in database '%s'.
|
+| 21001 | 42S02 | Can not find encrypt table '%s'.
|
+| 21002 | 42S02 | Can not find logic encrypt column by '%s'.
|
+| 21003 | 42S02 | Can not find encrypt column '%s' from table '%s'.
|
+| 21004 | HY004 | '%s' column's encrypt algorithm '%s' should
support %s in database '%s'. |
+| 21010 | 44000 | Altered column '%s' must use same encrypt
algorithm with previous column '%s' in table '%s'. |
+| 21020 | 0A000 | The SQL clause '%s' is unsupported in encrypt
feature. |
### Shadow Database
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
index dcb2b624cf8..8613e2ceaf0 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
@@ -23,9 +23,7 @@ import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleCo
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
import org.apache.shardingsphere.encrypt.constant.EncryptOrder;
-import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptAssistedQueryColumnNotFoundException;
-import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptCipherColumnNotFoundException;
-import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptLikeQueryColumnNotFoundException;
+import
org.apache.shardingsphere.encrypt.exception.metadata.MissingRequiredEncryptColumnException;
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.exception.EmptyAlgorithmException;
@@ -72,7 +70,7 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
private void checkCipherColumn(final String databaseName, final String
tableName, final String logicColumnName,
final EncryptColumnItemRuleConfiguration
cipherColumnConfig, final Map<String, AlgorithmConfiguration> encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getName()),
() -> new EncryptCipherColumnNotFoundException(logicColumnName, databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getName()),
() -> new MissingRequiredEncryptColumnException("Cipher", logicColumnName,
databaseName));
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmException("Standard encrypt", new
SQLExceptionIdentifier(databaseName, tableName, logicColumnName)));
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumnConfig.getEncryptorName()),
@@ -81,7 +79,8 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
private void checkAssistColumn(final String databaseName, final String
tableName, final String logicColumnName,
final EncryptColumnItemRuleConfiguration
assistedQueryColumnConfig, final Map<String, AlgorithmConfiguration>
encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getName()),
() -> new EncryptAssistedQueryColumnNotFoundException(logicColumnName,
databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getName()),
+ () -> new MissingRequiredEncryptColumnException("Assisted
query", logicColumnName, databaseName));
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmException("Assist query encrypt", new
SQLExceptionIdentifier(databaseName, tableName, logicColumnName)));
ShardingSpherePreconditions.checkState(encryptors.containsKey(assistedQueryColumnConfig.getEncryptorName()),
@@ -90,7 +89,7 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
private void checkLikeColumn(final String databaseName, final String
tableName, final String logicColumnName,
final EncryptColumnItemRuleConfiguration
likeQueryColumnConfig, final Map<String, AlgorithmConfiguration> encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getName()),
() -> new EncryptLikeQueryColumnNotFoundException(logicColumnName,
databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getName()),
() -> new MissingRequiredEncryptColumnException("Like", logicColumnName,
databaseName));
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmException("Like query", new
SQLExceptionIdentifier(databaseName, tableName, logicColumnName)));
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumnConfig.getEncryptorName()),
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryColumnNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryColumnNotFoundException.java
deleted file mode 100644
index 39115f09652..00000000000
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryColumnNotFoundException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.encrypt.exception.metadata;
-
-import org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
-import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-
-/**
- * Encrypt assisted query column not found exception.
- */
-public final class EncryptAssistedQueryColumnNotFoundException extends
EncryptSQLException {
-
- private static final long serialVersionUID = -4958403725374225598L;
-
- public EncryptAssistedQueryColumnNotFoundException(final String
logicColumnName, final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, "Assisted query column
of `%s` can not be null in database `%s`.", logicColumnName, databaseName);
- }
-}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnAlterException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnAlterException.java
index e184d9e6169..061d6a4cc63 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnAlterException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnAlterException.java
@@ -28,6 +28,6 @@ public final class EncryptColumnAlterException extends
EncryptSQLException {
private static final long serialVersionUID = -8920381230872401155L;
public EncryptColumnAlterException(final String table, final String
alteredColumn, final String previousColumn) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 2, "Altered column `%s`
must use same encrypt algorithm with previous column `%s` in table `%s`.",
alteredColumn, previousColumn, table);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 10, "Altered column '%s'
must use same encrypt algorithm with previous column '%s' in table '%s'.",
alteredColumn, previousColumn, table);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnNotFoundException.java
index d121bf3a01e..e1d9089c9d1 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnNotFoundException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptColumnNotFoundException.java
@@ -28,6 +28,6 @@ public final class EncryptColumnNotFoundException extends
EncryptSQLException {
private static final long serialVersionUID = -8481487069938556675L;
public EncryptColumnNotFoundException(final String tableName, final String
columnName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 1, "Fail to find encrypt
column `%s` from table `%s`.", columnName, tableName);
+ super(XOpenSQLState.NOT_FOUND, 3, "Can not find encrypt column '%s'
from table '%s'.", columnName, tableName);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryColumnNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryColumnNotFoundException.java
deleted file mode 100644
index e9b9270585c..00000000000
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryColumnNotFoundException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.encrypt.exception.metadata;
-
-import org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
-import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-
-/**
- * Encrypt like query column not found exception.
- */
-public final class EncryptLikeQueryColumnNotFoundException extends
EncryptSQLException {
-
- private static final long serialVersionUID = -1628043793867162797L;
-
- public EncryptLikeQueryColumnNotFoundException(final String
logicColumnName, final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 7, "Like query column of
`%s` can not be null in database `%s`.", logicColumnName, databaseName);
- }
-}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLogicColumnNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLogicColumnNotFoundException.java
index d13504432b2..5a1c031c28c 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLogicColumnNotFoundException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLogicColumnNotFoundException.java
@@ -28,6 +28,6 @@ public final class EncryptLogicColumnNotFoundException
extends EncryptSQLExcepti
private static final long serialVersionUID = 3934531389314348880L;
public EncryptLogicColumnNotFoundException(final String actualColumn) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 0, "Can not find logic
encrypt column by `%s`.", actualColumn);
+ super(XOpenSQLState.NOT_FOUND, 2, "Can not find logic encrypt column
by '%s'.", actualColumn);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptTableNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptTableNotFoundException.java
index 1158dea192d..6823ce88d78 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptTableNotFoundException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptTableNotFoundException.java
@@ -28,6 +28,6 @@ public final class EncryptTableNotFoundException extends
EncryptSQLException {
private static final long serialVersionUID = 8909641495852822938L;
public EncryptTableNotFoundException(final String tableName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 9, "Can not find encrypt
table: `%s`.", tableName);
+ super(XOpenSQLState.NOT_FOUND, 1, "Can not find encrypt table '%s'.",
tableName);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/algorithm/MismatchedEncryptAlgorithmTypeException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MismatchedEncryptAlgorithmTypeException.java
similarity index 84%
rename from
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/algorithm/MismatchedEncryptAlgorithmTypeException.java
rename to
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MismatchedEncryptAlgorithmTypeException.java
index 14d8fd764e9..722c3a9f367 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/algorithm/MismatchedEncryptAlgorithmTypeException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MismatchedEncryptAlgorithmTypeException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.encrypt.exception.algorithm;
+package org.apache.shardingsphere.encrypt.exception.metadata;
import org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
@@ -28,7 +28,6 @@ public final class MismatchedEncryptAlgorithmTypeException
extends EncryptSQLExc
private static final long serialVersionUID = 4258928279099223870L;
public MismatchedEncryptAlgorithmTypeException(final String databaseName,
final String columnType, final String encryptorName, final String
algorithmFeature) {
- super(XOpenSQLState.GENERAL_ERROR, 81, "`%s` column's encryptor `%s`
should support `%s` in database `%s`.",
- columnType, encryptorName, algorithmFeature, databaseName);
+ super(XOpenSQLState.GENERAL_ERROR, 4, "'%s' column's encrypt algorithm
'%s' should support %s in database '%s'.", columnType, encryptorName,
algorithmFeature, databaseName);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptCipherColumnNotFoundException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingRequiredEncryptColumnException.java
similarity index 73%
rename from
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptCipherColumnNotFoundException.java
rename to
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingRequiredEncryptColumnException.java
index fed9c45ceca..4b5a79c0990 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptCipherColumnNotFoundException.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingRequiredEncryptColumnException.java
@@ -21,13 +21,13 @@ import
org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
/**
- * Encrypt cipher column not found exception.
+ * Missing required encrypt column Exception.
*/
-public final class EncryptCipherColumnNotFoundException extends
EncryptSQLException {
+public final class MissingRequiredEncryptColumnException extends
EncryptSQLException {
private static final long serialVersionUID = -6765795304282762539L;
- public EncryptCipherColumnNotFoundException(final String logicColumnName,
final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "Cipher column of `%s`
can not be null in database `%s`.", logicColumnName, databaseName);
+ public MissingRequiredEncryptColumnException(final String columnType,
final String logicColumnName, final String databaseName) {
+ super(XOpenSQLState.NOT_FOUND, 0, "%s column '%s' is required in
database '%s'.", columnType, logicColumnName, databaseName);
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index 4011c18f616..68e962d1ea7 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -21,7 +21,7 @@ import lombok.Getter;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
-import
org.apache.shardingsphere.encrypt.exception.algorithm.MismatchedEncryptAlgorithmTypeException;
+import
org.apache.shardingsphere.encrypt.exception.metadata.MismatchedEncryptAlgorithmTypeException;
import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptTableNotFoundException;
import
org.apache.shardingsphere.encrypt.rule.attribute.EncryptTableMapperRuleAttribute;
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
index 7ef4b762816..d2cbaa71476 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
-import
org.apache.shardingsphere.encrypt.exception.algorithm.MismatchedEncryptAlgorithmTypeException;
+import
org.apache.shardingsphere.encrypt.exception.metadata.MismatchedEncryptAlgorithmTypeException;
import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptTableNotFoundException;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import org.junit.jupiter.api.Test;