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 71b75bfc47c Support parsing SQL Server INSERT INTO sql (#30246)
71b75bfc47c is described below

commit 71b75bfc47c6fd125ce574f5845a14a56246c011
Author: LotusMoon <[email protected]>
AuthorDate: Fri Feb 23 08:15:43 2024 +0800

    Support parsing SQL Server INSERT INTO sql (#30246)
---
 test/it/parser/src/main/resources/case/dml/insert.xml      | 14 +++++++++++++-
 test/it/parser/src/main/resources/case/dml/select.xml      |  9 +++++++++
 .../parser/src/main/resources/sql/supported/dml/insert.xml |  1 +
 .../parser/src/main/resources/sql/supported/dml/select.xml |  1 +
 4 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/test/it/parser/src/main/resources/case/dml/insert.xml 
b/test/it/parser/src/main/resources/case/dml/insert.xml
index c10e824c9a1..ba128255b5a 100644
--- a/test/it/parser/src/main/resources/case/dml/insert.xml
+++ b/test/it/parser/src/main/resources/case/dml/insert.xml
@@ -3940,7 +3940,7 @@
             </value>
         </values>
     </insert>
-    
+
     <insert sql-case-id="insert_into_with_select_with_merge">
         <table name="ZeroInventory" start-index="12" stop-index="35">
             <owner name="Production" start-index="12" stop-index="21" />
@@ -4128,4 +4128,16 @@
             </where>
         </select>
     </insert>
+
+    <insert sql-case-id="insert_into_sample_temp_table_5">
+        <table name="#MyTempTable" start-index="12" stop-index="23"/>
+        <columns start-index="24" stop-index="24"/>
+        <values>
+            <value>
+                <assignment-value>
+                    <literal-expression value="1" start-index="33" 
stop-index="33"/>
+                </assignment-value>
+            </value>
+        </values>
+    </insert>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/dml/select.xml 
b/test/it/parser/src/main/resources/case/dml/select.xml
index 26383193ef7..09a5f93060e 100644
--- a/test/it/parser/src/main/resources/case/dml/select.xml
+++ b/test/it/parser/src/main/resources/case/dml/select.xml
@@ -8723,4 +8723,13 @@
             </expr>
         </where>
     </select>
+
+    <select sql-case-id="select_from_tmp_table_with_alias">
+        <projections start-index="7" stop-index="18">
+            <column-projection name="x" start-index="7" stop-index="18" 
alias="Test2Col"/>
+        </projections>
+        <from start-index="25" stop-index="26">
+            <simple-table name="#t" start-index="25" stop-index="26"/>
+        </from>
+    </select>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/insert.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
index 9ed5f06f23b..962a12e3189 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/insert.xml
@@ -132,6 +132,7 @@
     <sql-case id="insert_into_sample_temp_table_2" value="INSERT INTO 
#SampleTempTable VALUES (10, null)" db-types="SQLServer"/>
     <sql-case id="insert_into_sample_temp_table_3" value="INSERT INTO 
#SampleTempTable VALUES (17, 'abc')" db-types="SQLServer"/>
     <sql-case id="insert_into_sample_temp_table_4" value="INSERT INTO 
#SampleTempTable VALUES (17, 'yes')" db-types="SQLServer"/>
+    <sql-case id="insert_into_sample_temp_table_5" value="INSERT INTO 
#MyTempTable VALUES (1)" db-types="SQLServer"/>
     <sql-case id="insert_with_table_t" value="INSERT INTO #t VALUES (99)" 
db-types="SQLServer"/>
     <sql-case id="insert_with_table_test" value="INSERT INTO ##test VALUES (1, 
1)" db-types="SQLServer"/>
     <sql-case id="insert_into_with_select_number" value="INSERT INTO #test 
SELECT 1" db-types="SQLServer"/>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/select.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
index f22ac3df786..dc6c37aa819 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
@@ -263,4 +263,5 @@
     AS [statement_text] FROM [sys].[dm_exec_requests] AS [req] CROSS APPLY 
[sys].dm_exec_sql_text([req].[sql_handle]) AS [ST] ORDER BY [req].[cpu_time] 
DESC" db-types="SQLServer"/>
     <sql-case id="select_mdx" value="SELECT {[Measures].[Internet Sales 
Count], [Measures].[Internet Sales-Sales Amount]} ON COLUMNS, 
{[Product].[Product Line].[Product Line].MEMBERS} ON ROWS FROM [Analysis 
Services Tutorial] WHERE [Sales Territory].[Sales Territory 
Country].[Australia]" db-types="SQLServer"/>
     <sql-case id="select_with_brackets_case_when_alias" value="SELECT name AS 
column_name,column_id,TYPE_NAME(user_type_id) AS type_name, max_length,CASE 
WHEN max_length = -1 AND TYPE_NAME(user_type_id) &lt;&gt; 'xml' THEN 1 ELSE 0 
END AS [(max)] FROM sys.columns WHERE 
object_id=OBJECT_ID('&lt;schema_name.table_name&gt;') AND ( 
TYPE_NAME(user_type_id) IN ('xml','text', 'ntext','image') OR 
(TYPE_NAME(user_type_id) IN ('varchar','nvarchar','varbinary') AND max_length = 
-1))" db-types="SQLS [...]
+    <sql-case id="select_from_tmp_table_with_alias" value="SELECT Test2Col = x 
FROM #t" db-types="SQLServer"/>
 </sql-cases>

Reply via email to