Skip to content

Commit 2ddad0a

Browse files
authored
Add more test cases on Doris SQL parser (#37684)
1 parent 1b84357 commit 2ddad0a

File tree

9 files changed

+25
-13
lines changed

9 files changed

+25
-13
lines changed

test/it/parser/src/main/resources/case/dcl/create-user.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@
6363
<create-user sql-case-id="create_azure_ad_user_without_login" />
6464
<create-user sql-case-id="create _user_with_option" />
6565
<create-user sql-case-id="create_user_with_user_auth_option" />
66+
<create-user sql-case-id="create_user_with_max_connections_per_hour_doris" />
67+
<create-user sql-case-id="create_user_with_max_user_connections_doris" />
68+
<create-user sql-case-id="create_user_identified_with_plugin_doris" />
69+
<create-user sql-case-id="create_user_identified_with_plugin_as_doris" />
70+
<create-user sql-case-id="create_user_identified_with_plugin_by_doris" />
71+
<create-user sql-case-id="create_user_identified_with_plugin_by_random_doris" />
6672
<create-user sql-case-id="create_user_require_ssl_doris" />
6773
<create-user sql-case-id="create_user_require_none_doris" />
6874
<create-user sql-case-id="create_user_require_x509_doris" />

test/it/parser/src/main/resources/sql/supported/dal/explain.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<sql-cases>
2020
<sql-case id="explain_extended_select" value="explain extended select 10 % 7, 10 mod 7, 10 div 3" db-types="MySQL" />
2121
<sql-case id="explain_partitions_select" value="explain partitions select 1" db-types="MySQL" />
22-
<sql-case id="explain_select_constant_without_table" value="EXPLAIN SELECT 1 as a" db-types="PostgreSQL, openGauss, MySQL, SQLServer" />
22+
<sql-case id="explain_select_constant_without_table" value="EXPLAIN SELECT 1 as a" db-types="PostgreSQL, openGauss, MySQL, SQLServer,Doris" />
2323
<sql-case id="explain_update_without_condition" value="EXPLAIN UPDATE t_order SET status = 'finished'" db-types="PostgreSQL, openGauss, MySQL, SQLServer" />
2424
<sql-case id="explain_insert_without_parameters" value="EXPLAIN INSERT INTO t_order (order_id, user_id, status) VALUES (1, 1, 'insert')" db-types="PostgreSQL, openGauss, MySQL, SQLServer" />
2525
<sql-case id="explain_delete_without_sharding_value" value="EXPLAIN DELETE FROM t_order WHERE status='init'" db-types="PostgreSQL, openGauss, MySQL, SQLServer" />

test/it/parser/src/main/resources/sql/supported/dal/install.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<sql-cases>
2020
<sql-case id="install_component" value="INSTALL COMPONENT 'file://component1'" db-types="MySQL" />
2121
<sql-case id="install_components" value="INSTALL COMPONENT 'file://component1', 'file://component2'" db-types="MySQL" />
22-
<sql-case id="install_plugin" value="INSTALL PLUGIN binlog SONAME 'shared_library_name'" db-types="MySQL" />
22+
<sql-case id="install_plugin" value="INSTALL PLUGIN binlog SONAME 'shared_library_name'" db-types="MySQL,Doris" />
2323
<sql-case id="install_plugin_from" value="INSTALL PLUGIN FROM &quot;/home/users/doris/auditdemo.zip&quot;" db-types="Doris" />
2424
<sql-case id="install_plugin_with_properties" value="INSTALL PLUGIN FROM &quot;/home/users/doris/auditdemo.zip&quot; PROPERTIES (&quot;md5sum&quot; = &quot;d41d8cd98f00b204e9800998ecf8427e&quot;)" db-types="Doris" />
2525
<sql-case id="install_plugin_with_identifier" value="INSTALL PLUGIN FROM plugin_path PROPERTIES (`timeout` = `30`)" db-types="Doris" />

test/it/parser/src/main/resources/sql/supported/dcl/create-user.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@
3939
<sql-case id="create_user_require_none_doris" value="CREATE USER user_no_tls REQUIRE NONE" db-types="Doris" />
4040
<sql-case id="create_user_require_x509_doris" value="CREATE USER user_x509 REQUIRE X509" db-types="Doris" />
4141
<sql-case id="create_user_require_tls_specified_doris" value="CREATE USER user_tls REQUIRE SUBJECT 'subj' ISSUER 'issuer' CIPHER 'cipher_name'" db-types="Doris" />
42+
<sql-case id="create_user_with_max_connections_per_hour_doris" value="CREATE USER user_conn WITH MAX_CONNECTIONS_PER_HOUR 10" db-types="Doris" />
43+
<sql-case id="create_user_with_max_user_connections_doris" value="CREATE USER user_user_conn WITH MAX_USER_CONNECTIONS 5" db-types="Doris" />
44+
<sql-case id="create_user_identified_with_plugin_doris" value="CREATE USER user_plugin IDENTIFIED WITH 'ldap'" db-types="Doris" />
45+
<sql-case id="create_user_identified_with_plugin_as_doris" value="CREATE USER user_plugin_as IDENTIFIED WITH 'ldap' AS 'pwd'" db-types="Doris" />
46+
<sql-case id="create_user_identified_with_plugin_by_doris" value="CREATE USER user_plugin_by IDENTIFIED WITH 'ldap' BY 'pwd'" db-types="Doris" />
47+
<sql-case id="create_user_identified_with_plugin_by_random_doris" value="CREATE USER user_plugin_rand IDENTIFIED WITH 'ldap' BY RANDOM PASSWORD" db-types="Doris" />
4248
<sql-case id="create_external_user" value="CREATE USER user1 IDENTIFIED EXTERNALLY" db-types="Oracle" />
4349
<sql-case id="create_global_user" value="CREATE USER user1 IDENTIFIED GLOBALLY" db-types="Oracle" />
4450
<sql-case id="create_user_with_password" value="CREATE USER user1 IDENTIFIED BY RANDOM password default role role1" db-types="H2,MySQL" />

test/it/parser/src/main/resources/sql/supported/ddl/create-index.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
-->
1818

1919
<sql-cases>
20-
<sql-case id="create_index_with_lock_algorithm" value="CREATE INDEX idx_name ON t_order (name) LOCK=SHARED ALGORITHM=COPY" db-types="MySQL" />
20+
<sql-case id="create_index_with_lock_algorithm" value="CREATE INDEX idx_name ON t_order (name) LOCK=SHARED ALGORITHM=COPY" db-types="MySQL,Doris" />
2121
<sql-case id="create_index_with_lock" value="CREATE INDEX idx_name ON t_order (name) LOCK=SHARED" db-types="MySQL" />
2222
<sql-case id="create_index_with_algorithm" value="CREATE INDEX idx_name ON t_order (name) ALGORITHM=COPY" db-types="MySQL" />
2323
<sql-case id="create_index_with_algorithm_lock" value="CREATE INDEX idx_name ON t_order (name) ALGORITHM=COPY LOCK=SHARED" db-types="MySQL" />

test/it/parser/src/main/resources/sql/supported/ddl/create-table.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<sql-case id="create_table_column_with_backtick" value="create table `````t_o``r``d``e``r``` (```i` int)" db-types="MySQL" />
2626
<sql-case id="create_table_with_like" value="CREATE TABLE t_log LIKE t_old_log" db-types="MySQL,Doris" />
2727
<sql-case id="create_table" value="CREATE TABLE t_log(id int PRIMARY KEY, status varchar(10))" />
28-
<sql-case id="create_table_with_engin_charset" value="CREATE TABLE t_log(id int PRIMARY KEY, status varchar(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" db-types="MySQL" />
28+
<sql-case id="create_table_with_engin_charset" value="CREATE TABLE t_log(id int PRIMARY KEY, status varchar(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" db-types="MySQL,Doris" />
2929
<sql-case id="create_table_with_keyword" value="CREATE TABLE t_log(id int PRIMARY KEY, status boolean)" db-types="PostgreSQL,openGauss" />
3030
<sql-case id="create_table_if_not_exists" value="CREATE TABLE IF NOT EXISTS t_log(id int, status varchar(10))" db-types="MySQL,PostgreSQL,openGauss,Presto" />
3131
<sql-case id="create_temporary_table_if_not_exists" value="CREATE TEMPORARY TABLE IF NOT EXISTS t_temp_log(id int, status varchar(10))" db-types="MySQL,PostgreSQL,openGauss" />
@@ -123,7 +123,7 @@
123123
<sql-case id="create_table_with_on_update_current_timestamp" value="CREATE TABLE t_order (order_id INT PRIMARY KEY, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)" db-types="MySQL" />
124124
<sql-case id="create_table_with_on_update_current_timestamp_and_fsp" value="CREATE TABLE t_order (order_id INT PRIMARY KEY, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, modify_time DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6))" db-types="MySQL" />
125125
<sql-case id="create_table_with_on_other_vendor_data_type" value="CREATE TABLE t_order (order_id INT PRIMARY KEY, num MIDDLEINT(10))" db-types="MySQL" />
126-
<sql-case id="create_table_with_enum_and_character_set" value="CREATE TABLE t_order (order_id INT PRIMARY KEY, status ENUM('0', '1') CHARACTER SET UTF8)" db-types="MySQL" />
126+
<sql-case id="create_table_with_enum_and_character_set" value="CREATE TABLE t_order (order_id INT PRIMARY KEY, status ENUM('0', '1') CHARACTER SET UTF8)" db-types="MySQL,Doris" />
127127
<sql-case id="create_table_with_storage_parameter" value="CREATE TABLE t_order (order_id INT DEFAULT 0, user_id INT, status VARCHAR(10), column1 VARCHAR(10), column2 VARCHAR(10), column3 VARCHAR(10)) WITH (FILLFACTOR = 80, ORIENTATION=ROW)" db-types="openGauss" />
128128
<sql-case id="create_table_as_select" value="CREATE TABLE t_order_new WITH (DISTRIBUTION = HASH(product_key), CLUSTERED COLUMNSTORE INDEX, PARTITION (order_date RANGE RIGHT FOR VALUES (20000101,20010101))) AS SELECT * FROM t_order" db-types="SQLServer" />
129129
<sql-case id="create_table_as_select_with_explicit_column_names" value="CREATE TABLE t_order_new (order_id_new, user_id_new) WITH (DISTRIBUTION = HASH(product_key), CLUSTERED COLUMNSTORE INDEX, PARTITION (order_date RANGE RIGHT FOR VALUES (20000101,20010101))) AS SELECT order_id, user_id FROM t_order" db-types="SQLServer" />

test/it/parser/src/main/resources/sql/supported/ddl/drop-index.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<sql-cases>
2020
<sql-case id="drop_index_with_algorithm" value="DROP INDEX idx_name ON t_order ALGORITHM=INPLACE" db-types="MySQL" />
2121
<sql-case id="drop_index_with_lock" value="DROP INDEX idx_name ON t_order LOCK=EXCLUSIVE" db-types="MySQL" />
22-
<sql-case id="drop_index_with_algorithm_lock" value="DROP INDEX idx_name ON t_order ALGORITHM=INPLACE LOCK=EXCLUSIVE" db-types="MySQL" />
22+
<sql-case id="drop_index_with_algorithm_lock" value="DROP INDEX idx_name ON t_order ALGORITHM=INPLACE LOCK=EXCLUSIVE" db-types="MySQL,Doris" />
2323
<sql-case id="drop_index_with_lock_algorithm" value="DROP INDEX idx_name ON t_order LOCK=EXCLUSIVE ALGORITHM=INPLACE" db-types="MySQL" />
2424
<!-- TODO should assert index for all databases (only Oracle can support parse index right now)
2525
<sql-case id="drop_index" value="DROP INDEX t_log_index ON t_log" db-types="MySQL,SQLServer" />

test/it/parser/src/main/resources/sql/supported/dml/select-lock.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
-->
1818

1919
<sql-cases>
20-
<sql-case id="select_lock_with_lock_in" value="SELECT * FROM t_order WHERE order_id = ? LOCK IN SHARE MODE" db-types="MySQL" />
21-
<sql-case id="select_lock_with_for_update" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE" db-types="MySQL,Oracle,PostgreSQL,openGauss,Presto" />
22-
<sql-case id="select_lock_with_for_share" value="SELECT * FROM t_order WHERE order_id = ? FOR SHARE" db-types="MySQL" />
23-
<sql-case id="select_lock_with_nowait" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE NOWAIT" db-types="MySQL" />
24-
<sql-case id="select_lock_with_skip_locked" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE SKIP LOCKED" db-types="MySQL" />
20+
<sql-case id="select_lock_with_lock_in" value="SELECT * FROM t_order WHERE order_id = ? LOCK IN SHARE MODE" db-types="MySQL,Doris" />
21+
<sql-case id="select_lock_with_for_update" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE" db-types="MySQL,Oracle,PostgreSQL,openGauss,Presto,Doris" />
22+
<sql-case id="select_lock_with_for_share" value="SELECT * FROM t_order WHERE order_id = ? FOR SHARE" db-types="MySQL,Doris" />
23+
<sql-case id="select_lock_with_nowait" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE NOWAIT" db-types="MySQL,Doris" />
24+
<sql-case id="select_lock_with_skip_locked" value="SELECT * FROM t_order WHERE order_id = ? FOR UPDATE SKIP LOCKED" db-types="MySQL,Doris" />
2525
<sql-case id="select_lock_with_of" value="SELECT * FROM t_order, t_order_item WHERE t_order.order_id = t_order_item.order_id AND t_order.order_id = ? FOR UPDATE OF t_order FOR SHARE OF t_order_item" db-types="MySQL" />
2626
<sql-case id="select_lock_with_of_multi_tables" value="SELECT * FROM t_order, t_order_item, t_user WHERE t_order.order_id = t_order_item.order_id AND t_order.user_id = t_user.user_id AND t_order.order_id = ? FOR UPDATE OF t_order, t_order_item FOR SHARE OF t_user" db-types="MySQL" />
2727
<sql-case id="select_lock_with_for_update_column" value="SELECT order_id FROM t_order FOR UPDATE OF order_id" db-types="Oracle" />

test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<sql-case id="select_with_trim_expr_and_both" value="SELECT TRIM(BOTH '#' FROM `name`) FROM `t_order`" db-types="MySQL" />
3939
<sql-case id="select_with_trim_expr_from_expr" value="SELECT TRIM(remove_name FROM name) FROM t_order" db-types="MySQL" />
4040
<sql-case id="select_with_trim_expr_from_expr_and_both" value="SELECT TRIM(BOTH `remove_name` FROM `name`) FROM `t_order`" db-types="MySQL" />
41-
<sql-case id="select_weight_string" value="SELECT WEIGHT_STRING('bar')" db-types="MySQL" />
41+
<sql-case id="select_weight_string" value="SELECT WEIGHT_STRING('bar')" db-types="MySQL,Doris" />
4242
<sql-case id="select_values" value="SELECT VALUES(order_id) FROM t_order" db-types="MySQL,Presto,Doris" />
4343
<sql-case id="select_current_user_brackets" value="SELECT CURRENT_USER()" db-types="MySQL,Doris" />
4444
<sql-case id="select_extract_function" value="SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40')" db-types="PostgreSQL,openGauss" />
@@ -105,7 +105,7 @@
105105
<sql-case id="select_with_xor_function" value="SELECT 1 XOR NULL;" db-types="MySQL,Doris"/>
106106
<sql-case id="select_with_year_function" value="SELECT YEAR('1999-09-09');" db-types="MySQL"/>
107107
<sql-case id="select_with_yearweek_function" value="SELECT YEARWEEK('1988-08-08');" db-types="MySQL"/>
108-
<sql-case id="select_with_weight_string_function" value="SELECT HEX(WEIGHT_STRING('MySQL'));" db-types="MySQL"/>
108+
<sql-case id="select_with_weight_string_function" value="SELECT HEX(WEIGHT_STRING('MySQL'));" db-types="MySQL,Doris"/>
109109
<sql-case id="select_row_number" value="SELECT ROW_NUMBER() OVER w FROM t_order" db-types="MySQL" />
110110
<sql-case id="select_rpad" value="SELECT RPAD('Hello', 10, '*')" db-types="MySQL" />
111111
<sql-case id="select_rtrim" value="SELECT RTRIM(' Hello ')" db-types="MySQL" />

0 commit comments

Comments
 (0)