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 900a12bcfe7 Add SQL parser test cases for Doris (#37866)
900a12bcfe7 is described below

commit 900a12bcfe730bc152db8507311d2546d94ac64c
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 28 01:10:52 2026 +0800

    Add SQL parser test cases for Doris (#37866)
    
    * Add SQL parser test cases for Doris
    
    * Add SQL parser test cases for Doris
    
    * Add SQL parser test cases for Doris
    
    * Add SQL parser test cases for Doris
---
 .../parser/src/main/resources/case/dal/restart.xml |  1 +
 .../it/parser/src/main/resources/case/dal/show.xml | 22 ++++++++++++++++++++++
 .../src/main/resources/case/dcl/create-user.xml    |  1 +
 .../main/resources/case/ddl/alter-procedure.xml    |  1 +
 .../main/resources/case/ddl/create-procedure.xml   |  1 +
 .../src/main/resources/case/ddl/drop-procedure.xml |  1 +
 .../parser/src/main/resources/case/ddl/event.xml   |  3 +++
 .../src/main/resources/case/ddl/logfile-group.xml  |  3 +++
 .../src/main/resources/case/dml/select-window.xml  | 17 +++++++++++++++++
 .../parser/src/main/resources/case/dml/select.xml  | 18 ++++++++++++++++++
 .../main/resources/sql/supported/dal/restart.xml   |  1 +
 .../src/main/resources/sql/supported/dal/show.xml  |  3 +++
 .../resources/sql/supported/dcl/create-user.xml    |  1 +
 .../sql/supported/ddl/alter-procedure.xml          |  1 +
 .../sql/supported/ddl/create-procedure.xml         |  1 +
 .../resources/sql/supported/ddl/drop-procedure.xml |  1 +
 .../src/main/resources/sql/supported/ddl/event.xml |  3 +++
 .../resources/sql/supported/ddl/logfile-group.xml  |  3 +++
 .../sql/supported/dml/select-expression.xml        |  4 ++--
 .../sql/supported/dml/select-special-function.xml  |  2 +-
 .../resources/sql/supported/dml/select-window.xml  |  1 +
 .../main/resources/sql/supported/dml/select.xml    |  5 +++--
 .../main/resources/sql/supported/dml/values.xml    |  2 +-
 23 files changed, 90 insertions(+), 6 deletions(-)

diff --git a/test/it/parser/src/main/resources/case/dal/restart.xml 
b/test/it/parser/src/main/resources/case/dal/restart.xml
index 11f6165d2d3..ddacf39fdb9 100644
--- a/test/it/parser/src/main/resources/case/dal/restart.xml
+++ b/test/it/parser/src/main/resources/case/dal/restart.xml
@@ -18,4 +18,5 @@
 
 <sql-parser-test-cases>
     <restart sql-case-id="restart_server_mysql" />
+    <restart sql-case-id="restart_server_doris" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/dal/show.xml 
b/test/it/parser/src/main/resources/case/dal/show.xml
index 928ac22cd3b..ad35acecd41 100644
--- a/test/it/parser/src/main/resources/case/dal/show.xml
+++ b/test/it/parser/src/main/resources/case/dal/show.xml
@@ -314,6 +314,7 @@
     </show-procedure-status>
 
     <show-replicas sql-case-id="show_replicas" />
+    <show-replicas sql-case-id="show_replicas_doris" />
     <show-procedure-code sql-case-id="show_procedure_code_func">
         <function function-name="TEST_FUNC" start-index="20" stop-index="28" 
text="TEST_FUNC" />
     </show-procedure-code>
@@ -651,6 +652,27 @@
             </where>
         </filter>
     </show-events>
+    <show-events sql-case-id="show_events_doris_simple" />
+    <show-events sql-case-id="show_events_doris_with_filter">
+        <from start-index="12" stop-index="28">
+            <database name="example_db" start-delimiter="`" end-delimiter="`" 
start-index="17" stop-index="28" />
+        </from>
+        <filter start-index="30" stop-index="52">
+            <where start-index="30" stop-index="52">
+                <expr>
+                    <binary-operation-expression start-index="36" 
stop-index="52">
+                        <left>
+                            <column name="db" start-index="36" stop-index="37" 
/>
+                        </left>
+                        <operator>=</operator>
+                        <right>
+                            <literal-expression value="example_db" 
start-index="41" stop-index="52" />
+                        </right>
+                    </binary-operation-expression>
+                </expr>
+            </where>
+        </filter>
+    </show-events>
 
     <show-tables sql-case-id="show_tables" />
 
diff --git a/test/it/parser/src/main/resources/case/dcl/create-user.xml 
b/test/it/parser/src/main/resources/case/dcl/create-user.xml
index f71ac0baeaa..2ca55164386 100644
--- a/test/it/parser/src/main/resources/case/dcl/create-user.xml
+++ b/test/it/parser/src/main/resources/case/dcl/create-user.xml
@@ -100,6 +100,7 @@
     <create-user 
sql-case-id="create_user_password_reuse_interval_default_doris" />
     <create-user 
sql-case-id="create_user_password_require_current_optional_doris" />
     <create-user sql-case-id="create_user_password_require_current_yes_doris" 
/>
+    <create-user 
sql-case-id="create_user_password_require_current_default_doris" />
     <create-user sql-case-id="create_user_failed_login_and_lock_time_doris" />
     <create-user sql-case-id="create_user_password_lock_time_unbounded_doris" 
/>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-procedure.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-procedure.xml
index b4711e071c3..b0971522558 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-procedure.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-procedure.xml
@@ -25,4 +25,5 @@
     <alter-procedure sql-case-id="alter_procedure_reset_param" />
     <alter-procedure sql-case-id="alter_procedure_for_oracle" />
     <alter-procedure sql-case-id="alter_procedure_mysql" />
+    <alter-procedure sql-case-id="alter_procedure_doris" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/create-procedure.xml 
b/test/it/parser/src/main/resources/case/ddl/create-procedure.xml
index 3457f5a39b9..b2ae38741fd 100644
--- a/test/it/parser/src/main/resources/case/ddl/create-procedure.xml
+++ b/test/it/parser/src/main/resources/case/ddl/create-procedure.xml
@@ -181,4 +181,5 @@
             <sql-statement start-index="27" stop-index="42" 
statement-class-simple-name="AnalyzeTableStatement" />
         </sql-statements>
     </create-procedure>
+    <create-procedure sql-case-id="create_procedure_doris_control_flow" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/drop-procedure.xml 
b/test/it/parser/src/main/resources/case/ddl/drop-procedure.xml
index 1d001d8e83b..e25302849d1 100644
--- a/test/it/parser/src/main/resources/case/ddl/drop-procedure.xml
+++ b/test/it/parser/src/main/resources/case/ddl/drop-procedure.xml
@@ -21,4 +21,5 @@
     <drop-procedure sql-case-id="drop_multiple_procedure" />
     <drop-procedure sql-case-id="drop_procedure_for_oracle" />
     <drop-procedure sql-case-id="drop_procedure_mysql" />
+    <drop-procedure sql-case-id="drop_procedure_doris" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/event.xml 
b/test/it/parser/src/main/resources/case/ddl/event.xml
index 0471542bcfe..c3b61514dce 100644
--- a/test/it/parser/src/main/resources/case/ddl/event.xml
+++ b/test/it/parser/src/main/resources/case/ddl/event.xml
@@ -19,4 +19,7 @@
 <sql-parser-test-cases>
     <common sql-case-id="alter_event_mysql" />
     <common sql-case-id="drop_event_mysql" />
+    <common sql-case-id="create_event_doris" />
+    <common sql-case-id="alter_event_doris" />
+    <common sql-case-id="drop_event_doris" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/logfile-group.xml 
b/test/it/parser/src/main/resources/case/ddl/logfile-group.xml
index cfa3466d53b..871d3d7ddd1 100644
--- a/test/it/parser/src/main/resources/case/ddl/logfile-group.xml
+++ b/test/it/parser/src/main/resources/case/ddl/logfile-group.xml
@@ -20,4 +20,7 @@
     <common sql-case-id="create_logfile_group_mysql" />
     <common sql-case-id="alter_logfile_group_mysql" />
     <common sql-case-id="drop_logfile_group_mysql" />
+    <common sql-case-id="create_logfile_group_doris" />
+    <common sql-case-id="alter_logfile_group_doris" />
+    <common sql-case-id="drop_logfile_group_doris" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/dml/select-window.xml 
b/test/it/parser/src/main/resources/case/dml/select-window.xml
index b134f9e78db..366ac4bca78 100644
--- a/test/it/parser/src/main/resources/case/dml/select-window.xml
+++ b/test/it/parser/src/main/resources/case/dml/select-window.xml
@@ -152,4 +152,21 @@
             <simple-table name="t_order" start-index="93" stop-index="99" />
         </from>
     </select>
+
+    <select sql-case-id="select_window_ntile_doris">
+        <projections start-index="7" stop-index="33">
+            <expression-projection text="NTILE(4) OVER (ORDER BY id)" 
start-index="7" stop-index="33">
+                <expr>
+                    <function function-name="NTILE" text="NTILE(4) OVER (ORDER 
BY id)" start-index="7" stop-index="33">
+                        <parameter>
+                            <literal-expression value="4" start-index="13" 
stop-index="13" />
+                        </parameter>
+                    </function>
+                </expr>
+            </expression-projection>
+        </projections>
+        <from>
+            <simple-table name="t_order" start-index="40" stop-index="46" />
+        </from>
+    </select>
 </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 a397d0ebf44..1c6958ec394 100644
--- a/test/it/parser/src/main/resources/case/dml/select.xml
+++ b/test/it/parser/src/main/resources/case/dml/select.xml
@@ -12393,6 +12393,24 @@
         </from>
     </select>
 
+    <select sql-case-id="select_from_function_expr_table_doris">
+        <projections start-index="7" stop-index="7">
+            <shorthand-projection start-index="7" stop-index="7" />
+        </projections>
+        <from start-index="14" stop-index="40">
+            <function-table start-index="14" stop-index="40" table-alias="gs">
+                <table-function function-name="generate_series" 
text="generate_series(1, 3)" start-index="14" stop-index="34">
+                    <parameter>
+                        <literal-expression value="1" start-index="30" 
stop-index="30" />
+                    </parameter>
+                    <parameter>
+                        <literal-expression value="3" start-index="33" 
stop-index="33" />
+                    </parameter>
+                </table-function>
+            </function-table>
+        </from>
+    </select>
+
     <select sql-case-id="select_interval_firebird">
         <projections start-index="7" stop-index="20">
             <expression-projection text="INTERVAL 1 DAY" start-index="7" 
stop-index="20">
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/restart.xml 
b/test/it/parser/src/main/resources/sql/supported/dal/restart.xml
index 8cb0afc68c6..b5c33a9d181 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/restart.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/restart.xml
@@ -18,4 +18,5 @@
 
 <sql-cases>
     <sql-case id="restart_server_mysql" value="RESTART" db-types="MySQL" />
+    <sql-case id="restart_server_doris" value="RESTART" db-types="Doris" />
 </sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dal/show.xml 
b/test/it/parser/src/main/resources/sql/supported/dal/show.xml
index 9f37582d9d4..b9fc0f3c16f 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/show.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/show.xml
@@ -57,6 +57,7 @@
     <sql-case id="show_procedure_status_with_where_expr" value="SHOW PROCEDURE 
STATUS where name = ?" db-types="MySQL" />
     <sql-case id="show_procedure_status_with_where_expr_no_parameter" 
value="SHOW PROCEDURE STATUS where name = 'procedure1'" db-types="MySQL" />
     <sql-case id="show_replicas" value="SHOW REPLICAS" db-types="MySQL" />
+    <sql-case id="show_replicas_doris" value="SHOW REPLICAS" db-types="Doris" 
/>
     <sql-case id="show_procedure_code_func" value="SHOW PROCEDURE CODE 
TEST_FUNC" db-types="MySQL,Doris" />
     <sql-case id="show_procedure_code_owner_func" value="SHOW PROCEDURE CODE 
TEST_USER.TEST_FUNC" db-types="MySQL,Doris" />
     <sql-case id="show_relay-log_events" value="SHOW RELAYLOG EVENTS FOR 
CHANNEL TEST_CHANNEL" db-types="MySQL" />
@@ -96,6 +97,8 @@
     <sql-case id="show_events_with_like_pattern" value="SHOW EVENTS FROM 
`sharding_db` LIKE 'sharding_%'" db-types="MySQL" />
     <sql-case id="show_events_with_where_expr" value="SHOW EVENTS FROM 
`sharding_db` WHERE db = ?" db-types="MySQL" />
     <sql-case id="show_events_with_where_expr_no_parameter" value="SHOW EVENTS 
FROM `sharding_db` WHERE db = 'sharding_db'" db-types="MySQL" />
+    <sql-case id="show_events_doris_simple" value="SHOW EVENTS" 
db-types="Doris" />
+    <sql-case id="show_events_doris_with_filter" value="SHOW EVENTS FROM 
`example_db` WHERE db = 'example_db'" db-types="Doris" />
     <sql-case id="show_tables" value="SHOW TABLES" db-types="MySQL" />
     <sql-case id="show_extended_full_tables" value="SHOW EXTENDED FULL TABLES" 
db-types="MySQL" />
     <sql-case id="show_tables_from_schema" value="SHOW TABLES FROM 
`sharding_db`" db-types="MySQL" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/dcl/create-user.xml 
b/test/it/parser/src/main/resources/sql/supported/dcl/create-user.xml
index 94387b2fc85..356a2bf7ce8 100644
--- a/test/it/parser/src/main/resources/sql/supported/dcl/create-user.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dcl/create-user.xml
@@ -62,6 +62,7 @@
     <sql-case id="create_user_password_reuse_interval_default_doris" 
value="CREATE USER user_reuse_default PASSWORD REUSE INTERVAL DEFAULT" 
db-types="Doris" />
     <sql-case id="create_user_password_require_current_optional_doris" 
value="CREATE USER user_require_optional PASSWORD REQUIRE CURRENT OPTIONAL" 
db-types="Doris" />
     <sql-case id="create_user_password_require_current_yes_doris" 
value="CREATE USER user_require_yes PASSWORD REQUIRE CURRENT" db-types="Doris" 
/>
+    <sql-case id="create_user_password_require_current_default_doris" 
value="CREATE USER user_require_default PASSWORD REQUIRE CURRENT DEFAULT" 
db-types="Doris" />
     <sql-case id="create_user_failed_login_and_lock_time_doris" value="CREATE 
USER user_failed_lock PASSWORD EXPIRE DEFAULT FAILED_LOGIN_ATTEMPTS 5 
PASSWORD_LOCK_TIME 7" db-types="Doris" />
     <sql-case id="create_user_password_lock_time_unbounded_doris" 
value="CREATE USER user_lock_unbounded PASSWORD EXPIRE DEFAULT 
PASSWORD_LOCK_TIME UNBOUNDED" db-types="Doris" />
     <sql-case id="create_user_require_ssl_doris" value="CREATE USER user_ssl 
REQUIRE SSL" db-types="Doris" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-procedure.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-procedure.xml
index c5dbf3d23e3..4aa5dbf3241 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-procedure.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-procedure.xml
@@ -25,4 +25,5 @@
     <sql-case id="alter_procedure_reset_param" value="ALTER PROCEDURE 
check_password(text) RESET search_path" db-types="PostgreSQL,openGauss" />
     <sql-case id="alter_procedure_for_oracle" value="ALTER PROCEDURE 
hr.remove_emp COMPILE" db-types="Oracle" />
     <sql-case id="alter_procedure_mysql" value="ALTER PROCEDURE proc1" 
db-types="MySQL" />
+    <sql-case id="alter_procedure_doris" value="ALTER PROCEDURE 
doris_proc_control" db-types="Doris" />
 </sql-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/create-procedure.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/create-procedure.xml
index 50f49044ce3..1f903eeb05f 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/create-procedure.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/create-procedure.xml
@@ -67,4 +67,5 @@
     <sql-case id="create_procedure_with_explain_table" value="create procedure 
p1() begin explain t1; end;" db-types="MySQL"/>
     <sql-case id="create_procedure_with_analyze_table_update" value="CREATE 
PROCEDURE p() ANALYZE TABLE v UPDATE HISTOGRAM ON w;" db-types="MySQL"/>
     <sql-case id="create_procedure_with_analyze_table" value="CREATE PROCEDURE 
p() BEGIN ANALYZE TABLE v; END;" db-types="MySQL"/>
+    <sql-case id="create_procedure_doris_control_flow" value="CREATE PROCEDURE 
doris_proc_control() BEGIN DECLARE a INT DEFAULT 0; IF a = 0 THEN SET a = 1; 
ELSE SET a = 2; END IF; WHILE a &lt; 3 DO SET a = a + 1; END WHILE; REPEAT SET 
a = a - 1; UNTIL a = 0 END REPEAT; loop_label: LOOP LEAVE loop_label; END LOOP; 
CASE a WHEN 0 THEN SET a = 0; ELSE SET a = 1; END CASE; SELECT a; END" 
db-types="Doris"/>
 </sql-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/drop-procedure.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/drop-procedure.xml
index d86ccb9bb22..528c50477f3 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/drop-procedure.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/drop-procedure.xml
@@ -21,4 +21,5 @@
     <sql-case id="drop_multiple_procedure" value="DROP PROCEDURE 
dbo.uspGetSalesbyMonth, dbo.uspUpdateSalesQuotes, dbo.uspGetSalesByYear;" 
db-types="SQLServer" />
     <sql-case id="drop_procedure_for_oracle" value="DROP PROCEDURE 
hr.remove_emp" db-types="Oracle" />
     <sql-case id="drop_procedure_mysql" value="DROP PROCEDURE proc1" 
db-types="MySQL" />
+    <sql-case id="drop_procedure_doris" value="DROP PROCEDURE 
doris_proc_control" db-types="Doris" />
 </sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/ddl/event.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/event.xml
index c1b825b0428..d363a8e9d31 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/event.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/event.xml
@@ -19,4 +19,7 @@
 <sql-cases>
     <sql-case id="alter_event_mysql" value="ALTER EVENT ev1 ON SCHEDULE EVERY 
1 DAY DO SELECT 1" db-types="MySQL" />
     <sql-case id="drop_event_mysql" value="DROP EVENT ev1" db-types="MySQL" />
+    <sql-case id="create_event_doris" value="CREATE EVENT ev_doris ON SCHEDULE 
EVERY 1 DAY DO SELECT 1" db-types="Doris" />
+    <sql-case id="alter_event_doris" value="ALTER EVENT ev_doris ON SCHEDULE 
EVERY 2 DAY DO SELECT 2" db-types="Doris" />
+    <sql-case id="drop_event_doris" value="DROP EVENT ev_doris" 
db-types="Doris" />
 </sql-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/logfile-group.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/logfile-group.xml
index b4737b88fa4..8c782a20d29 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/logfile-group.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/logfile-group.xml
@@ -20,4 +20,7 @@
     <sql-case id="create_logfile_group_mysql" value="CREATE LOGFILE GROUP lg1 
ADD UNDOFILE 'undo_1.dat' ENGINE=NDBCLUSTER" db-types="MySQL" />
     <sql-case id="alter_logfile_group_mysql" value="ALTER LOGFILE GROUP lg1 
ADD UNDOFILE 'undo_2.dat'" db-types="MySQL" />
     <sql-case id="drop_logfile_group_mysql" value="DROP LOGFILE GROUP lg1" 
db-types="MySQL" />
+    <sql-case id="create_logfile_group_doris" value="CREATE LOGFILE GROUP 
lg_doris ADD UNDOFILE 'undo_d1.dat' ENGINE = NDBCLUSTER" db-types="Doris" />
+    <sql-case id="alter_logfile_group_doris" value="ALTER LOGFILE GROUP 
lg_doris ADD UNDOFILE 'undo_d2.dat'" db-types="Doris" />
+    <sql-case id="drop_logfile_group_doris" value="DROP LOGFILE GROUP 
lg_doris" db-types="Doris" />
 </sql-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/dml/select-expression.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/select-expression.xml
index 8cf26ad2dce..a4e9459e122 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select-expression.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select-expression.xml
@@ -33,7 +33,7 @@
     <sql-case id="select_where_with_expr_with_or" value="SELECT * FROM t_order 
WHERE t_order.order_id = ? OR ? = t_order.order_id" db-types="MySQL" />
     <sql-case id="select_where_with_expr_with_or_sign" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? || ? = t_order.order_id" db-types="MySQL" />
     <sql-case id="select_concat_pipe_with_table" value="SELECT 'a' || 'b' FROM 
t_order" db-types="MySQL" />
-    <sql-case id="select_where_with_expr_with_xor" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? XOR ? = t_order.order_id" 
db-types="MySQL,Presto" />
+    <sql-case id="select_where_with_expr_with_xor" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? XOR ? = t_order.order_id" 
db-types="MySQL,Presto,Doris" />
     <sql-case id="select_where_with_expr_with_and" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? AND ? = t_order.order_id" db-types="MySQL" />
     <sql-case id="select_where_with_expr_with_and_or" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? AND ? = t_order.order_id OR t_order.status = 
'failed' AND ? = t_order.order_id" />
     <sql-case id="select_where_with_expr_with_and_sign" value="SELECT * FROM 
t_order WHERE t_order.order_id = ? &amp;&amp; ? = t_order.order_id" 
db-types="MySQL" />
@@ -105,7 +105,7 @@
     <sql-case id="select_with_regular_function_for_sql92" value="SELECT A(1) 
FROM t_order WHERE A(1) = 1" db-types="MySQL,Oracle,SQLServer,H2,SQL92" />
     <sql-case id="select_with_regular_function_utc_timestamp" value="SELECT 
TIMEDIFF(NOW(), UTC_TIMESTAMP())" db-types="MySQL" />
     <sql-case id="select_with_collate_with_marker" value="SELECT * FROM 
t_order WHERE order_id COLLATE ?" db-types="MySQL,Presto,Doris,Hive" />
-    <sql-case id="select_returning_expression" value="SELECT '$.a' RETURNING 
VARCHAR(10)" db-types="MySQL" />
+    <sql-case id="select_returning_expression" value="SELECT '$.a' RETURNING 
VARCHAR(10)" db-types="MySQL,Doris" />
 
     <sql-case id="select_safe_equal" value="SELECT 1 &lt;=&gt; 1" 
db-types="Doris" />
     <sql-case id="select_where_is_true_doris" value="SELECT * FROM t_order 
WHERE flag IS TRUE" db-types="Doris,Oracle" />
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 f9a86961827..e26b462660a 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
@@ -315,7 +315,7 @@
     <sql-case id="select_period_diff" value="SELECT 
PERIOD_DIFF(200802,200703)" db-types="MySQL" />
     <sql-case id="select_percent_rank" value="SELECT PERCENT_RANK() OVER 
(ORDER BY salary) FROM employees;" db-types="MySQL" />
     <sql-case id="select_pi" value="SELECT PI()" db-types="MySQL" />
-    <sql-case id="select_regexp" value="SELECT 'a' REGEXP '^[a-d]'" 
db-types="MySQL,Hive" />
+    <sql-case id="select_regexp" value="SELECT 'a' REGEXP '^[a-d]'" 
db-types="MySQL,Hive,Doris" />
     <sql-case id="select_with_json_object_function" value="SELECT 
JSON_OBJECT('name' VALUE 'John', 'age' VALUE 30) AS json_data FROM DUAL" 
db-types="Oracle" />
     <sql-case id="select_regexp_function" value="SELECT REGEXP('billie 
eillish', '^billie')" db-types="Doris" />
     <sql-case id="select_regexp_function_with_null" value="SELECT REGEXP(NULL, 
'^billie')" db-types="Doris" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/dml/select-window.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/select-window.xml
index 7b928ce5a0c..47c9d9fd13d 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select-window.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select-window.xml
@@ -24,4 +24,5 @@
     <sql-case id="select_window_last_value_doris" value="SELECT LAST_VALUE(v) 
OVER (PARTITION BY k ORDER BY v ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT 
ROW) FROM t_order" db-types="Doris" />
     <sql-case id="select_window_frame_doris" value="SELECT SUM(v) OVER 
(PARTITION BY k ORDER BY v ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM 
t_order" db-types="Doris" />
     <sql-case id="select_window_frame_mysql" value="SELECT SUM(v) OVER 
(PARTITION BY k ORDER BY v ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM 
t_order" db-types="MySQL" />
+    <sql-case id="select_window_ntile_doris" value="SELECT NTILE(4) OVER 
(ORDER BY id) FROM t_order" db-types="Doris" />
 </sql-cases>
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 7861a7ddd56..5fb3196d5b5 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
@@ -30,7 +30,7 @@
     <sql-case id="select_with_st_aswkb_st_geom_form_text" value="SELECT 
ST_AsWKB(ST_GeomFromText('POINT(0 0)')) IN (SELECT b FROM t1) AS result" 
db-types="MySQL" />
     <sql-case id="select_null_in_subquery" value="SELECT NULL IN(SELECT (f1 
between 0 and 1) FROM (SELECT f1 FROM t WHERE (@b:=NULL) - f2) as dt)" 
db-types="MySQL,Doris" />
     <sql-case id="select_with_collate" value="SELECT NAME_CONST('var', 
'value') COLLATE latin1_general_cs" db-types="MySQL" />
-    <sql-case id="select_collate_parameter_marker" value="SELECT name COLLATE 
? FROM t_order" db-types="MySQL" case-types="PLACEHOLDER" />
+    <sql-case id="select_collate_parameter_marker" value="SELECT name COLLATE 
? FROM t_order" db-types="MySQL,Doris" case-types="PLACEHOLDER" />
     <sql-case id="select_with_hex_function" value="SELECT HEX(_binary 0x0003 
&lt;&lt; (_binary 0x38 | 0x38))" db-types="MySQL" />
     <sql-case id="select_distinct_with_grouping_function" value="SELECT 
DISTINCT f1 FROM t1 GROUP BY f1 WITH ROLLUP ORDER BY f1, 
ANY_VALUE(GROUPING(f1))" db-types="MySQL" />
     <sql-case id="select_convert_function1" value="SELECT CONVERT(TIMESTAMP 
&quot;2004-01-22 21:45:33&quot; USING latin1)" db-types="MySQL" />
@@ -298,7 +298,7 @@
     <sql-case id="select_wm_concat_function4" value="SELECT 
NAME,WM_CONCAT(DECODE(SUBSTR((TO_CHAR(NAME)),0,1),'.','0'||TO_CHAR(NAME),TO_CHAR(NAME)))
 WM_NAME FROM TEST_TABLE WHERE NAME ='TEST' GROUP BY NAME" db-types="Oracle" />
     <sql-case id="select_with_user_updatable_columns" value="SELECT 
column_name, updatable FROM user_updatable_columns WHERE table_name = 
'LOCATIONS_VIEW' ORDER BY column_name, updatable" db-types="Oracle" />
     <sql-case id="select_with_script_variables" value="SELECT x.$(ColumnName) 
FROM Person.Person x WHERE x.BusinessEntityID > 5" db-types="SQLServer" />
-    <sql-case id="select_not_expression" value="select !0,NOT 0=1,!(0=0),1 AND 
1,1 &amp;&amp; 0,0 OR 1,1 || NULL, 1=1 or 1=1 and 1=0" db-types="MySQL" />
+    <sql-case id="select_not_expression" value="select !0,NOT 0=1,!(0=0),1 AND 
1,1 &amp;&amp; 0,0 OR 1,1 || NULL, 1=1 or 1=1 and 1=0" db-types="MySQL,Doris" />
     <sql-case id="select_with_unreserved_column" value="SELECT name, 
server_id, provider FROM sys.servers" db-types="SQLServer" />
     <sql-case id="select_with_count_temp_table" value="SELECT COUNT(*) AS 
[Number of rows] FROM #Test" db-types="SQLServer"/>
     <sql-case id="select_with_bracket_alias" value="SELECT obj1.name AS 
[XEvent-name], col2.name AS [XEvent-column], obj1.description AS [Descr-name], 
col2.description AS [Descr-column] FROM sys.dm_xe_objects AS obj1 INNER JOIN 
sys.dm_xe_object_columns AS col2 ON col2.object_name = obj1.name ORDER BY 
obj1.name, col2.name" db-types="SQLServer"/>
@@ -421,6 +421,7 @@
     <sql-case id="select_querytraceon_hint" value="SELECT * FROM Person OPTION 
(QUERYTRACEON 4199, QUERYTRACEON 4137);" db-types="SQLServer"/>
     <sql-case id="select_with_sample_clause" value="SELECT 1 AS C1 FROM 
T_ORDER SAMPLE BLOCK (1.43302, 8) SEED(9) T_ORDER" db-types="Oracle" />
     <sql-case id="select_from_function_table_doris" value="SELECT * FROM 
table_func(1, 2)" db-types="Doris" />
+    <sql-case id="select_from_function_expr_table_doris" value="SELECT * FROM 
generate_series(1, 3) AS gs" db-types="Doris" />
     <sql-case id="select_interval_firebird" value="SELECT INTERVAL 1 DAY FROM 
t_order" db-types="Firebird"/>
     <sql-case id="select_having_firebird" value="SELECT user_id, COUNT(*) AS 
cnt FROM t_order GROUP BY user_id HAVING COUNT(*) > 1" db-types="Firebird"/>
     <sql-case id="select_function_table_firebird" value="SELECT * FROM foo(1)" 
db-types="Firebird"/>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/values.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/values.xml
index 646dc0801d6..86398fcca9c 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/values.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/values.xml
@@ -19,7 +19,7 @@
 <sql-cases>
     <sql-case id="values_with_regexp_replace" value="SELECT REGEXP_REPLACE(e, 
'pattern', 'xyz')FROM (VALUES ROW('Find pattern'), ROW(NULL), ROW('Find 
pattern')) AS v(e)" db-types="MySQL" />
     <sql-case id="values_with_row" value="values ROW(1,2)" 
db-types="MySQL,Presto,Doris,Hive" />
-    <sql-case id="values_row_two_rows_mysql" value="VALUES ROW(1,2), ROW(3,4)" 
db-types="MySQL" />
+    <sql-case id="values_row_two_rows_mysql" value="VALUES ROW(1,2), ROW(3,4)" 
db-types="MySQL,Doris" />
     <sql-case id="values_with_order_limit" value="VALUES ROW(1,-2,3), 
ROW(5,7,9), ROW(4,6,8) ORDER BY column_1 desc , column_0 desc limit 10" 
db-types="MySQL" />
     <sql-case id="values_with_select" value="values row((select 1), 2)" 
db-types="MySQL" />
 </sql-cases>

Reply via email to