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());
}
}
}