This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 4a65262bcb2 Refactor InvalidInlineExpressionDataSourcesException
(#30841)
4a65262bcb2 is described below
commit 4a65262bcb254431ff98728769fb2967472cef32
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Apr 10 23:24:06 2024 +0800
Refactor InvalidInlineExpressionDataSourcesException (#30841)
---
docs/document/content/user-manual/error-code/sql-error-code.cn.md | 4 +---
docs/document/content/user-manual/error-code/sql-error-code.en.md | 4 +---
...tion.java => InvalidInlineExpressionDataSourcesException.java} | 8 ++++----
.../readwritesplitting/rule/ReadwriteSplittingRule.java | 7 +++----
4 files changed, 9 insertions(+), 14 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 1f3d6100411..9ac5e94e3fa 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
@@ -192,14 +192,12 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| Vendor Code | SQL State | 错误信息
|
|-------------|-----------|--------------------------------------------------------------------|
-| 20270 | 44000 | Inline expression %s names size error.
|
-| 20280 | HY004 | Invalid read database weight \`%s\`.
|
+| 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\.`
|
-| 20295 | 44000 | Auto aware data source name is required in
database \`%s\.` |
| 20296 | 44000 | 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 6c14bd9067e..1f30d8cc1d5 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
@@ -193,14 +193,12 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| Vendor Code | SQL State | Reason
|
|-------------|-----------|--------------------------------------------------------------------|
-| 20270 | 44000 | Inline expression %s names size error.
|
-| 20280 | HY004 | Invalid read database weight \`%s\`.
|
+| 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\.`
|
-| 20295 | 44000 | Auto aware data source name is required in
database \`%s\.` |
| 20296 | 44000 | 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/exception/rule/InvalidInlineExpressionDataSourceNameException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
similarity index 75%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourceNameException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
index f2d915809ae..b6f45c51628 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourceNameException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
@@ -21,13 +21,13 @@ import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpe
import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
- * Invalid inline expression data source name exception.
+ * Invalid inline expression data sources exception.
*/
-public final class InvalidInlineExpressionDataSourceNameException extends
ReadwriteSplittingSQLException {
+public final class InvalidInlineExpressionDataSourcesException extends
ReadwriteSplittingSQLException {
private static final long serialVersionUID = 87659916563551964L;
- public InvalidInlineExpressionDataSourceNameException(final String reason)
{
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 70, reason);
+ public InvalidInlineExpressionDataSourcesException(final String
dataSourceType) {
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 70, "%s data source names
size error on inline expression.", dataSourceType);
}
}
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 b0a64fe6b81..93fc8c8d67e 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.InvalidInlineExpressionDataSourceNameException;
+import
org.apache.shardingsphere.readwritesplitting.exception.rule.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;
@@ -97,10 +97,9 @@ public final class ReadwriteSplittingRule implements
DatabaseRule {
List<String> inlineWriteDatasourceNames =
InlineExpressionParserFactory.newInstance(config.getWriteDataSourceName()).splitAndEvaluate();
List<List<String>> inlineReadDatasourceNames =
config.getReadDataSourceNames().stream()
.map(each ->
InlineExpressionParserFactory.newInstance(each).splitAndEvaluate()).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(inlineWriteDatasourceNames.size() ==
inlineReadwriteDataSourceNames.size(),
- () -> new
InvalidInlineExpressionDataSourceNameException("Inline expression write data
source names size error."));
+
ShardingSpherePreconditions.checkState(inlineWriteDatasourceNames.size() ==
inlineReadwriteDataSourceNames.size(), () -> new
InvalidInlineExpressionDataSourcesException("Write"));
inlineReadDatasourceNames.forEach(each ->
ShardingSpherePreconditions.checkState(each.size() ==
inlineReadwriteDataSourceNames.size(),
- () -> new
InvalidInlineExpressionDataSourceNameException("Inline expression read data
source names size error.")));
+ () -> new
InvalidInlineExpressionDataSourcesException("Read")));
Map<String, ReadwriteSplittingDataSourceRule> result = new
LinkedHashMap<>(inlineReadwriteDataSourceNames.size(), 1F);
for (int i = 0; i < inlineReadwriteDataSourceNames.size(); i++) {
ReadwriteSplittingDataSourceRuleConfiguration staticConfig =
createStaticDataSourceRuleConfiguration(