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

zhangliang 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 0fc548309c7 Refactor JDBCDriverType as enum (#36807)
0fc548309c7 is described below

commit 0fc548309c75d70c57e2f4d925ef23aa37cfa17e
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Oct 7 15:55:21 2025 +0800

    Refactor JDBCDriverType as enum (#36807)
    
    * Refactor JDBCDriverType as enum
    
    * Refactor JDBCDriverType as enum
---
 .../sql/prepare/driver/DriverExecutionPrepareEngine.java   | 14 ++++++--------
 .../executor/sql/prepare/driver/jdbc/JDBCDriverType.java   | 10 ++--------
 .../builder/PreparedStatementExecutionUnitBuilder.java     |  2 +-
 .../driver/jdbc/builder/StatementExecutionUnitBuilder.java |  2 +-
 .../executor/callback/execute/ExecuteCallbackFactory.java  |  4 ++--
 .../callback/execute/ExecuteQueryCallbackFactory.java      |  4 ++--
 .../callback/execute/ExecuteUpdateCallbackFactory.java     |  4 ++--
 .../executor/engine/facade/DriverExecutorFacade.java       | 12 +++++-------
 .../pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java   |  2 +-
 .../jdbc/DriverJDBCPushDownExecuteQueryExecutor.java       |  2 +-
 .../jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java      |  2 +-
 .../backend/connector/DatabaseProxyConnectorFactory.java   |  2 +-
 .../proxy/backend/connector/ProxySQLExecutor.java          |  5 +++--
 .../backend/connector/StandardDatabaseProxyConnector.java  |  5 +++--
 .../backend/connector/jdbc/executor/ProxyJDBCExecutor.java |  3 ++-
 .../callback/ProxyJDBCExecutorCallbackFactory.java         |  6 +++---
 .../connector/StandardDatabaseProxyConnectorTest.java      |  2 +-
 17 files changed, 37 insertions(+), 44 deletions(-)

diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
index ad3865ae03a..c3677a56fbe 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
@@ -27,6 +27,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.DriverExecutionUnit;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.AbstractExecutionPrepareEngine;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
@@ -49,10 +50,10 @@ import java.util.concurrent.ConcurrentHashMap;
 public final class DriverExecutionPrepareEngine<T extends 
DriverExecutionUnit<?>, C> extends AbstractExecutionPrepareEngine<T> {
     
     @SuppressWarnings("rawtypes")
-    private static final Map<String, SQLExecutionUnitBuilder> 
TYPE_TO_BUILDER_MAP = new ConcurrentHashMap<>(8, 1F);
+    private static final Map<JDBCDriverType, SQLExecutionUnitBuilder> 
TYPE_TO_BUILDER_MAP = new ConcurrentHashMap<>(8, 1F);
     
     @Getter
-    private final String type;
+    private final JDBCDriverType type;
     
     private final DatabaseConnectionManager<C> databaseConnectionManager;
     
@@ -65,7 +66,7 @@ public final class DriverExecutionPrepareEngine<T extends 
DriverExecutionUnit<?>
     
     private final ShardingSphereMetaData metaData;
     
-    public DriverExecutionPrepareEngine(final String type, final int 
maxConnectionsSizePerQuery, final DatabaseConnectionManager<C> 
databaseConnectionManager,
+    public DriverExecutionPrepareEngine(final JDBCDriverType type, final int 
maxConnectionsSizePerQuery, final DatabaseConnectionManager<C> 
databaseConnectionManager,
                                         final ExecutorStatementManager<C, ?, 
?> statementManager, final StorageResourceOption option, final 
Collection<ShardingSphereRule> rules,
                                         final ShardingSphereMetaData metaData) 
{
         super(maxConnectionsSizePerQuery, rules);
@@ -77,14 +78,11 @@ public final class DriverExecutionPrepareEngine<T extends 
DriverExecutionUnit<?>
         this.metaData = metaData;
     }
     
-    /**
+    /*
      * Refer to <a 
href="https://bugs.openjdk.java.net/browse/JDK-8161372";>JDK-8161372</a>.
-     *
-     * @param type type
-     * @return sql execution unit builder
      */
     @SuppressWarnings("rawtypes")
-    private SQLExecutionUnitBuilder getCachedSQLExecutionUnitBuilder(final 
String type) {
+    private SQLExecutionUnitBuilder getCachedSQLExecutionUnitBuilder(final 
JDBCDriverType type) {
         SQLExecutionUnitBuilder result;
         if (null == (result = TYPE_TO_BUILDER_MAP.get(type))) {
             result = TYPE_TO_BUILDER_MAP.computeIfAbsent(type, key -> 
TypedSPILoader.getService(SQLExecutionUnitBuilder.class, key));
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/JDBCDriverType.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/JDBCDriverType.java
index de7ce8b055c..1e1abe7592a 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/JDBCDriverType.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/JDBCDriverType.java
@@ -17,16 +17,10 @@
 
 package org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc;
 
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
 /**
  * JDBC driver type.
  */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class JDBCDriverType {
-    
-    public static final String STATEMENT = "JDBC.STATEMENT";
+public enum JDBCDriverType {
     
-    public static final String PREPARED_STATEMENT = "JDBC.PREPARED_STATEMENT";
+    STATEMENT, PREPARED_STATEMENT
 }
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/PreparedStatementExecutionUnitBuilder.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/PreparedStatementExecutionUnitBuilder.java
index 2c75acba9f6..cb9bd33273a 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/PreparedStatementExecutionUnitBuilder.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/PreparedStatementExecutionUnitBuilder.java
@@ -48,7 +48,7 @@ public final class PreparedStatementExecutionUnitBuilder 
implements JDBCExecutio
     }
     
     @Override
-    public String getType() {
+    public JDBCDriverType getType() {
         return JDBCDriverType.PREPARED_STATEMENT;
     }
 }
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/StatementExecutionUnitBuilder.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/StatementExecutionUnitBuilder.java
index 670408c0484..65d9ad03638 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/StatementExecutionUnitBuilder.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/jdbc/builder/StatementExecutionUnitBuilder.java
@@ -46,7 +46,7 @@ public final class StatementExecutionUnitBuilder implements 
JDBCExecutionUnitBui
     }
     
     @Override
-    public String getType() {
+    public JDBCDriverType getType() {
         return JDBCDriverType.STATEMENT;
     }
 }
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteCallbackFactory.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteCallbackFactory.java
index 91ca71f9ba7..8e0e337809e 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteCallbackFactory.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteCallbackFactory.java
@@ -37,7 +37,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public final class ExecuteCallbackFactory {
     
-    private final String jdbcDriverType;
+    private final JDBCDriverType type;
     
     /**
      * Create new instance of execute callback.
@@ -52,7 +52,7 @@ public final class ExecuteCallbackFactory {
             
             @Override
             protected Boolean executeSQL(final String sql, final Statement 
statement, final ConnectionMode connectionMode, final DatabaseType storageType) 
throws SQLException {
-                return JDBCDriverType.STATEMENT.equals(jdbcDriverType) ? 
executeCallback.execute(sql, statement) : ((PreparedStatement) 
statement).execute();
+                return JDBCDriverType.STATEMENT == type ? 
executeCallback.execute(sql, statement) : ((PreparedStatement) 
statement).execute();
             }
             
             @Override
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteQueryCallbackFactory.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteQueryCallbackFactory.java
index 72d0b1f46a1..58a6a6ddae2 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteQueryCallbackFactory.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteQueryCallbackFactory.java
@@ -31,7 +31,7 @@ import 
org.apache.shardingsphere.infra.session.query.QueryContext;
 @RequiredArgsConstructor
 public final class ExecuteQueryCallbackFactory {
     
-    private final String jdbcDriverType;
+    private final JDBCDriverType type;
     
     /**
      * Create new instance of execute query callback.
@@ -40,7 +40,7 @@ public final class ExecuteQueryCallbackFactory {
      * @return created instance
      */
     public ExecuteQueryCallback newInstance(final ShardingSphereDatabase 
database, final QueryContext queryContext) {
-        return JDBCDriverType.STATEMENT.equals(jdbcDriverType)
+        return JDBCDriverType.STATEMENT == type
                 ? new 
StatementExecuteQueryCallback(database.getProtocolType(), 
database.getResourceMetaData(),
                         
queryContext.getSqlStatementContext().getSqlStatement(), 
SQLExecutorExceptionHandler.isExceptionThrown())
                 : new 
PreparedStatementExecuteQueryCallback(database.getProtocolType(), 
database.getResourceMetaData(),
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteUpdateCallbackFactory.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteUpdateCallbackFactory.java
index b0ca5d787fb..0a896ba5d79 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteUpdateCallbackFactory.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/callback/execute/ExecuteUpdateCallbackFactory.java
@@ -37,7 +37,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public final class ExecuteUpdateCallbackFactory {
     
-    private final String jdbcDriverType;
+    private final JDBCDriverType type;
     
     /**
      * Create new instance of execute update callback.
@@ -52,7 +52,7 @@ public final class ExecuteUpdateCallbackFactory {
             
             @Override
             protected Integer executeSQL(final String sql, final Statement 
statement, final ConnectionMode connectionMode, final DatabaseType storageType) 
throws SQLException {
-                return JDBCDriverType.STATEMENT.equals(jdbcDriverType) ? 
updateCallback.executeUpdate(sql, statement) : ((PreparedStatement) 
statement).executeUpdate();
+                return JDBCDriverType.STATEMENT == type ? 
updateCallback.executeUpdate(sql, statement) : ((PreparedStatement) 
statement).executeUpdate();
             }
             
             @Override
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/facade/DriverExecutorFacade.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/facade/DriverExecutorFacade.java
index e784fe2485f..dc1aef87e4b 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/facade/DriverExecutorFacade.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/facade/DriverExecutorFacade.java
@@ -35,6 +35,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.J
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.raw.RawExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -60,19 +61,17 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
     
     private final StatementManager statementManager;
     
-    private final String jdbcDriverType;
+    private final JDBCDriverType jdbcDriverType;
     
     private final SQLFederationEngine sqlFederationEngine;
     
-    private final DriverTransactionSQLStatementExecutor transactionExecutor;
-    
     private final DriverExecuteQueryExecutor queryExecutor;
     
     private final DriverExecuteUpdateExecutor updateExecutor;
     
     private final DriverExecuteExecutor executeExecutor;
     
-    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager, 
final String jdbcDriverType) {
+    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager, 
final JDBCDriverType jdbcDriverType) {
         this.connection = connection;
         this.statementOption = statementOption;
         this.statementManager = statementManager;
@@ -82,11 +81,10 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
         String currentSchemaName = new 
DatabaseTypeRegistry(metaData.getDatabase(connection.getCurrentDatabaseName()).getProtocolType()).getDefaultSchemaName(connection.getCurrentDatabaseName());
         sqlFederationEngine =
                 new SQLFederationEngine(connection.getCurrentDatabaseName(), 
currentSchemaName, metaData, 
connection.getContextManager().getMetaDataContexts().getStatistics(), 
jdbcExecutor);
-        transactionExecutor = new 
DriverTransactionSQLStatementExecutor(connection);
         RawExecutor rawExecutor = new 
RawExecutor(connection.getContextManager().getExecutorEngine(), 
connection.getDatabaseConnectionManager().getConnectionContext());
         queryExecutor = new DriverExecuteQueryExecutor(connection, metaData, 
jdbcExecutor, rawExecutor, sqlFederationEngine);
         updateExecutor = new DriverExecuteUpdateExecutor(connection, metaData, 
jdbcExecutor, rawExecutor);
-        executeExecutor = new DriverExecuteExecutor(connection, metaData, 
jdbcExecutor, rawExecutor, sqlFederationEngine, transactionExecutor);
+        executeExecutor = new DriverExecuteExecutor(connection, metaData, 
jdbcExecutor, rawExecutor, sqlFederationEngine, new 
DriverTransactionSQLStatementExecutor(connection));
     }
     
     /**
@@ -150,7 +148,7 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
     }
     
     private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
createDriverExecutionPrepareEngine(final ShardingSphereDatabase database, final 
ShardingSphereMetaData metaData,
-                                                                               
                            final String jdbcDriverType) {
+                                                                               
                            final JDBCDriverType jdbcDriverType) {
         int maxConnectionsSizePerQuery = 
connection.getContextManager().getMetaDataContexts().getMetaData().getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
         return new DriverExecutionPrepareEngine<>(jdbcDriverType, 
maxConnectionsSizePerQuery, connection.getDatabaseConnectionManager(), 
statementManager, statementOption,
                 database.getRuleMetaData().getRules(), metaData);
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
index 170216ff63f..f265d796e51 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
@@ -97,7 +97,7 @@ public final class DriverJDBCPushDownExecuteExecutor {
         ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext = 
prepareEngine.prepare(database.getName(), executionContext.getRouteContext(), 
executionContext.getExecutionUnits(),
                 new ExecutionGroupReportContext(connection.getProcessId(), 
database.getName(), 
connection.getDatabaseConnectionManager().getConnectionContext().getGrantee()));
         for (ExecutionGroup<JDBCExecutionUnit> each : 
executionGroupContext.getInputGroups()) {
-            addCallback.add(getStatements(each), 
JDBCDriverType.PREPARED_STATEMENT.equals(prepareEngine.getType()) ? 
getParameterSets(each) : Collections.emptyList());
+            addCallback.add(getStatements(each), 
JDBCDriverType.PREPARED_STATEMENT == prepareEngine.getType() ? 
getParameterSets(each) : Collections.emptyList());
         }
         replayCallback.replay();
         ProcessEngine processEngine = new ProcessEngine();
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
index ed64ea06e64..823f7d0f2c9 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
@@ -107,7 +107,7 @@ public final class DriverJDBCPushDownExecuteQueryExecutor {
         for (ExecutionGroup<JDBCExecutionUnit> each : 
executionGroupContext.getInputGroups()) {
             Collection<Statement> statements = getStatements(each);
             this.statements.addAll(statements);
-            addCallback.add(statements, 
JDBCDriverType.PREPARED_STATEMENT.equals(prepareEngine.getType()) ? 
getParameterSets(each) : Collections.emptyList());
+            addCallback.add(statements, JDBCDriverType.PREPARED_STATEMENT == 
prepareEngine.getType() ? getParameterSets(each) : Collections.emptyList());
         }
         replayCallback.replay();
         ProcessEngine processEngine = new ProcessEngine();
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
index 41984a92ead..836feb40acf 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
@@ -99,7 +99,7 @@ public final class DriverJDBCPushDownExecuteUpdateExecutor {
         ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext = 
prepareEngine.prepare(database.getName(), executionContext.getRouteContext(), 
executionContext.getExecutionUnits(),
                 new ExecutionGroupReportContext(processId, database.getName(), 
connection.getDatabaseConnectionManager().getConnectionContext().getGrantee()));
         for (ExecutionGroup<JDBCExecutionUnit> each : 
executionGroupContext.getInputGroups()) {
-            addCallback.add(getStatements(each), 
JDBCDriverType.PREPARED_STATEMENT.equals(prepareEngine.getType()) ? 
getParameterSets(each) : Collections.emptyList());
+            addCallback.add(getStatements(each), 
JDBCDriverType.PREPARED_STATEMENT == prepareEngine.getType() ? 
getParameterSets(each) : Collections.emptyList());
         }
         replayCallback.replay();
         ProcessEngine processEngine = new ProcessEngine();
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactory.java
index 1764021cfc3..f65126f2fac 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactory.java
@@ -37,7 +37,7 @@ public final class DatabaseProxyConnectorFactory {
      * @return created instance
      */
     public static DatabaseProxyConnector newInstance(final QueryContext 
queryContext, final ProxyDatabaseConnectionManager databaseConnectionManager, 
final boolean preferPreparedStatement) {
-        String driverType = preferPreparedStatement || 
!queryContext.getParameters().isEmpty() ? JDBCDriverType.PREPARED_STATEMENT : 
JDBCDriverType.STATEMENT;
+        JDBCDriverType driverType = preferPreparedStatement || 
!queryContext.getParameters().isEmpty() ? JDBCDriverType.PREPARED_STATEMENT : 
JDBCDriverType.STATEMENT;
         DatabaseProxyConnector result = new 
StandardDatabaseProxyConnector(driverType, queryContext, 
databaseConnectionManager);
         databaseConnectionManager.add(result);
         return result;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
index 8397be1fb8e..2cd242b8b97 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
@@ -41,6 +41,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.raw.RawSQLExe
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.raw.callback.RawSQLExecutorCallback;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.raw.RawExecutionPrepareEngine;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -85,7 +86,7 @@ import java.util.Optional;
  */
 public final class ProxySQLExecutor {
     
-    private final String type;
+    private final JDBCDriverType type;
     
     private final ProxyDatabaseConnectionManager databaseConnectionManager;
     
@@ -100,7 +101,7 @@ public final class ProxySQLExecutor {
     private final Map<ShardingSphereRule, TransactionHook> transactionHooks = 
OrderedSPILoader.getServices(
             TransactionHook.class, 
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules());
     
-    public ProxySQLExecutor(final String type,
+    public ProxySQLExecutor(final JDBCDriverType type,
                             final ProxyDatabaseConnectionManager 
databaseConnectionManager, final DatabaseProxyConnector databaseProxyConnector, 
final SQLStatementContext sqlStatementContext) {
         this.type = type;
         this.databaseConnectionManager = databaseConnectionManager;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnector.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnector.java
index 6f287b60878..6f9d898d5e9 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnector.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnector.java
@@ -42,6 +42,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.dr
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.stream.JDBCStreamQueryResult;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.update.UpdateResult;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import org.apache.shardingsphere.infra.merge.MergeEngine;
 import org.apache.shardingsphere.infra.merge.result.MergedResult;
@@ -101,7 +102,7 @@ import java.util.stream.Collectors;
  */
 public final class StandardDatabaseProxyConnector implements 
DatabaseProxyConnector {
     
-    private final String driverType;
+    private final JDBCDriverType driverType;
     
     private final QueryContext queryContext;
     
@@ -127,7 +128,7 @@ public final class StandardDatabaseProxyConnector 
implements DatabaseProxyConnec
     
     private MergedResult mergedResult;
     
-    public StandardDatabaseProxyConnector(final String driverType, final 
QueryContext queryContext, final ProxyDatabaseConnectionManager 
databaseConnectionManager) {
+    public StandardDatabaseProxyConnector(final JDBCDriverType driverType, 
final QueryContext queryContext, final ProxyDatabaseConnectionManager 
databaseConnectionManager) {
         this.driverType = driverType;
         this.queryContext = queryContext;
         this.databaseConnectionManager = databaseConnectionManager;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
index 81ddf2a6731..2ba716b4ade 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
@@ -24,6 +24,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupConte
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import org.apache.shardingsphere.infra.executor.sql.process.ProcessEngine;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.session.query.QueryContext;
@@ -42,7 +43,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public final class ProxyJDBCExecutor {
     
-    private final String type;
+    private final JDBCDriverType type;
     
     private final ConnectionSession connectionSession;
     
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
index 22e27056df1..80d03094393 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
@@ -48,13 +48,13 @@ public final class ProxyJDBCExecutorCallbackFactory {
      * @return created instance
      * @throws UnsupportedSQLOperationException unsupported SQL operation 
exception
      */
-    public static ProxyJDBCExecutorCallback newInstance(final String type, 
final DatabaseType protocolType, final ResourceMetaData resourceMetaData, final 
SQLStatement sqlStatement,
+    public static ProxyJDBCExecutorCallback newInstance(final JDBCDriverType 
type, final DatabaseType protocolType, final ResourceMetaData resourceMetaData, 
final SQLStatement sqlStatement,
                                                         final 
DatabaseProxyConnector databaseProxyConnector, final boolean 
isReturnGeneratedKeys, final boolean isExceptionThrown,
                                                         final boolean 
isFetchMetaData) {
-        if (JDBCDriverType.STATEMENT.equals(type)) {
+        if (JDBCDriverType.STATEMENT == type) {
             return new ProxyStatementExecutorCallback(protocolType, 
resourceMetaData, sqlStatement, databaseProxyConnector, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
         }
-        if (JDBCDriverType.PREPARED_STATEMENT.equals(type)) {
+        if (JDBCDriverType.PREPARED_STATEMENT == type) {
             return new ProxyPreparedStatementExecutorCallback(protocolType, 
resourceMetaData, sqlStatement, databaseProxyConnector, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
         }
         throw new UnsupportedSQLOperationException(String.format("Unsupported 
driver type: `%s`", type));
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnectorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnectorTest.java
index fab74e89fbf..e9893a8ac4d 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnectorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseProxyConnectorTest.java
@@ -167,7 +167,7 @@ class StandardDatabaseProxyConnectorTest {
         }
     }
     
-    private DatabaseProxyConnector createDatabaseProxyConnector(final String 
driverType, final QueryContext queryContext) {
+    private DatabaseProxyConnector createDatabaseProxyConnector(final 
JDBCDriverType driverType, final QueryContext queryContext) {
         DatabaseProxyConnector result = new 
StandardDatabaseProxyConnector(driverType, queryContext, 
databaseConnectionManager);
         databaseConnectionManager.add(result);
         return result;

Reply via email to