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;