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 f4e04850cef Refactor ExplainStatementBinder (#35669)
f4e04850cef is described below

commit f4e04850cef8540a533b31eae830a379c4e9331f
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jun 11 12:06:50 2025 +0800

    Refactor ExplainStatementBinder (#35669)
---
 .../binder/engine/statement/dal/ExplainStatementBinder.java | 13 ++-----------
 .../infra/binder/engine/type/DALStatementBindEngine.java    |  2 +-
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
index 0038f1d2859..10c105a501e 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/dal/ExplainStatementBinder.java
@@ -17,13 +17,10 @@
 
 package org.apache.shardingsphere.infra.binder.engine.statement.dal;
 
-import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.infra.binder.engine.statement.SQLStatementBinder;
 import 
org.apache.shardingsphere.infra.binder.engine.statement.SQLStatementBinderContext;
 import 
org.apache.shardingsphere.infra.binder.engine.statement.SQLStatementCopyUtils;
 import 
org.apache.shardingsphere.infra.binder.engine.type.DMLStatementBindEngine;
-import org.apache.shardingsphere.infra.hint.HintValueContext;
-import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ExplainStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DMLStatement;
@@ -31,21 +28,15 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DMLStat
 /**
  * Explain statement binder.
  */
-@RequiredArgsConstructor
 public final class ExplainStatementBinder implements 
SQLStatementBinder<ExplainStatement> {
     
-    private final ShardingSphereMetaData metaData;
-    
-    private final String currentDatabaseName;
-    
-    private final HintValueContext hintValueContext;
-    
     @Override
     public ExplainStatement bind(final ExplainStatement sqlStatement, final 
SQLStatementBinderContext binderContext) {
         ExplainStatement result = copy(sqlStatement);
         SQLStatement explainSQLStatement = sqlStatement.getSqlStatement();
         SQLStatement boundSQLStatement = explainSQLStatement instanceof 
DMLStatement
-                ? new DMLStatementBindEngine(metaData, currentDatabaseName, 
hintValueContext, binderContext.getDatabaseType()).bind((DMLStatement) 
explainSQLStatement)
+                ? new DMLStatementBindEngine(binderContext.getMetaData(),
+                        binderContext.getCurrentDatabaseName(), 
binderContext.getHintValueContext(), 
binderContext.getDatabaseType()).bind((DMLStatement) explainSQLStatement)
                 : explainSQLStatement;
         result.setSqlStatement(boundSQLStatement);
         return result;
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/type/DALStatementBindEngine.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/type/DALStatementBindEngine.java
index e654342af2c..9b5ff93c5e2 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/type/DALStatementBindEngine.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/type/DALStatementBindEngine.java
@@ -69,7 +69,7 @@ public final class DALStatementBindEngine {
             return new ShowIndexStatementBinder().bind((ShowIndexStatement) 
statement, binderContext);
         }
         if (statement instanceof ExplainStatement) {
-            return new ExplainStatementBinder(metaData, currentDatabaseName, 
hintValueContext).bind((ExplainStatement) statement, binderContext);
+            return new ExplainStatementBinder().bind((ExplainStatement) 
statement, binderContext);
         }
         return statement;
     }

Reply via email to