This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 de529b688e2 Refactor SQLAuditEngine (#31537)
de529b688e2 is described below
commit de529b688e23a68ca5d85e5adbf615c7ca5d1591
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 2 22:32:46 2024 +0800
Refactor SQLAuditEngine (#31537)
* Refactor SQLAuditEngine
* Refactor SQLAuditEngine
---
.../sharding/spi/ShardingAuditAlgorithm.java | 6 ++----
...MLShardingConditionsShardingAuditAlgorithm.java | 10 ++++------
.../sharding/auditor/ShardingSQLAuditor.java | 5 ++---
...ardingConditionsShardingAuditAlgorithmTest.java | 5 ++---
.../sharding/auditor/ShardingSQLAuditorTest.java | 22 +++++++++-------------
.../infra/executor/audit/SQLAuditEngine.java | 6 ++----
.../infra/executor/audit/SQLAuditor.java | 4 +---
.../driver/executor/DriverExecutor.java | 2 +-
.../statement/ShardingSpherePreparedStatement.java | 2 +-
.../handler/ProxyBackendHandlerFactory.java | 2 +-
.../text/query/MySQLMultiStatementsHandler.java | 2 +-
.../PostgreSQLBatchedStatementsExecutor.java | 2 +-
.../fixture/ITShardingAuditAlgorithmFixture.java | 4 +---
13 files changed, 28 insertions(+), 44 deletions(-)
diff --git
a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
index 1562b7a8c12..44d6bd59064 100644
---
a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
+++
b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
@@ -17,11 +17,10 @@
package org.apache.shardingsphere.sharding.spi;
+import org.apache.shardingsphere.infra.algorithm.core.ShardingSphereAlgorithm;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.algorithm.core.ShardingSphereAlgorithm;
import java.util.List;
@@ -35,9 +34,8 @@ public interface ShardingAuditAlgorithm extends
ShardingSphereAlgorithm {
*
* @param sqlStatementContext SQL statement context
* @param params SQL parameters
- * @param grantee grantee
* @param globalRuleMetaData global rule meta data
* @param database database
*/
- void check(SQLStatementContext sqlStatementContext, List<Object> params,
Grantee grantee, RuleMetaData globalRuleMetaData, ShardingSphereDatabase
database);
+ void check(SQLStatementContext sqlStatementContext, List<Object> params,
RuleMetaData globalRuleMetaData, ShardingSphereDatabase database);
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
index c29475bf104..2d34f8ef1e6 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
@@ -18,10 +18,9 @@
package org.apache.shardingsphere.sharding.algorithm.audit;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
+import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
-import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import
org.apache.shardingsphere.sharding.exception.audit.DMLWithoutShardingKeyException;
import
org.apache.shardingsphere.sharding.route.engine.condition.engine.ShardingConditionEngine;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -36,13 +35,12 @@ import java.util.List;
public final class DMLShardingConditionsShardingAuditAlgorithm implements
ShardingAuditAlgorithm {
@Override
- public void check(final SQLStatementContext sqlStatementContext, final
List<Object> params,
- final Grantee grantee, final RuleMetaData
globalRuleMetaData, final ShardingSphereDatabase database) {
+ public void check(final SQLStatementContext sqlStatementContext, final
List<Object> params, final RuleMetaData globalRuleMetaData, final
ShardingSphereDatabase database) {
if (sqlStatementContext.getSqlStatement() instanceof DMLStatement) {
ShardingRule rule =
database.getRuleMetaData().getSingleRule(ShardingRule.class);
if
(sqlStatementContext.getTablesContext().getTableNames().stream().anyMatch(rule::isShardingTable))
{
- ShardingSpherePreconditions.checkNotEmpty(new
ShardingConditionEngine(globalRuleMetaData, database,
rule).createShardingConditions(sqlStatementContext, params),
- DMLWithoutShardingKeyException::new);
+ ShardingSpherePreconditions.checkNotEmpty(
+ new ShardingConditionEngine(globalRuleMetaData,
database, rule).createShardingConditions(sqlStatementContext, params),
DMLWithoutShardingKeyException::new);
}
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
index 2ea20303b2a..abb66484ae1 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
import org.apache.shardingsphere.infra.executor.audit.SQLAuditor;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
import org.apache.shardingsphere.sharding.constant.ShardingOrder;
@@ -36,7 +35,7 @@ import java.util.Collection;
public final class ShardingSQLAuditor implements SQLAuditor<ShardingRule> {
@Override
- public void audit(final QueryContext queryContext, final Grantee grantee,
final RuleMetaData globalRuleMetaData, final ShardingSphereDatabase database,
final ShardingRule rule) {
+ public void audit(final QueryContext queryContext, final RuleMetaData
globalRuleMetaData, final ShardingSphereDatabase database, final ShardingRule
rule) {
Collection<ShardingAuditStrategyConfiguration> auditStrategies =
getShardingAuditStrategies(queryContext.getSqlStatementContext(), rule);
if (auditStrategies.isEmpty()) {
return;
@@ -45,7 +44,7 @@ public final class ShardingSQLAuditor implements
SQLAuditor<ShardingRule> {
for (ShardingAuditStrategyConfiguration auditStrategy :
auditStrategies) {
for (String auditorName : auditStrategy.getAuditorNames()) {
if (!auditStrategy.isAllowHintDisable() ||
!disableAuditNames.contains(auditorName.toLowerCase())) {
-
rule.getAuditors().get(auditorName).check(queryContext.getSqlStatementContext(),
queryContext.getParameters(), grantee, globalRuleMetaData, database);
+
rule.getAuditors().get(auditorName).check(queryContext.getSqlStatementContext(),
queryContext.getParameters(), globalRuleMetaData, database);
}
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithmTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithmTest.java
index e3e0ff51964..8c091b9ccfd 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithmTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithmTest.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.sharding.algorithm.audit;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.sharding.exception.audit.DMLWithoutShardingKeyException;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -61,7 +60,7 @@ class DMLShardingConditionsShardingAuditAlgorithmTest {
@Test
void assertNotDMLStatementCheck() {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(DDLStatement.class));
- shardingAuditAlgorithm.check(sqlStatementContext,
Collections.emptyList(), mock(Grantee.class), mock(RuleMetaData.class),
database);
+ shardingAuditAlgorithm.check(sqlStatementContext,
Collections.emptyList(), mock(RuleMetaData.class), database);
verify(database, times(0)).getRuleMetaData();
}
@@ -70,6 +69,6 @@ class DMLShardingConditionsShardingAuditAlgorithmTest {
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(DMLStatement.class));
when(database.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singletonList(rule)));
when(rule.isShardingTable("t_order")).thenReturn(true);
- assertThrows(DMLWithoutShardingKeyException.class, () ->
shardingAuditAlgorithm.check(sqlStatementContext, Collections.emptyList(),
mock(Grantee.class), mock(RuleMetaData.class), database));
+ assertThrows(DMLWithoutShardingKeyException.class, () ->
shardingAuditAlgorithm.check(sqlStatementContext, Collections.emptyList(),
mock(RuleMetaData.class), database));
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
index f3b268e7a2b..d6644a76288 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
@@ -18,13 +18,12 @@
package org.apache.shardingsphere.sharding.auditor;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
-import
org.apache.shardingsphere.sharding.exception.audit.DMLWithoutShardingKeyException;
import org.apache.shardingsphere.infra.hint.HintValueContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.exception.audit.DMLWithoutShardingKeyException;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.ShardingTable;
import org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm;
@@ -58,9 +57,6 @@ class ShardingSQLAuditorTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private CommonSQLStatementContext sqlStatementContext;
- @Mock
- private Grantee grantee;
-
@Mock
private ShardingAuditStrategyConfiguration auditStrategy;
@@ -82,26 +78,26 @@ class ShardingSQLAuditorTest {
@Test
void assertCheckSuccess() {
RuleMetaData globalRuleMetaData = mock(RuleMetaData.class);
- new ShardingSQLAuditor().audit(new QueryContext(sqlStatementContext,
"", Collections.emptyList(), hintValueContext), grantee, globalRuleMetaData,
databases.get("foo_db"), rule);
- verify(rule.getAuditors().get("auditor_1")).check(sqlStatementContext,
Collections.emptyList(), grantee, globalRuleMetaData, databases.get("foo_db"));
+ new ShardingSQLAuditor().audit(new QueryContext(sqlStatementContext,
"", Collections.emptyList(), hintValueContext), globalRuleMetaData,
databases.get("foo_db"), rule);
+ verify(rule.getAuditors().get("auditor_1")).check(sqlStatementContext,
Collections.emptyList(), globalRuleMetaData, databases.get("foo_db"));
}
@Test
void assertCheckSuccessByDisableAuditNames() {
when(auditStrategy.isAllowHintDisable()).thenReturn(true);
RuleMetaData globalRuleMetaData = mock(RuleMetaData.class);
- new ShardingSQLAuditor().audit(new QueryContext(sqlStatementContext,
"", Collections.emptyList(), hintValueContext), grantee, globalRuleMetaData,
databases.get("foo_db"), rule);
- verify(rule.getAuditors().get("auditor_1"),
times(0)).check(sqlStatementContext, Collections.emptyList(), grantee,
globalRuleMetaData, databases.get("foo_db"));
+ new ShardingSQLAuditor().audit(new QueryContext(sqlStatementContext,
"", Collections.emptyList(), hintValueContext), globalRuleMetaData,
databases.get("foo_db"), rule);
+ verify(rule.getAuditors().get("auditor_1"),
times(0)).check(sqlStatementContext, Collections.emptyList(),
globalRuleMetaData, databases.get("foo_db"));
}
@Test
void assertCheckFailed() {
ShardingAuditAlgorithm auditAlgorithm =
rule.getAuditors().get("auditor_1");
RuleMetaData globalRuleMetaData = mock(RuleMetaData.class);
- doThrow(new
DMLWithoutShardingKeyException()).when(auditAlgorithm).check(sqlStatementContext,
Collections.emptyList(), grantee, globalRuleMetaData, databases.get("foo_db"));
+ doThrow(new
DMLWithoutShardingKeyException()).when(auditAlgorithm).check(sqlStatementContext,
Collections.emptyList(), globalRuleMetaData, databases.get("foo_db"));
DMLWithoutShardingKeyException ex =
assertThrows(DMLWithoutShardingKeyException.class, () -> new
ShardingSQLAuditor().audit(
- new QueryContext(sqlStatementContext, "",
Collections.emptyList(), hintValueContext), grantee, globalRuleMetaData,
databases.get("foo_db"), rule));
+ new QueryContext(sqlStatementContext, "",
Collections.emptyList(), hintValueContext), globalRuleMetaData,
databases.get("foo_db"), rule));
assertThat(ex.getMessage(), is("Not allow DML operation without
sharding conditions."));
- verify(rule.getAuditors().get("auditor_1")).check(sqlStatementContext,
Collections.emptyList(), grantee, globalRuleMetaData, databases.get("foo_db"));
+ verify(rule.getAuditors().get("auditor_1")).check(sqlStatementContext,
Collections.emptyList(), globalRuleMetaData, databases.get("foo_db"));
}
}
diff --git
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
index 388b51478ff..54603d7a711 100644
---
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
+++
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
@@ -21,7 +21,6 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
@@ -42,16 +41,15 @@ public final class SQLAuditEngine {
* @param queryContext query context
* @param globalRuleMetaData global rule meta data
* @param database database
- * @param grantee grantee
*/
@SuppressWarnings({"rawtypes", "unchecked"})
- public static void audit(final QueryContext queryContext, final
RuleMetaData globalRuleMetaData, final ShardingSphereDatabase database, final
Grantee grantee) {
+ public static void audit(final QueryContext queryContext, final
RuleMetaData globalRuleMetaData, final ShardingSphereDatabase database) {
Collection<ShardingSphereRule> rules = new
LinkedList<>(globalRuleMetaData.getRules());
if (null != database) {
rules.addAll(database.getRuleMetaData().getRules());
}
for (Entry<ShardingSphereRule, SQLAuditor> entry :
OrderedSPILoader.getServices(SQLAuditor.class, rules).entrySet()) {
- entry.getValue().audit(queryContext, grantee, globalRuleMetaData,
database, entry.getKey());
+ entry.getValue().audit(queryContext, globalRuleMetaData, database,
entry.getKey());
}
}
}
diff --git
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
index d9c1605565a..02a06845c26 100644
---
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
+++
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.executor.audit;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
@@ -37,10 +36,9 @@ public interface SQLAuditor<T extends ShardingSphereRule>
extends OrderedSPI<T>
* Audit SQL.
*
* @param queryContext query context
- * @param grantee grantee
* @param globalRuleMetaData global rule meta data
* @param database current database
* @param rule rule
*/
- void audit(QueryContext queryContext, Grantee grantee, RuleMetaData
globalRuleMetaData, ShardingSphereDatabase database, T rule);
+ void audit(QueryContext queryContext, RuleMetaData globalRuleMetaData,
ShardingSphereDatabase database, T rule);
}
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
index 7d9a6c2fd71..89c3278441a 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
@@ -219,7 +219,7 @@ public final class DriverExecutor implements AutoCloseable {
private ExecutionContext createExecutionContext(final
ShardingSphereDatabase database, final QueryContext queryContext) throws
SQLException {
clearStatements();
RuleMetaData globalRuleMetaData = metaData.getGlobalRuleMetaData();
- SQLAuditEngine.audit(queryContext, globalRuleMetaData, database, null);
+ SQLAuditEngine.audit(queryContext, globalRuleMetaData, database);
return kernelProcessor.generateExecutionContext(queryContext,
database, globalRuleMetaData, metaData.getProps(),
connection.getDatabaseConnectionManager().getConnectionContext());
}
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 7fa3aea8e89..949da00bd0f 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -350,7 +350,7 @@ public final class ShardingSpherePreparedStatement extends
AbstractPreparedState
private ExecutionContext createExecutionContext(final QueryContext
queryContext) {
RuleMetaData globalRuleMetaData = metaData.getGlobalRuleMetaData();
ShardingSphereDatabase currentDatabase =
metaData.getDatabase(databaseName);
- SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase, null);
+ SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase);
ExecutionContext result = kernelProcessor.generateExecutionContext(
queryContext, currentDatabase, globalRuleMetaData,
metaData.getProps(),
connection.getDatabaseConnectionManager().getConnectionContext());
findGeneratedKey().ifPresent(optional ->
generatedValues.addAll(optional.getGeneratedValues()));
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
index 12e6c6e42ec..49451a31807 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
@@ -147,7 +147,7 @@ public final class ProxyBackendHandlerFactory {
ShardingSphereDatabase database =
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(databaseName);
ShardingSpherePreconditions.checkState(new
AuthorityChecker(authorityRule,
connectionSession.getGrantee()).isAuthorized(databaseName),
() -> new UnknownDatabaseException(databaseName));
- SQLAuditEngine.audit(queryContext,
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
database, connectionSession.getGrantee());
+ SQLAuditEngine.audit(queryContext,
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
database);
backendHandler =
DatabaseAdminBackendHandlerFactory.newInstance(databaseType,
sqlStatementContext, connectionSession);
return backendHandler.orElseGet(() ->
DatabaseBackendHandlerFactory.newInstance(queryContext, connectionSession,
preferPreparedStatement));
}
diff --git
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
index 9d9e874fc9c..152adbafb4b 100644
---
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
+++
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
@@ -167,7 +167,7 @@ public final class MySQLMultiStatementsHandler implements
ProxyBackendHandler {
private ExecutionContext createExecutionContext(final QueryContext
queryContext) {
RuleMetaData globalRuleMetaData =
metaDataContexts.getMetaData().getGlobalRuleMetaData();
ShardingSphereDatabase currentDatabase =
metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName());
- SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase, null);
+ SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase);
return kernelProcessor.generateExecutionContext(queryContext,
currentDatabase, globalRuleMetaData, metaDataContexts.getMetaData().getProps(),
connectionSession.getConnectionContext());
}
diff --git
a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
index a4f0ba848bb..e93aeb006a3 100644
---
a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
+++
b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
@@ -130,7 +130,7 @@ public final class PostgreSQLBatchedStatementsExecutor {
private ExecutionContext createExecutionContext(final QueryContext
queryContext) {
RuleMetaData globalRuleMetaData =
metaDataContexts.getMetaData().getGlobalRuleMetaData();
ShardingSphereDatabase currentDatabase =
metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName());
- SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase, null);
+ SQLAuditEngine.audit(queryContext, globalRuleMetaData,
currentDatabase);
return kernelProcessor.generateExecutionContext(queryContext,
currentDatabase, globalRuleMetaData, metaDataContexts.getMetaData().getProps(),
connectionSession.getConnectionContext());
}
diff --git
a/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
index 1ccc92c160c..077c9a32ac7 100644
---
a/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
+++
b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.test.e2e.fixture;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm;
import java.util.List;
@@ -28,8 +27,7 @@ import java.util.List;
public final class ITShardingAuditAlgorithmFixture implements
ShardingAuditAlgorithm {
@Override
- public void check(final SQLStatementContext sqlStatementContext, final
List<Object> params,
- final Grantee grantee, final RuleMetaData
globalRuleMetaData, final ShardingSphereDatabase database) {
+ public void check(final SQLStatementContext sqlStatementContext, final
List<Object> params, final RuleMetaData globalRuleMetaData, final
ShardingSphereDatabase database) {
}
@Override