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 4f8556576d4 Refactor ProxyBackendHandlerFactory (#36905)
4f8556576d4 is described below

commit 4f8556576d43d3bd563ca9344ccc21c139657602
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Oct 21 12:15:54 2025 +0800

    Refactor ProxyBackendHandlerFactory (#36905)
---
 .../proxy/backend/handler/ProxyBackendHandlerFactory.java        | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

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 18c81f2541c..60501ae77ec 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
@@ -143,10 +143,9 @@ public final class ProxyBackendHandlerFactory {
         String databaseName = 
sqlStatementContext.getTablesContext().getDatabaseName().isPresent()
                 ? 
sqlStatementContext.getTablesContext().getDatabaseName().get()
                 : connectionSession.getUsedDatabaseName();
-        if (null == databaseName) {
-            return 
DatabaseProxyBackendHandlerFactory.newInstance(queryContext, connectionSession, 
preferPreparedStatement);
+        if (null != databaseName) {
+            checkSQLExecution(queryContext, 
connectionSession.getConnectionContext().getGrantee(), databaseName);
         }
-        checkSQLExecution(queryContext, 
connectionSession.getConnectionContext().getGrantee(), databaseName);
         return DatabaseProxyBackendHandlerFactory.newInstance(queryContext, 
connectionSession, preferPreparedStatement);
     }
     
@@ -199,8 +198,6 @@ public final class ProxyBackendHandlerFactory {
     
     private static void checkSQLExecution(final QueryContext queryContext, 
final Grantee grantee, final String databaseName) {
         ShardingSphereDatabase database = 
queryContext.getMetaData().getDatabase(databaseName);
-        for (SQLExecutionChecker each : 
ShardingSphereServiceLoader.getServiceInstances(SQLExecutionChecker.class)) {
-            each.check(grantee, queryContext, database);
-        }
+        
ShardingSphereServiceLoader.getServiceInstances(SQLExecutionChecker.class).forEach(each
 -> each.check(grantee, queryContext, database));
     }
 }

Reply via email to