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 1efaa7e2da4 Refactor DriverExecutorFacade (#31642)
1efaa7e2da4 is described below
commit 1efaa7e2da457e7cbd87b0f983d7b7c80375cf2e
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 9 18:13:44 2024 +0800
Refactor DriverExecutorFacade (#31642)
---
.../driver/executor/engine/DriverExecuteExecutor.java | 2 --
.../driver/executor/engine/DriverExecuteQueryExecutor.java | 8 ++------
.../driver/executor/engine/DriverExecuteUpdateExecutor.java | 2 --
.../driver/executor/engine/DriverExecutorFacade.java | 13 +++++++------
4 files changed, 9 insertions(+), 16 deletions(-)
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteExecutor.java
index a9d827c205e..3d666aea4a9 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteExecutor.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.exception.dialect.SQLExceptionTransformEngine;
-import org.apache.shardingsphere.infra.executor.audit.SQLAuditEngine;
import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
import
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
import
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupReportContext;
@@ -112,7 +111,6 @@ public final class DriverExecuteExecutor {
@SuppressWarnings("rawtypes")
public boolean execute(final ShardingSphereDatabase database, final
QueryContext queryContext, final
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
final StatementExecuteCallback executeCallback,
final StatementAddCallback addCallback, final StatementReplayCallback
replayCallback) throws SQLException {
- SQLAuditEngine.audit(queryContext, metaData.getGlobalRuleMetaData(),
database);
Optional<String> trafficInstanceId =
connection.getTrafficInstanceId(metaData.getGlobalRuleMetaData().getSingleRule(TrafficRule.class),
queryContext);
if (trafficInstanceId.isPresent()) {
executeType = ExecuteType.TRAFFIC;
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteQueryExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteQueryExecutor.java
index d806a77b27f..c0d1bf9e555 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteQueryExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteQueryExecutor.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.driver.executor.callback.execute.ExecuteQueryCa
import
org.apache.shardingsphere.driver.executor.callback.replay.StatementReplayCallback;
import
org.apache.shardingsphere.driver.executor.engine.pushdown.DriverPushDownExecuteQueryExecutor;
import
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
-import org.apache.shardingsphere.infra.executor.audit.SQLAuditEngine;
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.engine.raw.RawExecutor;
@@ -30,7 +29,6 @@ import
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecuti
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.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.sqlfederation.engine.SQLFederationEngine;
import
org.apache.shardingsphere.sqlfederation.executor.context.SQLFederationContext;
@@ -87,14 +85,12 @@ public final class DriverExecuteQueryExecutor {
public ResultSet executeQuery(final ShardingSphereDatabase database, final
QueryContext queryContext,
final
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
final Statement statement, final Map<String, Integer> columnLabelAndIndexMap,
final StatementAddCallback addCallback,
final StatementReplayCallback replayCallback) throws SQLException {
- RuleMetaData globalRuleMetaData = metaData.getGlobalRuleMetaData();
- SQLAuditEngine.audit(queryContext, globalRuleMetaData, database);
- Optional<String> trafficInstanceId =
connection.getTrafficInstanceId(globalRuleMetaData.getSingleRule(TrafficRule.class),
queryContext);
+ Optional<String> trafficInstanceId =
connection.getTrafficInstanceId(metaData.getGlobalRuleMetaData().getSingleRule(TrafficRule.class),
queryContext);
if (trafficInstanceId.isPresent()) {
return trafficExecutor.execute(
connection.getProcessId(), database.getName(),
trafficInstanceId.get(), queryContext, prepareEngine,
getTrafficExecuteQueryCallback(prepareEngine.getType()));
}
- if (sqlFederationEngine.decide(queryContext.getSqlStatementContext(),
queryContext.getParameters(), database, globalRuleMetaData)) {
+ if (sqlFederationEngine.decide(queryContext.getSqlStatementContext(),
queryContext.getParameters(), database, metaData.getGlobalRuleMetaData())) {
return sqlFederationEngine.executeQuery(prepareEngine,
new
ExecuteQueryCallbackFactory(prepareEngine.getType()).newInstance(database,
queryContext), new SQLFederationContext(false, queryContext, metaData,
connection.getProcessId()));
}
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteUpdateExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteUpdateExecutor.java
index f1519998a7d..0ab5cbf1bfe 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteUpdateExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecuteUpdateExecutor.java
@@ -28,7 +28,6 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.exception.dialect.SQLExceptionTransformEngine;
-import org.apache.shardingsphere.infra.executor.audit.SQLAuditEngine;
import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
import
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
import
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupReportContext;
@@ -106,7 +105,6 @@ public final class DriverExecuteUpdateExecutor {
@SuppressWarnings("rawtypes")
public int executeUpdate(final ShardingSphereDatabase database, final
QueryContext queryContext, final
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
final StatementExecuteUpdateCallback
updateCallback, final StatementAddCallback addCallback, final
StatementReplayCallback replayCallback) throws SQLException {
- SQLAuditEngine.audit(queryContext, metaData.getGlobalRuleMetaData(),
database);
Optional<String> trafficInstanceId =
connection.getTrafficInstanceId(metaData.getGlobalRuleMetaData().getSingleRule(TrafficRule.class),
queryContext);
if (trafficInstanceId.isPresent()) {
return trafficExecutor.execute(connection.getProcessId(),
database.getName(), trafficInstanceId.get(), queryContext, prepareEngine,
updateCallback::executeUpdate);
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecutorFacade.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecutorFacade.java
index 13f17d82c00..99bb49f915c 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecutorFacade.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/DriverExecutorFacade.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConne
import org.apache.shardingsphere.driver.jdbc.core.statement.StatementManager;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
+import org.apache.shardingsphere.infra.executor.audit.SQLAuditEngine;
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.engine.raw.RawExecutor;
@@ -97,8 +98,8 @@ public final class DriverExecutorFacade implements
AutoCloseable {
@SuppressWarnings("rawtypes")
public ResultSet executeQuery(final ShardingSphereDatabase database, final
QueryContext queryContext, final Statement statement, final Map<String,
Integer> columnLabelAndIndexMap,
final StatementAddCallback addCallback,
final StatementReplayCallback replayCallback) throws SQLException {
- DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection>
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
- return queryExecutor.executeQuery(database, queryContext,
prepareEngine, statement, columnLabelAndIndexMap, addCallback, replayCallback);
+ SQLAuditEngine.audit(queryContext,
connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
database);
+ return queryExecutor.executeQuery(database, queryContext,
createDriverExecutionPrepareEngine(database, jdbcDriverType), statement,
columnLabelAndIndexMap, addCallback, replayCallback);
}
/**
@@ -115,8 +116,8 @@ public final class DriverExecutorFacade implements
AutoCloseable {
@SuppressWarnings("rawtypes")
public int executeUpdate(final ShardingSphereDatabase database, final
QueryContext queryContext,
final StatementExecuteUpdateCallback
executeUpdateCallback, final StatementAddCallback addCallback, final
StatementReplayCallback replayCallback) throws SQLException {
- DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection>
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
- return updateExecutor.executeUpdate(database, queryContext,
prepareEngine, executeUpdateCallback, addCallback, replayCallback);
+ SQLAuditEngine.audit(queryContext,
connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
database);
+ return updateExecutor.executeUpdate(database, queryContext,
createDriverExecutionPrepareEngine(database, jdbcDriverType),
executeUpdateCallback, addCallback, replayCallback);
}
/**
@@ -133,8 +134,8 @@ public final class DriverExecutorFacade implements
AutoCloseable {
@SuppressWarnings("rawtypes")
public boolean execute(final ShardingSphereDatabase database, final
QueryContext queryContext,
final StatementExecuteCallback executeCallback,
final StatementAddCallback addCallback, final StatementReplayCallback
replayCallback) throws SQLException {
- DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection>
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
- return executeExecutor.execute(database, queryContext, prepareEngine,
executeCallback, addCallback, replayCallback);
+ SQLAuditEngine.audit(queryContext,
connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
database);
+ return executeExecutor.execute(database, queryContext,
createDriverExecutionPrepareEngine(database, jdbcDriverType), executeCallback,
addCallback, replayCallback);
}
private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection>
createDriverExecutionPrepareEngine(final ShardingSphereDatabase database, final
String jdbcDriverType) {