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 91bcb49bf3d Refactor ShardingSphereSQLException (#30769)
91bcb49bf3d is described below
commit 91bcb49bf3d8e6bba187637785dc21638694391d
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Apr 4 17:43:17 2024 +0800
Refactor ShardingSphereSQLException (#30769)
* Refactor ShardingSphereSQLException
* Refactor ShardingSphereSQLException
---
.../storageunit/AlterStorageUnitConnectionInfoException.java | 2 +-
.../resource/storageunit/DuplicateStorageUnitException.java | 2 +-
.../resource/storageunit/InUsedStorageUnitException.java | 2 +-
.../resource/storageunit/StorageUnitsOperateException.java | 2 +-
.../exception/UnsupportedActualDataNodeStructureException.java | 2 +-
.../core/external/sql/ShardingSphereSQLException.java | 10 +++++++++-
.../external/sql/type/kernel/category/ClusterSQLException.java | 2 +-
7 files changed, 15 insertions(+), 7 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/AlterStorageUnitConnectionInfoException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/AlterStorageUnitConnectionInfoException.java
index fff77dd79bb..bb0daee86f7 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/AlterStorageUnitConnectionInfoException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/AlterStorageUnitConnectionInfoException.java
@@ -30,6 +30,6 @@ public final class AlterStorageUnitConnectionInfoException
extends ResourceDefin
private static final long serialVersionUID = 525999625052706626L;
public AlterStorageUnitConnectionInfoException(final Collection<String>
storageUnitNames) {
- super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 11, "Can not alter
connection info in storage units: '%s'.", String.join(", ", storageUnitNames));
+ super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 11, "Can not alter
connection info in storage units: '%s'.", storageUnitNames);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/DuplicateStorageUnitException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/DuplicateStorageUnitException.java
index 04c890ab0f0..380ff58241a 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/DuplicateStorageUnitException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/DuplicateStorageUnitException.java
@@ -30,6 +30,6 @@ public final class DuplicateStorageUnitException extends
ResourceDefinitionExcep
private static final long serialVersionUID = 2103793827572264148L;
public DuplicateStorageUnitException(final String databaseName, final
Collection<String> storageUnitNames) {
- super(XOpenSQLState.DUPLICATE, 4, "Duplicate storage unit names '%s'
on database '%s'.", String.join(", ", storageUnitNames), databaseName);
+ super(XOpenSQLState.DUPLICATE, 4, "Duplicate storage unit names '%s'
on database '%s'.", storageUnitNames, databaseName);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/InUsedStorageUnitException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/InUsedStorageUnitException.java
index b82374cface..ae05ae4d9c8 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/InUsedStorageUnitException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/InUsedStorageUnitException.java
@@ -32,6 +32,6 @@ public final class InUsedStorageUnitException extends
ResourceDefinitionExceptio
private static final long serialVersionUID = -3427324685070457375L;
public InUsedStorageUnitException(final String storageUnitName, final
Collection<Class<? extends ShardingSphereRule>> ruleClasses) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "Storage unit '%s'
still used by '%s'.", storageUnitName,
ruleClasses.stream().map(Class::getSimpleName).collect(Collectors.joining(",
")));
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 3, "Storage unit '%s'
still used by '%s'.", storageUnitName,
ruleClasses.stream().map(Class::getSimpleName).collect(Collectors.toList()));
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/StorageUnitsOperateException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/StorageUnitsOperateException.java
index 0efaba8823c..8b79d999e25 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/StorageUnitsOperateException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/metadata/resource/storageunit/StorageUnitsOperateException.java
@@ -30,6 +30,6 @@ public final class StorageUnitsOperateException extends
ResourceDefinitionExcept
private static final long serialVersionUID = 7029641448948791509L;
public StorageUnitsOperateException(final String operationType, final
Collection<String> storageUnitNames, final Exception cause) {
- super(XOpenSQLState.GENERAL_ERROR, 0, String.format("Can not %s
storage units '%s'.", operationType, String.join(", ", storageUnitNames)),
cause);
+ super(XOpenSQLState.GENERAL_ERROR, 0, String.format("Can not %s
storage units '%s'.", operationType, storageUnitNames), cause);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/exception/UnsupportedActualDataNodeStructureException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/exception/UnsupportedActualDataNodeStructureException.java
index 5f9e361c435..a439e1147ca 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/exception/UnsupportedActualDataNodeStructureException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/exception/UnsupportedActualDataNodeStructureException.java
@@ -31,6 +31,6 @@ public final class
UnsupportedActualDataNodeStructureException extends MetaDataS
private static final long serialVersionUID = -8921823916974492519L;
public UnsupportedActualDataNodeStructureException(final DataNode
dataNode, final Collection<String> jdbcUrlPrefixes) {
- super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 0, "Can not support 3-tier
structure for actual data node '%s' with JDBC '%s'.", dataNode.format(),
jdbcUrlPrefixes.toString());
+ super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 0, "Can not support 3-tier
structure for actual data node '%s' with JDBC '%s'.", dataNode.format(),
jdbcUrlPrefixes);
}
}
diff --git
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/ShardingSphereSQLException.java
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/ShardingSphereSQLException.java
index 51a47445c56..7eb06f71d4a 100644
---
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/ShardingSphereSQLException.java
+++
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/ShardingSphereSQLException.java
@@ -23,6 +23,9 @@ import
org.apache.shardingsphere.infra.exception.core.external.ShardingSphereExt
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.SQLState;
import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.stream.Collectors;
/**
* ShardingSphere SQL exception.
@@ -44,7 +47,7 @@ public abstract class ShardingSphereSQLException extends
ShardingSphereExternalE
}
protected ShardingSphereSQLException(final String sqlState, final int
typeOffset, final int errorCode, final String reason, final Object...
messageArgs) {
- this(sqlState, typeOffset, errorCode, null == reason ? null :
String.format(reason, messageArgs), (Exception) null);
+ this(sqlState, typeOffset, errorCode, null == reason ? null :
String.format(reason, formatMessageArguments(messageArgs)), (Exception) null);
}
protected ShardingSphereSQLException(final String sqlState, final int
typeOffset, final int errorCode, final String reason, final Exception cause) {
@@ -59,6 +62,11 @@ public abstract class ShardingSphereSQLException extends
ShardingSphereExternalE
this.cause = cause;
}
+ private static Object[] formatMessageArguments(final Object...
messageArgs) {
+ return Arrays.stream(messageArgs)
+ .map(each -> each instanceof Collection ? ((Collection<?>)
each).stream().map(Object::toString).collect(Collectors.joining(", ")) :
each).toArray(Object[]::new);
+ }
+
/**
* To SQL exception.
*
diff --git
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ClusterSQLException.java
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ClusterSQLException.java
index ee7def5351c..8546f63f58e 100644
---
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ClusterSQLException.java
+++
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/type/kernel/category/ClusterSQLException.java
@@ -27,7 +27,7 @@ public abstract class ClusterSQLException extends
KernelSQLException {
private static final long serialVersionUID = -2839102961922546497L;
- private static final int KERNEL_CODE = 7;
+ private static final int KERNEL_CODE = 5;
protected ClusterSQLException(final SQLState sqlState, final int
errorCode, final String reason, final Object... messageArgs) {
super(sqlState, KERNEL_CODE, errorCode, reason, messageArgs);