[test](regression) Add more regression test for FE (#26384)

This commit is contained in:
walter
2023-11-06 11:10:37 +08:00
committed by GitHub
parent c0ed5f74ad
commit f831774121
8 changed files with 239 additions and 1 deletions

View File

@ -0,0 +1,46 @@
-- This file is automatically generated. You should know what you did if you want to edit this
-- !show --
show_create_table_and_views_table CREATE TABLE `show_create_table_and_views_table` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"binlog.enable" = "false",\n"binlog.ttl_seconds" = "9223372036854775807",\n"binlog.max_bytes" = "9223372036854775807",\n"binlog.max_history_nums" = "9223372036854775807",\n"enable_single_replica_compaction" = "false"\n);
-- !select --
1 1 30
1 300 2
1 2 5
1 3 10
2 200 1111
2 1 100
2 2 10
2 3 44
3 1 10
3 2 1
23 900 1
100 100 1
200 20 1
300 20 1
-- !select --
1 5
2 10
3 1
-- !show --
show_create_table_and_views_view CREATE VIEW `show_create_table_and_views_view` COMMENT 'VIEW' AS SELECT `user_id` AS `user_id`, `cost` AS `cost` FROM `default_cluster:show_create_table_and_views_db`.`show_create_table_and_views_table` WHERE `good_id` = 2; utf8 utf8_general_ci
-- !select --
1 47
2 1265
3 11
23 1
100 1
200 1
300 1
-- !show --
show_create_table_and_views_table CREATE TABLE `show_create_table_and_views_table` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"binlog.enable" = "false",\n"binlog.ttl_seconds" = "9223372036854775807",\n"binlog.max_bytes" = "9223372036854775807",\n"binlog.max_history_nums" = "9223372036854775807",\n"enable_single_replica_compaction" = "false"\n);
-- !show --
show_create_table_and_views_like CREATE TABLE `show_create_table_and_views_like` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"binlog.enable" = "false",\n"binlog.ttl_seconds" = "9223372036854775807",\n"binlog.max_bytes" = "9223372036854775807",\n"binlog.max_history_nums" = "9223372036854775807",\n"enable_single_replica_compaction" = "false"\n);
-- !show --
show_create_table_and_views_like_with_rollup CREATE TABLE `show_create_table_and_views_like_with_rollup` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"binlog.enable" = "false",\n"binlog.ttl_seconds" = "9223372036854775807",\n"binlog.max_bytes" = "9223372036854775807",\n"binlog.max_history_nums" = "9223372036854775807",\n"enable_single_replica_compaction" = "false"\n);

View File

@ -0,0 +1,40 @@
-- This file is automatically generated. You should know what you did if you want to edit this
-- !show --
show_table_and_views_table CREATE TABLE `show_table_and_views_table` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"enable_single_replica_compaction" = "false"\n);
-- !select --
1 300 2
1 1 30
1 2 5
1 3 10
2 200 1111
2 1 100
2 2 10
2 3 44
3 1 10
3 2 1
23 900 1
100 100 1
200 20 1
300 20 1
-- !select --
1 5
2 10
3 1
-- !show --
show_table_and_views_view CREATE VIEW `show_table_and_views_view` COMMENT 'VIEW' AS SELECT `user_id` AS `user_id`, `cost` AS `cost` FROM `default_cluster:show_table_and_views_db`.`show_table_and_views_table` WHERE `good_id` = 2; utf8 utf8_general_ci
-- !select --
1 47
2 1265
3 11
23 1
100 1
200 1
300 1
-- !show --
show_table_and_views_table CREATE TABLE `show_table_and_views_table` (\n `user_id` LARGEINT NOT NULL,\n `good_id` LARGEINT NOT NULL,\n `cost` BIGINT SUM NULL DEFAULT "0"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nCOMMENT 'OLAP'\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [("-170141183460469231731687303715884105728"), ("100")),\nPARTITION p2 VALUES [("100"), ("200")),\nPARTITION p3 VALUES [("200"), ("300")),\nPARTITION p4 VALUES [("300"), ("400")),\nPARTITION p5 VALUES [("400"), ("500")),\nPARTITION p6 VALUES [("500"), ("600")),\nPARTITION p7 VALUES [("600"), (MAXVALUE)))\nDISTRIBUTED BY HASH(`user_id`) BUCKETS 2\nPROPERTIES (\n"replication_allocation" = "tag.location.default: 1",\n"min_load_replica_num" = "-1",\n"is_being_synced" = "false",\n"storage_format" = "V2",\n"light_schema_change" = "true",\n"disable_auto_compaction" = "false",\n"enable_single_replica_compaction" = "false"\n);

View File

@ -28,9 +28,15 @@ suite("test_backend") {
result = sql """SHOW BACKENDS;"""
logger.info("result:${result}")
sql """ALTER SYSTEM MODIFY BACKEND "${address}:${notExistPort}" SET ("disable_query" = "true"); """
sql """ALTER SYSTEM MODIFY BACKEND "${address}:${notExistPort}" SET ("disable_load" = "true"); """
result = sql """SHOW BACKENDS;"""
logger.info("result:${result}")
sql """ALTER SYSTEM DROPP BACKEND "${address}:${notExistPort}";"""
result = sql """SHOW BACKENDS;"""
logger.info("result:${result}")
}
}
}

View File

@ -232,8 +232,11 @@ suite ("test_rename_column") {
}
}
}
String viewName = "renameColumnView1"
sql "create view ${viewName} (user_id, max_cost) as select user_id, max(cost) as max_cost from ${tableName} group by user_id"
qt_select """ select user_id, cost from ${tableName} order by user_id """
qt_select """ select user_id, max_cost, "${viewName}" from ${viewName} order by user_id """
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing', 10, 1, 1, 30, 20, hll_hash(1), to_bitmap(1))
@ -261,9 +264,11 @@ suite ("test_rename_column") {
qt_desc """ desc ${tableName} """
qt_select""" select * from ${tableName} order by user_id """
qt_select """ select user_id, max_cost, "${viewName}" from ${viewName} order by user_id """
qt_select """ select user_id, sum(cost) from ${tableName} group by user_id order by user_id """
sql """ DROP VIEW ${viewName} """
sql """ DROP TABLE ${tableName} """
}

View File

@ -0,0 +1,124 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
suite("test_show_create_table_and_views", "show") {
def ret = sql "ADMIN SHOW FRONTEND CONFIG like '%enable_feature_binlog%';"
logger.info("${ret}")
if (ret.size() != 0 && ret[0].size() > 1 && ret[0][1] == 'false') {
logger.info("enable_feature_binlog=false in frontend config, no need to run this case.")
return
}
String suiteName = "show_create_table_and_views"
String dbName = "${suiteName}_db"
String tableName = "${suiteName}_table"
String viewName = "${suiteName}_view"
String rollupName = "${suiteName}_rollup"
String likeName = "${suiteName}_like"
sql "CREATE DATABASE IF NOT EXISTS ${dbName}"
sql "DROP TABLE IF EXISTS ${dbName}.${tableName}"
sql """
CREATE TABLE ${dbName}.${tableName} (
`user_id` LARGEINT NOT NULL,
`good_id` LARGEINT NOT NULL,
`cost` BIGINT SUM DEFAULT "0",
)
AGGREGATE KEY(`user_id`, `good_id`)
PARTITION BY RANGE(`good_id`)
(
PARTITION p1 VALUES LESS THAN ("100"),
PARTITION p2 VALUES LESS THAN ("200"),
PARTITION p3 VALUES LESS THAN ("300"),
PARTITION p4 VALUES LESS THAN ("400"),
PARTITION p5 VALUES LESS THAN ("500"),
PARTITION p6 VALUES LESS THAN ("600"),
PARTITION p7 VALUES LESS THAN MAXVALUE
)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 2
PROPERTIES (
"replication_num" = "1"
)
"""
sql """INSERT INTO ${dbName}.${tableName} VALUES
(1, 1, 10),
(1, 1, 20),
(1, 2, 5),
(1, 3, 10),
(2, 1, 0),
(2, 1, 100),
(3, 1, 10),
(2, 2, 10),
(2, 3, 44),
(3, 2, 1),
(100, 100, 1),
(200, 20, 1),
(300, 20, 1),
(1, 300, 2),
(2, 200, 1111),
(23, 900, 1)"""
qt_show "SHOW CREATE TABLE ${dbName}.${tableName}"
qt_select "SELECT * FROM ${dbName}.${tableName} ORDER BY user_id"
// create view and show
sql """
CREATE VIEW IF NOT EXISTS ${dbName}.${viewName} (user_id, cost)
AS
SELECT user_id, cost FROM ${dbName}.${tableName}
WHERE good_id = 2
"""
qt_select "SELECT * FROM ${dbName}.${viewName} ORDER BY user_id"
qt_show "SHOW CREATE VIEW ${dbName}.${viewName}"
// create rollup
sql """ALTER TABLE ${dbName}.${tableName}
ADD ROLLUP ${rollupName} (user_id, cost)
"""
def isAlterTableFinish = { ->
def records = sql """SHOW ALTER TABLE ROLLUP FROM ${dbName}"""
for (def row in records) {
if (row[5] == "${rollupName}" && row[8] == "FINISHED") {
return true
}
}
false
}
while (!isAlterTableFinish()) {
Thread.sleep(100)
}
qt_select "SELECT user_id, SUM(cost) FROM ${dbName}.${tableName} GROUP BY user_id ORDER BY user_id"
qt_show "SHOW CREATE TABLE ${dbName}.${tableName}"
// create like
sql "CREATE TABLE ${dbName}.${likeName} LIKE ${dbName}.${tableName}"
qt_show "SHOW CREATE TABLE ${dbName}.${likeName}"
// create like with rollup
sql "CREATE TABLE ${dbName}.${likeName}_with_rollup LIKE ${dbName}.${tableName} WITH ROLLUP"
qt_show "SHOW CREATE TABLE ${dbName}.${likeName}_with_rollup"
sql "DROP TABLE IF EXISTS ${dbName}.${likeName}_with_rollup FORCE"
sql "DROP TABLE ${dbName}.${likeName} FORCE"
sql "DROP VIEW ${dbName}.${viewName}"
sql "DROP TABLE ${dbName}.${tableName} FORCE"
sql "DROP DATABASE ${dbName} FORCE"
}

View File

@ -66,6 +66,22 @@ suite("test_sql_block_rule") {
exception "sql match regex sql block rule: test_rule_sql"
}
sql """
ALTER SQL_BLOCK_RULE test_rule_sql PROPERTIES("enable"="false")
"""
sql "SELECT * FROM table_2"
sql """
ALTER SQL_BLOCK_RULE test_rule_sql
PROPERTIES("sql"="SELECT abcd FROM table_2", "global"= "true", "enable"= "true")
"""
test {
sql("SELECT abcd FROM table_2", false)
exception "sql match regex sql block rule: test_rule_sql"
}
sql """
DROP SQL_BLOCK_RULE if exists test_rule_sql
"""

View File

@ -69,6 +69,7 @@ suite("test_basic_statistics") {
assertTrue(result[0][6] == "\'name1\'")
assertTrue(result[0][7] == "\'name9\'")
sql """drop stats ${tbl}"""
sql """drop table ${tbl}"""
sql """drop database ${db}"""