This is an automated email from the ASF dual-hosted git repository.
wuweijie 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 a77efde Refactor SQLExceptionErrorCode (#12596)
a77efde is described below
commit a77efde88813f5ed68cbe9d709ffcc3379212580
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Sep 20 21:28:12 2021 +0800
Refactor SQLExceptionErrorCode (#12596)
---
.../resultset/ShardingSphereResultSetMetaData.java | 5 +++--
.../statement/ShardingSpherePreparedStatement.java | 5 +++--
.../core/statement/ShardingSphereStatement.java | 5 +++--
.../SQLExceptionErrorCode.java} | 21 +++++++++++++--------
4 files changed, 22 insertions(+), 14 deletions(-)
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
index ac4ceb8..a7e9c98 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.driver.jdbc.core.resultset;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.driver.jdbc.adapter.WrapperAdapter;
-import
org.apache.shardingsphere.driver.jdbc.core.constant.SQLExceptionConstant;
+import org.apache.shardingsphere.driver.jdbc.exception.SQLExceptionErrorCode;
import
org.apache.shardingsphere.infra.binder.segment.select.projection.Projection;
import
org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
@@ -102,7 +102,8 @@ public final class ShardingSphereResultSetMetaData extends
WrapperAdapter implem
if (hasSelectExpandProjections()) {
List<Projection> actualProjections = ((SelectStatementContext)
sqlStatementContext).getProjectionsContext().getExpandProjections();
if (column > actualProjections.size()) {
- throw new
SQLException(SQLExceptionConstant.COLUMN_INDEX_OUT_OF_RANGE,
SQLExceptionConstant.OUT_OF_INDEX_SQL_STATE, 0);
+ SQLExceptionErrorCode errorCode =
SQLExceptionErrorCode.COLUMN_INDEX_OUT_OF_RANGE;
+ throw new SQLException(errorCode.getErrorMessage(),
errorCode.getSqlState(), errorCode.getErrorCode());
}
Projection projection = ((SelectStatementContext)
sqlStatementContext).getProjectionsContext().getExpandProjections().get(column
- 1);
if (projection instanceof ColumnProjection) {
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index a938646..e1d6566 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -26,7 +26,7 @@ import
org.apache.shardingsphere.driver.executor.batch.BatchPreparedStatementExe
import
org.apache.shardingsphere.driver.executor.callback.impl.PreparedStatementExecuteQueryCallback;
import
org.apache.shardingsphere.driver.jdbc.adapter.AbstractPreparedStatementAdapter;
import
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
-import
org.apache.shardingsphere.driver.jdbc.core.constant.SQLExceptionConstant;
+import org.apache.shardingsphere.driver.jdbc.exception.SQLExceptionErrorCode;
import
org.apache.shardingsphere.driver.jdbc.core.resultset.GeneratedKeysResultSet;
import
org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
import
org.apache.shardingsphere.driver.jdbc.core.statement.metadata.ShardingSphereParameterMetaData;
@@ -151,7 +151,8 @@ public final class ShardingSpherePreparedStatement extends
AbstractPreparedState
private ShardingSpherePreparedStatement(final ShardingSphereConnection
connection, final String sql,
final int resultSetType, final int
resultSetConcurrency, final int resultSetHoldability, final boolean
returnGeneratedKeys) throws SQLException {
if (Strings.isNullOrEmpty(sql)) {
- throw new
SQLException(SQLExceptionConstant.SQL_STRING_NULL_OR_EMPTY);
+ SQLExceptionErrorCode errorCode =
SQLExceptionErrorCode.SQL_STRING_NULL_OR_EMPTY;
+ throw new SQLException(errorCode.getErrorMessage(),
errorCode.getSqlState(), errorCode.getErrorCode());
}
this.connection = connection;
metaDataContexts =
connection.getContextManager().getMetaDataContexts();
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 3ed72c3..b009e14 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -26,7 +26,7 @@ import
org.apache.shardingsphere.driver.executor.callback.ExecuteUpdateCallback;
import
org.apache.shardingsphere.driver.executor.callback.impl.StatementExecuteQueryCallback;
import org.apache.shardingsphere.driver.jdbc.adapter.AbstractStatementAdapter;
import
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
-import
org.apache.shardingsphere.driver.jdbc.core.constant.SQLExceptionConstant;
+import org.apache.shardingsphere.driver.jdbc.exception.SQLExceptionErrorCode;
import
org.apache.shardingsphere.driver.jdbc.core.resultset.GeneratedKeysResultSet;
import
org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
import org.apache.shardingsphere.infra.binder.LogicSQL;
@@ -139,7 +139,8 @@ public final class ShardingSphereStatement extends
AbstractStatementAdapter {
@Override
public ResultSet executeQuery(final String sql) throws SQLException {
if (Strings.isNullOrEmpty(sql)) {
- throw new
SQLException(SQLExceptionConstant.SQL_STRING_NULL_OR_EMPTY);
+ SQLExceptionErrorCode errorCode =
SQLExceptionErrorCode.SQL_STRING_NULL_OR_EMPTY;
+ throw new SQLException(errorCode.getErrorMessage(),
errorCode.getSqlState(), errorCode.getErrorCode());
}
ResultSet result;
try {
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/constant/SQLExceptionConstant.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/exception/SQLExceptionErrorCode.java
similarity index 64%
rename from
shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/constant/SQLExceptionConstant.java
rename to
shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/exception/SQLExceptionErrorCode.java
index 98d4ad6..3085209 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/constant/SQLExceptionConstant.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/exception/SQLExceptionErrorCode.java
@@ -15,20 +15,25 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.driver.jdbc.core.constant;
+package org.apache.shardingsphere.driver.jdbc.exception;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
/**
* SQL exception constant.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class SQLExceptionConstant {
+@RequiredArgsConstructor
+@Getter
+public enum SQLExceptionErrorCode {
- public static final String SQL_STRING_NULL_OR_EMPTY = "SQL String can not
be NULL or empty.";
+ SQL_STRING_NULL_OR_EMPTY(0, null, "SQL String can not be NULL or empty."),
- public static final String COLUMN_INDEX_OUT_OF_RANGE = "Column index out
of range.";
+ COLUMN_INDEX_OUT_OF_RANGE(0, "S1002", "Column index out of range.");
- public static final String OUT_OF_INDEX_SQL_STATE = "S1002";
+ private final int errorCode;
+
+ private final String sqlState;
+
+ private final String errorMessage;
}