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 < 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 = ? && ? = 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 <=> 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
<< (_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
"2004-01-22 21:45:33" 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 && 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 && 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>