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

duanzhengqiang 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 29d74633fc3 Add readwrite-splitting error code doc (#23489)
29d74633fc3 is described below

commit 29d74633fc334528db62027b0015a64c8ee51e62
Author: zhaojinchao <[email protected]>
AuthorDate: Wed Jan 11 12:44:36 2023 +0800

    Add readwrite-splitting error code doc (#23489)
---
 .../content/user-manual/error-code/sql-error-code.cn.md  | 11 +++++++++++
 .../content/user-manual/error-code/sql-error-code.en.md  | 10 ++++++++++
 .../ReadwriteSplittingRuleConfigurationChecker.java      | 16 ++++++++--------
 .../readwritesplitting/rule/ReadwriteSplittingRule.java  |  6 +++---
 4 files changed, 32 insertions(+), 11 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 0c2a472fe6d..6144a704b9e 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
@@ -200,7 +200,18 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
 
 | SQL State | Vendor Code | 错误信息 |
 | --------- | ----------- | ------ |
+| 44000     | 20270       | Inline expression %s names size error. |
 | HY004     | 20280       | Invalid read database weight \`%s\`. |
+| 44000     | 20281       | Load balancer algorithm \`%s\` initialization 
failed, reason is: \`%s\.` |
+| 44000     | 20290       | Data source name is required in database \`%s\.` |
+| 44000     | 20291       | Write data source name is required in database 
`\`%s\.` |
+| 44000     | 20292       | Read data source names is required in database 
`\`%s\.` |
+| 44000     | 20293       | Can not config duplicate %s data source \`%s\` in 
database \`%s\.` |
+| 42S02     | 20294       | %s data source name \`%s\` not in database \`%s\.` 
|
+| 44000     | 20295       | Auto aware data source name is required in 
database \`%s\.` |
+| 42S02     | 20296       | Not found load balance type in database \`%s\.` |
+| 44000     | 20297       | Weight load balancer datasource name config does 
not match data sources in database \`%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 58b1101957d..81f89abef65 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
@@ -200,7 +200,17 @@ SQL error codes provide by standard `SQL State`, `Vendor 
Code` and `Reason`, whi
 
 | SQL State | Vendor Code | Reason |
 | --------- | ----------- | ------ |
+| 44000     | 20270       | Inline expression %s names size error. |
 | HY004     | 20280       | Invalid read database weight \`%s\`. |
+| 44000     | 20281       | Load balancer algorithm \`%s\` initialization 
failed, reason is: \`%s\.` |
+| 44000     | 20290       | Data source name is required in database \`%s\.` |
+| 44000     | 20291       | Write data source name is required in database 
`\`%s\.` |
+| 44000     | 20292       | Read data source names is required in database 
`\`%s\.` |
+| 44000     | 20293       | Can not config duplicate %s data source \`%s\` in 
database \`%s\.` |
+| 42S02     | 20294       | %s data source name \`%s\` not in database \`%s\.` 
|
+| 44000     | 20295       | Auto aware data source name is required in 
database \`%s\.` |
+| 42S02     | 20296       | Not found load balance type in database \`%s\.` |
+| 44000     | 20297       | Weight load balancer datasource name config does 
not match data sources in database \`%s\.` |
 
 ### Database HA
 
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 77df65ef2a2..8e0933ff8ee 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
@@ -92,10 +92,10 @@ public final class 
ReadwriteSplittingRuleConfigurationChecker implements RuleCon
     private void checkWriteDataSourceNames(final String databaseName, final 
Map<String, DataSource> dataSourceMap, final Collection<String> 
addedWriteDataSourceNames,
                                            final 
StaticReadwriteSplittingStrategyConfiguration strategyConfig, final 
Collection<ShardingSphereRule> rules) {
         for (String each : new 
InlineExpressionParser(strategyConfig.getWriteDataSourceName()).splitAndEvaluate())
 {
-            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, rules), () ->
-                    new DataSourceNameExistedException(String.format("Write 
data source name `%s` not in database `%s`.", each, databaseName)));
-            
ShardingSpherePreconditions.checkState(addedWriteDataSourceNames.add(each), () 
->
-                    new DuplicateDataSourceException(String.format("Can not 
config duplicate write data source `%s` in database `%s`.", each, 
databaseName)));
+            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, rules),
+                    () -> new 
DataSourceNameExistedException(String.format("Write data source name `%s` not 
in database `%s`.", each, databaseName)));
+            
ShardingSpherePreconditions.checkState(addedWriteDataSourceNames.add(each),
+                    () -> new DuplicateDataSourceException(String.format("Can 
not config duplicate write data source `%s` in database `%s`.", each, 
databaseName)));
         }
     }
     
@@ -111,10 +111,10 @@ public final class 
ReadwriteSplittingRuleConfigurationChecker implements RuleCon
     private void checkReadeDataSourceNames(final String databaseName,
                                            final Map<String, DataSource> 
dataSourceMap, final Collection<String> addedReadDataSourceNames, final String 
readDataSourceName) {
         for (String each : new 
InlineExpressionParser(readDataSourceName).splitAndEvaluate()) {
-            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each), () ->
-                    new DataSourceNameExistedException(String.format("Read 
data source name `%s` not in database `%s`.", each, databaseName)));
-            
ShardingSpherePreconditions.checkState(addedReadDataSourceNames.add(each), () ->
-                    new DuplicateDataSourceException(String.format("Can not 
config duplicate read data source `%s` in database `%s`.", each, 
databaseName)));
+            
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each),
+                    () -> new 
DataSourceNameExistedException(String.format("Read data source name `%s` not in 
database `%s`.", each, databaseName)));
+            
ShardingSpherePreconditions.checkState(addedReadDataSourceNames.add(each),
+                    () -> new DuplicateDataSourceException(String.format("Can 
not config duplicate read data source `%s` in database `%s`.", each, 
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 256dee05cfd..fabe0d99fe1 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
@@ -95,9 +95,9 @@ public final class ReadwriteSplittingRule implements 
DatabaseRule, DataSourceCon
         List<List<String>> inlineReadDatasourceNames = 
config.getStaticStrategy().getReadDataSourceNames().stream()
                 .map(each -> new 
InlineExpressionParser(each).splitAndEvaluate()).collect(Collectors.toList());
         
ShardingSpherePreconditions.checkState(inlineWriteDatasourceNames.size() == 
inlineReadwriteDataSourceNames.size(),
-                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression write data 
source names size error"));
+                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression write data 
source names size error."));
         inlineReadDatasourceNames.forEach(each -> 
ShardingSpherePreconditions.checkState(each.size() == 
inlineReadwriteDataSourceNames.size(),
-                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression read data 
source names size error")));
+                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression read data 
source names size error.")));
         for (int i = 0; i < inlineReadwriteDataSourceNames.size(); i++) {
             ReadwriteSplittingDataSourceRuleConfiguration staticConfig = 
createStaticDataSourceRuleConfiguration(
                     config, i, inlineReadwriteDataSourceNames, 
inlineWriteDatasourceNames, inlineReadDatasourceNames);
@@ -121,7 +121,7 @@ public final class ReadwriteSplittingRule implements 
DatabaseRule, DataSourceCon
         List<String> inlineReadwriteDataSourceNames = new 
InlineExpressionParser(config.getName()).splitAndEvaluate();
         List<String> inlineAutoAwareDataSourceNames = new 
InlineExpressionParser(config.getDynamicStrategy().getAutoAwareDataSourceName()).splitAndEvaluate();
         
ShardingSpherePreconditions.checkState(inlineAutoAwareDataSourceNames.size() == 
inlineReadwriteDataSourceNames.size(),
-                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression auto aware 
data source names size error"));
+                () -> new 
InvalidInlineExpressionDataSourceNameException("Inline expression auto aware 
data source names size error."));
         for (int i = 0; i < inlineReadwriteDataSourceNames.size(); i++) {
             ReadwriteSplittingDataSourceRuleConfiguration dynamicConfig = 
createDynamicDataSourceRuleConfiguration(config, i, 
inlineReadwriteDataSourceNames, inlineAutoAwareDataSourceNames);
             result.put(inlineReadwriteDataSourceNames.get(i), new 
ReadwriteSplittingDataSourceRule(dynamicConfig, loadBalanceAlgorithm, 
builtRules));

Reply via email to