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;
 }

Reply via email to