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 08245cbe9bb Add SQL parser test cases for Doris (#37827)
08245cbe9bb is described below

commit 08245cbe9bbc4776f1691137b05b32a1f3d99bba
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jan 24 00:28:25 2026 +0800

    Add SQL parser test cases for Doris (#37827)
---
 .../src/main/resources/case/ddl/alter-table.xml    |  4 ++++
 .../src/main/resources/case/ddl/create-table.xml   | 28 ++++++++++++++++++++++
 .../resources/case/dml/select-special-function.xml | 17 +++++++++++++
 .../resources/sql/supported/ddl/alter-table.xml    |  1 +
 .../resources/sql/supported/ddl/create-table.xml   |  3 +++
 .../sql/supported/dml/select-special-function.xml  |  1 +
 6 files changed, 54 insertions(+)

diff --git a/test/it/parser/src/main/resources/case/ddl/alter-table.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
index 00ec61e3a7c..48e364dd440 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
@@ -2547,6 +2547,10 @@
         <rename-table name="table2" start-index="26" stop-index="31" />
     </alter-table>
 
+    <alter-table sql-case-id="alter_table_without_actions_doris">
+        <table name="t_order" start-index="12" stop-index="18" />
+    </alter-table>
+
     <alter-table sql-case-id="alter_table_rename_column_doris">
         <table name="example_table" start-index="12" stop-index="24" />
         <rename-column start-index="26" stop-index="44">
diff --git a/test/it/parser/src/main/resources/case/ddl/create-table.xml 
b/test/it/parser/src/main/resources/case/ddl/create-table.xml
index cb75813d7aa..ab17b1eea0f 100644
--- a/test/it/parser/src/main/resources/case/ddl/create-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/create-table.xml
@@ -2143,6 +2143,34 @@
             <comment text="'doris table comment'" start-index="52" 
stop-index="72" />
         </create-table-option>
     </create-table>
+    
+    <create-table sql-case-id="create_table_with_unique_constraint_doris" 
db-types="Doris">
+        <table name="t_unique" start-index="13" stop-index="20" />
+        <column-definition type="INT" start-index="23" stop-index="28">
+            <column name="id" start-index="23" stop-index="24" />
+        </column-definition>
+        <constraint-definition start-index="31" stop-index="41">
+            <index-column name="id" start-index="39" stop-index="40" />
+        </constraint-definition>
+    </create-table>
+
+    <create-table sql-case-id="create_table_with_foreign_key_constraint_doris" 
db-types="Doris">
+        <table name="t_fk" start-index="13" stop-index="16" />
+        <column-definition type="INT" start-index="19" stop-index="24">
+            <column name="id" start-index="19" stop-index="20" />
+        </column-definition>
+        <constraint-definition constraint-name="fk_order" start-index="27" 
stop-index="88">
+            <referenced-table name="ref_table" start-index="75" 
stop-index="83" />
+        </constraint-definition>
+    </create-table>
+
+    <create-table sql-case-id="create_table_with_inline_reference_doris" 
db-types="Doris">
+        <table name="t_col_fk" start-index="13" stop-index="20" />
+        <column-definition type="INT" start-index="23" stop-index="53">
+            <column name="id" start-index="23" stop-index="24" />
+            <referenced-table name="ref_table" start-index="41" 
stop-index="49" />
+        </column-definition>
+    </create-table>
 
     <create-table sql-case-id="create_table_with_select_without_query" 
db-types="Oracle">
         <table name="t_order_new" start-index="13" stop-index="23"/>
diff --git 
a/test/it/parser/src/main/resources/case/dml/select-special-function.xml 
b/test/it/parser/src/main/resources/case/dml/select-special-function.xml
index 86d34369941..f580c85764c 100644
--- a/test/it/parser/src/main/resources/case/dml/select-special-function.xml
+++ b/test/it/parser/src/main/resources/case/dml/select-special-function.xml
@@ -85,6 +85,23 @@
         </projections>
     </select>
 
+    <select sql-case-id="select_extract_function_doris">
+        <projections start-index="7" stop-index="37">
+            <expression-projection text="EXTRACT(YEAR FROM '2020-01-01')" 
start-index="7" stop-index="37">
+                <expr>
+                    <function function-name="EXTRACT" start-index="7" 
stop-index="37" text="EXTRACT(YEAR FROM '2020-01-01')">
+                        <parameter>
+                            <literal-expression value="YEAR" start-index="15" 
stop-index="18" />
+                        </parameter>
+                        <parameter>
+                            <literal-expression value="2020-01-01" 
start-index="25" stop-index="36" />
+                        </parameter>
+                    </function>
+                </expr>
+            </expression-projection>
+        </projections>
+    </select>
+
     <select sql-case-id="select_cast_as_year">
         <projections start-index="7" stop-index="24">
             <expression-projection text="CAST(-1.1 AS YEAR)" start-index="7" 
stop-index="24">
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
index d7d95999e22..2800a1a2d05 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
@@ -374,6 +374,7 @@
     <sql-case id="alter_drop_tag_basic" value="ALTER TABLE test DROP TAG 
tag1;" db-types="Hive" />
     <sql-case id="alter_drop_tag_if_exists" value="ALTER TABLE test DROP TAG 
IF EXISTS tag1;" db-types="Hive" />
     <sql-case id="alter_table_rename_table_doris" value="ALTER TABLE table1 
RENAME table2" db-types="Doris" />
+    <sql-case id="alter_table_without_actions_doris" value="ALTER TABLE 
t_order" db-types="Doris" />
     <sql-case id="alter_table_rename_column_doris" value="ALTER TABLE 
example_table RENAME COLUMN c1 c2" db-types="Doris" />
     <sql-case id="alter_table_rename_rollup" value="ALTER TABLE example_table 
RENAME ROLLUP rollup1 rollup2" db-types="Doris" />
     <sql-case id="alter_table_rename_partition" value="ALTER TABLE 
example_table RENAME PARTITION partition1 partition2" db-types="Doris" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
index cd4e1ad7c5d..739a4a0e9bd 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml
@@ -158,6 +158,9 @@
     <sql-case id="create_table_with_ref_data_type" value="CREATE TABLE 
location_table (location_number NUMBER, building REF warehouse_typ SCOPE IS 
warehouse_table);" db-types="Oracle" />
     <sql-case id="create_table_with_select" value="CREATE TABLE t_order_new AS 
SELECT * FROM t_order" db-types="Doris"/>
     <sql-case id="create_table_with_comment_doris" value="CREATE TABLE 
t_comment (id INT) ENGINE=olap COMMENT 'doris table comment'" db-types="Doris" 
/>
+    <sql-case id="create_table_with_unique_constraint_doris" value="CREATE 
TABLE t_unique (id INT, UNIQUE (id))" db-types="Doris" />
+    <sql-case id="create_table_with_foreign_key_constraint_doris" 
value="CREATE TABLE t_fk (id INT, CONSTRAINT fk_order FOREIGN KEY (id) 
REFERENCES ref_table (id))" db-types="Doris" />
+    <sql-case id="create_table_with_inline_reference_doris" value="CREATE 
TABLE t_col_fk (id INT REFERENCES ref_table(id))" db-types="Doris" />
     <sql-case id="create_table_with_select_without_query" value="CREATE TABLE 
t_order_new AS SELECT * FROM t_order" db-types="Oracle"/>
     <sql-case id="create_table_organization_index_parallel_with_select" 
value="CREATE TABLE admin_iot3(i PRIMARY KEY, j, k, l) ORGANIZATION INDEX 
PARALLEL AS SELECT * FROM hr.jobs" db-types="Oracle" />
     <sql-case id="create_table_partition_by_range" value="CREATE TABLE 
costs_demo (prod_id NUMBER(6), time_id DATE, unit_cost NUMBER(10,2), unit_price 
NUMBER(10,2))
diff --git 
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
 
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
index b74f0fdb13e..d564de60849 100644
--- 
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
+++ 
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
@@ -45,6 +45,7 @@
     <sql-case id="select_extract_function_week" value="SELECT EXTRACT(WEEK 
FROM TIMESTAMP '2001-02-16 20:38:40')" db-types="PostgreSQL,openGauss" />
     <sql-case id="select_extract_function_quarter" value="SELECT 
EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40')" 
db-types="PostgreSQL,openGauss" />
     <sql-case id="select_extract_function_for_oracle" value="SELECT 
EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL" db-types="Oracle" 
/>
+    <sql-case id="select_extract_function_doris" value="SELECT EXTRACT(YEAR 
FROM '2020-01-01')" db-types="Doris" />
     <sql-case id="select_mod_function" value="SELECT MOD(order_id, 1) from 
t_order" db-types="PostgreSQL,openGauss" />
     <sql-case id="select_sys_xml_agg" value="SELECT 
SYS_XMLAGG(SYS_XMLGEN(last_name)) XMLAGG FROM employees WHERE last_name LIKE 
'R%' ORDER BY xmlagg;" db-types="Oracle" />
     <sql-case id="select_set_function" value="SELECT customer_id, 
SET(cust_address_ntab) address FROM customers_demo ORDER BY customer_id;" 
db-types="Oracle" />

Reply via email to