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

Reply via email to