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 323d6e45edd Rename ExplainStatement.explainableSQLStatement (#35717)
323d6e45edd is described below

commit 323d6e45eddfff6be0100787b537a1963d0252e1
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 15 21:32:16 2025 +0800

    Rename ExplainStatement.explainableSQLStatement (#35717)
    
    * Rename ExplainStatement.explainableSQLStatement
    
    * Rename ExplainStatement.explainableSQLStatement
---
 .../decider/ShardingSQLFederationDecider.java        |  3 ++-
 .../statement/type/dal/ExplainStatementContext.java  |  4 ++--
 .../engine/statement/dal/ExplainStatementBinder.java |  6 +++---
 .../type/dal/ExplainStatementContextTest.java        |  4 ++--
 .../single/decider/SingleSQLFederationDecider.java   |  3 ++-
 .../statement/explain/ExplainStatementConverter.java |  2 +-
 .../sqlfederation/engine/SQLFederationEngine.java    |  2 +-
 .../core/statement/dal/ExplainStatement.java         |  2 +-
 .../statement/dal/impl/ExplainStatementAssert.java   | 20 ++++++++++----------
 9 files changed, 24 insertions(+), 22 deletions(-)

diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
index 295f2ecdd48..e97103f029f 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
@@ -49,7 +49,8 @@ public final class ShardingSQLFederationDecider implements 
SQLFederationDecider<
         } else if (sqlStatementContext instanceof ExplainStatementContext) {
             ExplainStatementContext explainStatementContext = 
(ExplainStatementContext) sqlStatementContext;
             
ShardingSpherePreconditions.checkState(explainStatementContext.getSqlStatementContext()
 instanceof SelectStatementContext,
-                    () -> new 
UnsupportedSQLOperationException(String.format("unsupported Explain %s 
statement in sql federation", 
explainStatementContext.getSqlStatement().getSqlStatement())));
+                    () -> new UnsupportedSQLOperationException(
+                            String.format("unsupported Explain %s statement in 
sql federation", 
explainStatementContext.getSqlStatement().getExplainableSQLStatement())));
             return decide0((SelectStatementContext) 
explainStatementContext.getSqlStatementContext(), database, rule, 
includedDataNodes);
         }
         throw new UnsupportedSQLOperationException(String.format("unsupported 
SQL statement %s in sql federation", sqlStatementContext.getSqlStatement()));
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContext.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContext.java
index 988ac14e61c..8d9ab6c81d8 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContext.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContext.java
@@ -45,13 +45,13 @@ public final class ExplainStatementContext extends 
CommonSQLStatementContext {
                                    final String currentDatabaseName) {
         super(databaseType, sqlStatement);
         tablesContext = new 
TablesContext(extractTablesFromExplain(sqlStatement));
-        sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, 
databaseType, sqlStatement.getSqlStatement(), params, currentDatabaseName);
+        sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, 
databaseType, sqlStatement.getExplainableSQLStatement(), params, 
currentDatabaseName);
     }
     
     private Collection<SimpleTableSegment> extractTablesFromExplain(final 
ExplainStatement sqlStatement) {
         TableExtractor extractor = new TableExtractor();
         // TODO extract table from declare, execute, createMaterializedView, 
refreshMaterializedView
-        
extractor.extractTablesFromSQLStatement(sqlStatement.getSqlStatement());
+        
extractor.extractTablesFromSQLStatement(sqlStatement.getExplainableSQLStatement());
         return extractor.getRewriteTables();
     }
     
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 05cb2da7dc2..a8da12009a4 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
@@ -32,10 +32,10 @@ public final class ExplainStatementBinder implements 
SQLStatementBinder<ExplainS
     
     @Override
     public ExplainStatement bind(final ExplainStatement sqlStatement, final 
SQLStatementBinderContext binderContext) {
-        SQLStatement boundSQLStatement = sqlStatement.getSqlStatement() 
instanceof DMLStatement
+        SQLStatement boundSQLStatement = 
sqlStatement.getExplainableSQLStatement() instanceof DMLStatement
                 ? new DMLStatementBindEngine(binderContext.getMetaData(),
-                        binderContext.getCurrentDatabaseName(), 
binderContext.getHintValueContext(), 
binderContext.getDatabaseType()).bind((DMLStatement) 
sqlStatement.getSqlStatement())
-                : sqlStatement.getSqlStatement();
+                        binderContext.getCurrentDatabaseName(), 
binderContext.getHintValueContext(), 
binderContext.getDatabaseType()).bind((DMLStatement) 
sqlStatement.getExplainableSQLStatement())
+                : sqlStatement.getExplainableSQLStatement();
         return copy(sqlStatement, boundSQLStatement);
     }
     
diff --git 
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContextTest.java
 
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContextTest.java
index a2b7f4e165b..0453e7f9a0f 100644
--- 
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContextTest.java
+++ 
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ExplainStatementContextTest.java
@@ -35,10 +35,10 @@ class ExplainStatementContextTest {
     void assertNewInstance() {
         ExplainStatement explainStatement = mock(ExplainStatement.class);
         SQLStatement sqlStatement = mock(SQLStatement.class);
-        when(explainStatement.getSqlStatement()).thenReturn(sqlStatement);
+        
when(explainStatement.getExplainableSQLStatement()).thenReturn(sqlStatement);
         ExplainStatementContext actual = new 
ExplainStatementContext(mock(ShardingSphereMetaData.class), mock(), 
explainStatement, Collections.emptyList(), "foo_db");
         assertThat(actual.getSqlStatement(), is(explainStatement));
-        assertThat(actual.getSqlStatement().getSqlStatement(), 
is(sqlStatement));
+        assertThat(actual.getSqlStatement().getExplainableSQLStatement(), 
is(sqlStatement));
         assertThat(actual.getTablesContext().getSimpleTables(), 
is(Collections.emptyList()));
     }
 }
diff --git 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
index da0e1bacb65..6cb658e4e54 100644
--- 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
+++ 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
@@ -51,7 +51,8 @@ public final class SingleSQLFederationDecider implements 
SQLFederationDecider<Si
         } else if (sqlStatementContext instanceof ExplainStatementContext) {
             ExplainStatementContext explainStatementContext = 
(ExplainStatementContext) sqlStatementContext;
             
ShardingSpherePreconditions.checkState(explainStatementContext.getSqlStatementContext()
 instanceof SelectStatementContext,
-                    () -> new 
UnsupportedSQLOperationException(String.format("unsupported Explain %s 
statement in sql federation", 
explainStatementContext.getSqlStatement().getSqlStatement())));
+                    () -> new UnsupportedSQLOperationException(
+                            String.format("unsupported Explain %s statement in 
sql federation", 
explainStatementContext.getSqlStatement().getExplainableSQLStatement())));
             return decide0((SelectStatementContext) 
explainStatementContext.getSqlStatementContext(), database, rule, 
includedDataNodes);
         }
         throw new UnsupportedSQLOperationException(String.format("unsupported 
SQL statement %s in sql federation", sqlStatementContext.getSqlStatement()));
diff --git 
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/statement/explain/ExplainStatementConverter.java
 
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/statement/explain/ExplainStatementConverter.java
index 32e6246cdf5..a1dcc675f30 100644
--- 
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/statement/explain/ExplainStatementConverter.java
+++ 
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/statement/explain/ExplainStatementConverter.java
@@ -48,7 +48,7 @@ public final class ExplainStatementConverter implements 
SQLStatementConverter<Ex
     }
     
     private SqlNode convertSQLStatement(final ExplainStatement 
explainStatement) {
-        return 
convertSqlNode(explainStatement.getSqlStatement()).orElseThrow(IllegalStateException::new);
+        return 
convertSqlNode(explainStatement.getExplainableSQLStatement()).orElseThrow(IllegalStateException::new);
     }
     
     private Optional<SqlNode> convertSqlNode(final SQLStatement sqlStatement) {
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
index 2e99deb7468..adec42ed3ae 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java
@@ -156,7 +156,7 @@ public final class SQLFederationEngine implements 
AutoCloseable {
     
     private boolean isSupportedSQLStatementContext(final SQLStatementContext 
sqlStatementContext) {
         if (sqlStatementContext instanceof ExplainStatementContext) {
-            return ((ExplainStatementContext) 
sqlStatementContext).getSqlStatement().getSqlStatement() instanceof 
SelectStatement;
+            return ((ExplainStatementContext) 
sqlStatementContext).getSqlStatement().getExplainableSQLStatement() instanceof 
SelectStatement;
         }
         return sqlStatementContext instanceof SelectStatementContext;
     }
diff --git 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dal/ExplainStatement.java
 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dal/ExplainStatement.java
index 8274439d661..09743104ccc 100644
--- 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dal/ExplainStatement.java
+++ 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dal/ExplainStatement.java
@@ -29,5 +29,5 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatemen
 @Getter
 public final class ExplainStatement extends AbstractSQLStatement implements 
DALStatement {
     
-    private final SQLStatement sqlStatement;
+    private final SQLStatement explainableSQLStatement;
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ExplainStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ExplainStatementAssert.java
index 7107e1b67e6..749318cf37e 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ExplainStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ExplainStatementAssert.java
@@ -41,20 +41,20 @@ public final class ExplainStatementAssert {
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, 
final ExplainStatement actual, final ExplainStatementTestCase expected) {
         if (null != expected.getSelectClause()) {
-            assertNotNull(actual.getSqlStatement(), 
assertContext.getText("Actual statement should exist."));
-            SQLStatementAssert.assertIs(assertContext, 
actual.getSqlStatement(), expected.getSelectClause());
+            assertNotNull(actual.getExplainableSQLStatement(), 
assertContext.getText("Actual statement should exist."));
+            SQLStatementAssert.assertIs(assertContext, 
actual.getExplainableSQLStatement(), expected.getSelectClause());
         } else if (null != expected.getUpdateClause()) {
-            assertNotNull(actual.getSqlStatement(), 
assertContext.getText("Actual statement should exist."));
-            SQLStatementAssert.assertIs(assertContext, 
actual.getSqlStatement(), expected.getUpdateClause());
+            assertNotNull(actual.getExplainableSQLStatement(), 
assertContext.getText("Actual statement should exist."));
+            SQLStatementAssert.assertIs(assertContext, 
actual.getExplainableSQLStatement(), expected.getUpdateClause());
         } else if (null != expected.getInsertClause()) {
-            assertNotNull(actual.getSqlStatement(), 
assertContext.getText("Actual statement should exist."));
-            SQLStatementAssert.assertIs(assertContext, 
actual.getSqlStatement(), expected.getInsertClause());
+            assertNotNull(actual.getExplainableSQLStatement(), 
assertContext.getText("Actual statement should exist."));
+            SQLStatementAssert.assertIs(assertContext, 
actual.getExplainableSQLStatement(), expected.getInsertClause());
         } else if (null != expected.getDeleteClause()) {
-            assertNotNull(actual.getSqlStatement(), 
assertContext.getText("Actual statement should exist."));
-            SQLStatementAssert.assertIs(assertContext, 
actual.getSqlStatement(), expected.getDeleteClause());
+            assertNotNull(actual.getExplainableSQLStatement(), 
assertContext.getText("Actual statement should exist."));
+            SQLStatementAssert.assertIs(assertContext, 
actual.getExplainableSQLStatement(), expected.getDeleteClause());
         } else if (null != expected.getCreateTableAsSelectClause()) {
-            assertNotNull(actual.getSqlStatement(), 
assertContext.getText("Actual statement should exist."));
-            SQLStatementAssert.assertIs(assertContext, 
actual.getSqlStatement(), expected.getCreateTableAsSelectClause());
+            assertNotNull(actual.getExplainableSQLStatement(), 
assertContext.getText("Actual statement should exist."));
+            SQLStatementAssert.assertIs(assertContext, 
actual.getExplainableSQLStatement(), expected.getCreateTableAsSelectClause());
         }
     }
 }

Reply via email to