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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > ?" 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 
&quot;t_order&quot; WHERE &quot;status&quot; = '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 
&quot;t_order&quot; WHERE &quot;status&quot; = ?" 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 
&quot;length&quot;.&quot;item_id&quot; &quot;password&quot; FROM 
&quot;t_order_item&quot; &quot;length&quot; WHERE 
&quot;length&quot;.&quot;item_id&quot; = 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 
&quot;length&quot;.&quot;item_id&quot; &quot;password&quot; FROM 
&quot;t_order_item&quot; &quot;length&quot; WHERE 
&quot;length&quot;.&quot;item_id&quot; = ?" 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 
&quot;i&quot;.* FROM &quot;t_order&quot; &quot;o&quot; INNER JOIN 
&quot;t_order_item&quot; &quot;i&quot; USING (&quot;order_id&quot;) WHERE 
&quot;o&quot;.&quot;order_id&quot; = 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 
&quot;i&quot;.* FROM &quot;t_order&quot; &quot;o&quot; INNER JOIN 
&quot;t_order_item&quot; &quot;i&quot; USING (&quot;order_id&quot;) WHERE 
&quot;o&quot;.&quot;order_id&quot; = ?" 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > ?" 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > ?" 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > ?" 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > 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 
&quot;t_order&quot; WHERE &quot;order_id&quot; > ?" 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 
&quot;t_order&quot;" db-types="Oracle" />
+    <test-cases sql-case-id="explain_for_delete_condition" 
expected-sql="EXPLAIN PLAN INCLUDING ALL ATTRIBUTES WITH TYPE FOR DELETE FROM 
&quot;t_order&quot; WHERE &quot;t_order&quot;.&quot;x&quot; = 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 
&quot;t_order&quot; WHERE &quot;t_order&quot;.&quot;x&quot; = ?" 
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 
&quot;t_order&quot; WHERE &quot;t_order&quot;.&quot;x&quot; = 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 
&quot;t_order&quot; WHERE &quot;t_order&quot;.&quot;x&quot; = ?" 
db-types="Oracle" sql-case-types="PLACEHOLDER" />
 </sql-node-converter-test-cases>

Reply via email to