This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 a713da81072 Add explain select and delete converter sql test (#28169)
a713da81072 is described below
commit a713da8107218bfe4656dbdad544d6e7f2eeb392
Author: niu niu <[email protected]>
AuthorDate: Sun Aug 20 07:29:02 2023 +0800
Add explain select and delete converter sql test (#28169)
* Rename argument
* Add explain select and delete converter sql test
---
.../explain/ExplainStatementConverter.java | 8 ++++----
.../src/test/resources/converter/explain.xml | 23 ++++++++++++++++++++++
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/explain/ExplainStatementConverter.java
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/explain/ExplainStatementConverter.java
index 1a71b866298..e5401a53c7a 100644
---
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/explain/ExplainStatementConverter.java
+++
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/explain/ExplainStatementConverter.java
@@ -36,13 +36,13 @@ import
org.apache.shardingsphere.sqlfederation.compiler.converter.statement.sele
public final class ExplainStatementConverter implements
SQLStatementConverter<ExplainStatement, SqlNode> {
@Override
- public SqlNode convert(final ExplainStatement deleteStatement) {
- return new SqlExplain(SqlParserPos.ZERO,
convertSQLStatement(deleteStatement),
SqlExplainLevel.ALL_ATTRIBUTES.symbol(SqlParserPos.ZERO),
+ public SqlNode convert(final ExplainStatement explainStatement) {
+ return new SqlExplain(SqlParserPos.ZERO,
convertSQLStatement(explainStatement),
SqlExplainLevel.ALL_ATTRIBUTES.symbol(SqlParserPos.ZERO),
SqlExplain.Depth.TYPE.symbol(SqlParserPos.ZERO),
SqlExplainFormat.TEXT.symbol(SqlParserPos.ZERO), 0);
}
- private SqlNode convertSQLStatement(final ExplainStatement
deleteStatement) {
- return
deleteStatement.getStatement().map(this::convertSqlNode).orElseThrow(IllegalStateException::new);
+ private SqlNode convertSQLStatement(final ExplainStatement
explainStatement) {
+ return
explainStatement.getStatement().map(this::convertSqlNode).orElseThrow(IllegalStateException::new);
}
private SqlNode convertSqlNode(final SQLStatement sqlStatement) {
diff --git a/test/it/optimizer/src/test/resources/converter/explain.xml
b/test/it/optimizer/src/test/resources/converter/explain.xml
index a8dad2f813d..4264bfe9975 100644
--- a/test/it/optimizer/src/test/resources/converter/explain.xml
+++ b/test/it/optimizer/src/test/resources/converter/explain.xml
@@ -29,4 +29,27 @@
<test-cases sql-case-id="explain_for_select_with_analyze"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
<test-cases sql-case-id="explain_for_delete_without_sharding_value"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "status" = 'init'" db-types="Oracle"
sql-case-types="LITERAL" />
<test-cases sql-case-id="explain_for_delete_without_sharding_value"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "status" = ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_with_analyze" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM `t_order` WHERE `order_id`
> 8" db-types="MySQL" sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_with_analyze" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM `t_order` WHERE `order_id`
> ?" db-types="MySQL" sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_table" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR (SELECT * FROM `t_order` ORDER BY
`order_id` LIMIT 1 OFFSET 2)" db-types="MySQL" sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_table" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR (SELECT * FROM `t_order` ORDER BY
`order_id` LIMIT ? OFFSET ?)" db-types="MySQL" sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_performance" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT 1" db-types="openGauss"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_performance" expected-sql="EXPLAIN PLAN
INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT ?" db-types="openGauss"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_alias_as_keyword"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT
"length"."item_id" "password" FROM
"t_order_item" "length" WHERE
"length"."item_id" = 1" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_alias_as_keyword"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT
"length"."item_id" "password" FROM
"t_order_item" "length" WHERE
"length"."item_id" = ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_with_binding_tables"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT
"i".* FROM "t_order" "o" INNER JOIN
"t_order_item" "i" USING ("order_id") WHERE
"o"."order_id" = 10" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_with_binding_tables"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT
"i".* FROM "t_order" "o" INNER JOIN
"t_order_item" "i" USING ("order_id") WHERE
"o"."order_id" = ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_with_analyze"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > 8" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_with_analyze"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_with_statement"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > 8" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_with_statement"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_with_into"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > 8" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_with_into"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_select_with_into_dblink"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > 8" db-types="Oracle"
sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_select_with_into_dblink"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR SELECT * FROM
"t_order" WHERE "order_id" > ?" db-types="Oracle"
sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_with_analyze_delete"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order"" db-types="Oracle" />
+ <test-cases sql-case-id="explain_for_delete_condition"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "t_order"."x" = 1"
db-types="Oracle" sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_delete_condition"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "t_order"."x" = ?"
db-types="Oracle" sql-case-types="PLACEHOLDER" />
+ <test-cases sql-case-id="explain_for_delete_statement"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "t_order"."x" = 1"
db-types="Oracle" sql-case-types="LITERAL" />
+ <test-cases sql-case-id="explain_for_delete_statement"
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM
"t_order" WHERE "t_order"."x" = ?"
db-types="Oracle" sql-case-types="PLACEHOLDER" />
</sql-node-converter-test-cases>