Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified regression-test/data/schema_change_p0/test_rename_column.out
Binary file not shown.
46 changes: 46 additions & 0 deletions regression-test/data/show_p0/test_show_create_table_and_views.out
Original file line number Diff line number Diff line change
@@ -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 2 5
1 3 10
1 300 2
2 1 100
2 2 10
2 3 44
2 200 1111
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);

40 changes: 40 additions & 0 deletions regression-test/data/show_p0/test_show_table_and_views.out
Original file line number Diff line number Diff line change
@@ -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);

8 changes: 7 additions & 1 deletion regression-test/suites/node_p0/test_backend.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -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}")
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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} """

}
124 changes: 124 additions & 0 deletions regression-test/suites/show_p0/test_show_create_table_and_views.groovy
Original file line number Diff line number Diff line change
@@ -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, good_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"
}

Original file line number Diff line number Diff line change
Expand Up @@ -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
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}"""

Expand Down