This is an automated email from the ASF dual-hosted git repository.

jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e1ddda7749 Refactor ReadwriteSplittingSQLException's impl (#30842)
9e1ddda7749 is described below

commit 9e1ddda7749d64749dd62a8f0a18783a35695655
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Apr 11 00:00:04 2024 +0800

    Refactor ReadwriteSplittingSQLException's impl (#30842)
    
    * Refactor ReadwriteSplittingSQLException's impl
    
    * Refactor ReadwriteSplittingSQLException's impl
---
 .../user-manual/error-code/sql-error-code.cn.md     | 18 +++++++++---------
 .../user-manual/error-code/sql-error-code.en.md     | 18 +++++++++---------
 .../ReadwriteSplittingRuleConfigurationChecker.java | 21 +++++++++------------
 .../DataSourceNameNotExistedException.java          |  7 +++----
 .../{checker => }/DuplicateDataSourceException.java |  7 +++----
 ...InvalidInlineExpressionDataSourcesException.java |  5 ++---
 .../MissingRequiredDataSourceNameException.java     |  5 ++---
 ...MissingRequiredReadDataSourceNamesException.java |  5 ++---
 .../MissingRequiredReadStorageUnitException.java    |  5 ++---
 ...MissingRequiredWriteDataSourceNameException.java |  5 ++---
 .../rule/ReadwriteSplittingRule.java                |  2 +-
 ...dwriteSplittingRuleConfigurationCheckerTest.java |  6 +++---
 ...ReadwriteSplittingStorageUnitStatusExecutor.java |  2 +-
 13 files changed, 48 insertions(+), 58 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 9ac5e94e3fa..c6f84eed81f 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
@@ -190,15 +190,15 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
 
 ### 读写分离
 
-| Vendor Code | SQL State | 错误信息                                               
                |
-|-------------|-----------|--------------------------------------------------------------------|
-| 20270       | 44000     | %s data source names size error on inline 
expression.              |
-| 20290       | 44000     | Data source name is required in database \`%s\.`   
                |
-| 20291       | 44000     | Write data source name is required in database 
`\`%s\.`            |
-| 20292       | 44000     | Read data source names is required in database 
`\`%s\.`            |
-| 20293       | 44000     | Can not config duplicate %s data source \`%s\` in 
database \`%s\.` |
-| 20294       | 42S02     | %s data source name \`%s\` not in database \`%s\.` 
                |
-| 20296       | 44000     | Read storage unit '%s' does not exist in rule 
'%s'.                |
+| Vendor Code | SQL State | 错误信息                                               
   |
+|-------------|-----------|-------------------------------------------------------|
+| 20200       | 42S02     | Data source name is required in database '%s'.     
   |
+| 20201       | 42S02     | Write data source name is required in database 
'%s'.  |
+| 20202       | 42S02     | Read data source names is required in database 
'%s'.  |
+| 20203       | 44000     | Duplicated %s data source '%s' in database '%s'.   
   |
+| 20204       | 42S02     | %s data source name '%s' not in database '%s'.     
   |
+| 20205       | 44000     | %s data source names size error on inline 
expression. |
+| 20210       | 42S02     | Read storage unit '%s' does not exist in rule 
'%s'.   |
 
 ### SQL 方言转换
 
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 1f30d8cc1d5..dc36ecfa2ee 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
@@ -191,15 +191,15 @@ SQL error codes provide by standard `SQL State`, `Vendor 
Code` and `Reason`, whi
 
 ### Readwrite-splitting
 
-| Vendor Code | SQL State | Reason                                             
                |
-|-------------|-----------|--------------------------------------------------------------------|
-| 20270       | 44000     | %s data source names size error on inline 
expression.              |
-| 20290       | 44000     | Data source name is required in database \`%s\.`   
                |
-| 20291       | 44000     | Write data source name is required in database 
`\`%s\.`            |
-| 20292       | 44000     | Read data source names is required in database 
`\`%s\.`            |
-| 20293       | 44000     | Can not config duplicate %s data source \`%s\` in 
database \`%s\.` |
-| 20294       | 42S02     | %s data source name \`%s\` not in database \`%s\.` 
                |
-| 20296       | 44000     | Read storage unit '%s' does not exist in rule 
'%s'.                |
+| Vendor Code | SQL State | Reason                                             
   |
+|-------------|-----------|-------------------------------------------------------|
+| 20200       | 42S02     | Data source name is required in database '%s'.     
   |
+| 20201       | 42S02     | Write data source name is required in database 
'%s'.  |
+| 20202       | 42S02     | Read data source names is required in database 
'%s'.  |
+| 20203       | 44000     | Duplicated %s data source '%s' in database '%s'.   
   |
+| 20204       | 42S02     | %s data source name '%s' not in database '%s'.     
   |
+| 20205       | 44000     | %s data source names size error on inline 
expression. |
+| 20210       | 42S02     | Read storage unit '%s' does not exist in rule 
'%s'.   |
 
 ### SQL Dialect Translator
 
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
index 866d817056a..fb371c3a0b2 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
@@ -30,11 +30,11 @@ import 
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.constant.ReadwriteSplittingOrder;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.DataSourceNameNotExistedException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.DuplicateDataSourceException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredDataSourceNameException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredReadDataSourceNamesException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredWriteDataSourceNameException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.DataSourceNameNotExistedException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.DuplicateDataSourceException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredDataSourceNameException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredReadDataSourceNamesException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredWriteDataSourceNameException;
 
 import javax.sql.DataSource;
 import java.util.Collection;
@@ -79,9 +79,8 @@ public final class ReadwriteSplittingRuleConfigurationChecker 
implements RuleCon
                                            final 
ReadwriteSplittingDataSourceRuleConfiguration config, final 
Collection<ShardingSphereRule> builtRules) {
         for (String each : 
InlineExpressionParserFactory.newInstance(config.getWriteDataSourceName()).splitAndEvaluate())
 {
             
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, builtRules),
-                    () -> new 
DataSourceNameNotExistedException(String.format("Write data source name `%s` 
not in database `%s`.", each, databaseName)));
-            
ShardingSpherePreconditions.checkState(writeDataSourceNames.add(each),
-                    () -> new DuplicateDataSourceException(String.format("Can 
not config duplicate write data source `%s` in database `%s`.", each, 
databaseName)));
+                    () -> new DataSourceNameNotExistedException("Write", each, 
databaseName));
+            
ShardingSpherePreconditions.checkState(writeDataSourceNames.add(each), () -> 
new DuplicateDataSourceException("write", each, databaseName));
         }
     }
     
@@ -93,10 +92,8 @@ public final class 
ReadwriteSplittingRuleConfigurationChecker implements RuleCon
     private void checkReadeDataSourceNames(final String databaseName, final 
Map<String, DataSource> dataSourceMap,
                                            final Collection<String> 
readDataSourceNames, final String readDataSourceName, final 
Collection<ShardingSphereRule> builtRules) {
         for (String each : 
InlineExpressionParserFactory.newInstance(readDataSourceName).splitAndEvaluate())
 {
-            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, builtRules),
-                    () -> new 
DataSourceNameNotExistedException(String.format("Read data source name `%s` not 
in database `%s`.", each, databaseName)));
-            
ShardingSpherePreconditions.checkState(readDataSourceNames.add(each),
-                    () -> new DuplicateDataSourceException(String.format("Can 
not config duplicate read data source `%s` in database `%s`.", each, 
databaseName)));
+            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, builtRules), () -> new 
DataSourceNameNotExistedException("Read", each, databaseName));
+            
ShardingSpherePreconditions.checkState(readDataSourceNames.add(each), () -> new 
DuplicateDataSourceException("read", each, databaseName));
         }
     }
     
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
similarity index 77%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
index fea4dd5e33c..5043cb7a8e2 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Data source name not existed exception.
@@ -27,7 +26,7 @@ public final class DataSourceNameNotExistedException extends 
ReadwriteSplittingS
     
     private static final long serialVersionUID = 1284608200400804784L;
     
-    public DataSourceNameNotExistedException(final String reason) {
-        super(XOpenSQLState.NOT_FOUND, 94, reason);
+    public DataSourceNameNotExistedException(final String dataSourceType, 
final String dataSourceName, final String databaseName) {
+        super(XOpenSQLState.NOT_FOUND, 4, "%s data source name '%s' not in 
database '%s'.", dataSourceType, dataSourceName, databaseName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
similarity index 77%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
index 16a5af2a7bd..a4621977892 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Duplicate write data source exception.
@@ -27,7 +26,7 @@ public final class DuplicateDataSourceException extends 
ReadwriteSplittingSQLExc
     
     private static final long serialVersionUID = -58671655670347084L;
     
-    public DuplicateDataSourceException(final String reason) {
-        super(XOpenSQLState.DUPLICATE, 93, reason);
+    public DuplicateDataSourceException(final String dataSourceType, final 
String dataSourceName, final String databaseName) {
+        super(XOpenSQLState.DUPLICATE, 3, "Duplicated %s data source '%s' in 
database '%s'.", dataSourceType, dataSourceName, databaseName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
similarity index 80%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
index b6f45c51628..4d1641ff82d 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.rule;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Invalid inline expression data sources exception.
@@ -28,6 +27,6 @@ public final class 
InvalidInlineExpressionDataSourcesException extends Readwrite
     private static final long serialVersionUID = 87659916563551964L;
     
     public InvalidInlineExpressionDataSourcesException(final String 
dataSourceType) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 70, "%s data source names 
size error on inline expression.", dataSourceType);
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, "%s data source names 
size error on inline expression.", dataSourceType);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
similarity index 80%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
index 2e3103c31dd..160657f491f 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Missing required data source name exception.
@@ -28,6 +27,6 @@ public final class MissingRequiredDataSourceNameException 
extends ReadwriteSplit
     private static final long serialVersionUID = 8006957930250488016L;
     
     public MissingRequiredDataSourceNameException(final String databaseName) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 90, "Data source name is 
required in database `%s`.", databaseName);
+        super(XOpenSQLState.NOT_FOUND, 0, "Data source name is required in 
database '%s'.", databaseName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
similarity index 80%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
index baf1312cbb3..c1319048bb3 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Missing required read data source names exception.
@@ -28,6 +27,6 @@ public final class 
MissingRequiredReadDataSourceNamesException extends Readwrite
     private static final long serialVersionUID = 3795576963060485964L;
     
     public MissingRequiredReadDataSourceNamesException(final String 
databaseName) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 92, "Read data source 
names is required in database `%s`.", databaseName);
+        super(XOpenSQLState.NOT_FOUND, 2, "Read data source names is required 
in database '%s'.", databaseName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
similarity index 80%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
index c8ba63830f8..2b52f1075fe 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Missing required read storage unit exception.
@@ -28,6 +27,6 @@ public final class MissingRequiredReadStorageUnitException 
extends ReadwriteSpli
     private static final long serialVersionUID = -4252553422332603648L;
     
     public MissingRequiredReadStorageUnitException(final String ruleName, 
final String storageUnitName) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 96, "Read storage unit 
'%s' does not exist in rule '%s'.", storageUnitName, ruleName);
+        super(XOpenSQLState.NOT_FOUND, 10, "Read storage unit '%s' does not 
exist in rule '%s'.", storageUnitName, ruleName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
similarity index 80%
rename from 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
rename to 
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
index bb5de0aac6d..754cb725970 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import 
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
 
 /**
  * Missing required write data source name exception.
@@ -28,6 +27,6 @@ public final class 
MissingRequiredWriteDataSourceNameException extends Readwrite
     private static final long serialVersionUID = -3310589272704868388L;
     
     public MissingRequiredWriteDataSourceNameException(final String 
databaseName) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 91, "Write data source 
name is required in database `%s`.", databaseName);
+        super(XOpenSQLState.NOT_FOUND, 1, "Write data source name is required 
in database '%s'.", databaseName);
     }
 }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
index 93fc8c8d67e..c5dca7e2981 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.rule.attribute.RuleAttributes;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
-import 
org.apache.shardingsphere.readwritesplitting.exception.rule.InvalidInlineExpressionDataSourcesException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.InvalidInlineExpressionDataSourcesException;
 import 
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingDataSourceMapperRuleAttribute;
 import 
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingExportableRuleAttribute;
 import 
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingStaticDataSourceRuleAttribute;
diff --git 
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
 
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
index 977eb96f049..565fa8b08e8 100644
--- 
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
+++ 
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
@@ -26,9 +26,9 @@ import 
org.apache.shardingsphere.infra.rule.attribute.datasource.DataSourceMappe
 import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.DataSourceNameNotExistedException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.DuplicateDataSourceException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredWriteDataSourceNameException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.DataSourceNameNotExistedException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.DuplicateDataSourceException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredWriteDataSourceNameException;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
index 69c3648b54d..5d05e5ac455 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
@@ -29,7 +29,7 @@ import 
org.apache.shardingsphere.infra.state.datasource.DataSourceState;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.storage.service.StorageNodeStatusService;
 import 
org.apache.shardingsphere.infra.exception.kernel.metadata.resource.storageunit.InvalidStorageUnitStatusException;
-import 
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredReadStorageUnitException;
+import 
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredReadStorageUnitException;
 import 
org.apache.shardingsphere.readwritesplitting.distsql.statement.AlterReadwriteSplittingStorageUnitStatusStatement;
 import 
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingDataSourceRule;
 import 
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;

Reply via email to