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) <> 'xml' THEN 1 ELSE 0
END AS [(max)] FROM sys.columns WHERE
object_id=OBJECT_ID('<schema_name.table_name>') 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>