Skip to content

Commit

Permalink
[Fix](Regression-test) add test for tvf (apache#26322)
Browse files Browse the repository at this point in the history
  • Loading branch information
BePPPower authored Nov 3, 2023
1 parent fd92810 commit 7730a90
Show file tree
Hide file tree
Showing 7 changed files with 394 additions and 0 deletions.
259 changes: 259 additions & 0 deletions regression-test/data/external_table_p0/tvf/test_hdfs_tvf.out

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,13 @@ suite("test_backends_tvf","p0,external,tvf,external_docker") {
MaxDiskUsedPct, RemoteUsedCapacity, Tag, ErrMsg, Version, Status
HeartbeatFailureCounter, NodeRole from backends();
"""


// test exception
test {
sql """ select * from backends("backendId" = "10003"); """

// check exception
exception "backends table-valued-function does not support any params"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,12 @@ suite("test_catalogs_tvf","p0,external,tvf,external_docker") {
qt_create """ select CatalogName,CatalogType,Property,Value from catalogs() where CatalogName in ("catalog_test_es00","catalog_test_hive00") and Property="type" order by Value"""

sql """ drop catalog catalog_test_es00 """

// test exception
test {
sql """ select * from catalogs("Host" = "127.0.0.1"); """

// check exception
exception "catalogs table-valued-function does not support any params"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,13 @@ suite("test_frontends_disks_tvf") {
DirType, Dir, Filesystem, Capacity, Used
Available, UseRate, MountOn from frontends_disks();
"""

// test exception
test {
sql """ select * from frontends_disks("Host" = "127.0.0.1"); """

// check exception
exception "frontends_disks table-valued-function does not support any params"
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,12 @@ suite("test_frontends_tvf","p0,external,tvf,external_docker") {
`Join`, Alive, ReplayedJournalId, LastHeartbeat
IsHelper, ErrMsg, Version, CurrentConnected from frontends();
"""

// test exception
test {
sql """ select * from frontends("Host" = "127.0.0.1"); """

// check exception
exception "frontends table-valued-function does not support any params"
}
}
86 changes: 86 additions & 0 deletions regression-test/suites/external_table_p0/tvf/test_hdfs_tvf.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,93 @@ suite("test_hdfs_tvf","external,hive,tvf,external_docker") {
"uri" = "${uri}",
"hadoop.username" = "${hdfsUserName}",
"format" = "${format}"); """


// test hdfs function compatible
// because the property `fs.defaultFS` has been delete by pr https://github.com/apache/doris/pull/24706
// we should test the compatible of `fs.defaultFS`
uri = "${defaultFS}" + "/user/doris/preinstalled_data/csv_format_test/all_types.csv"
format = "csv"
order_qt_hdfs_compatible """ select * from HDFS(
"uri" = "${uri}",
"fs.defaultFS"= "${defaultFS}",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = ",",
"format" = "${format}") order by c1; """

// test csv_schema property
uri = "${defaultFS}" + "/user/doris/preinstalled_data/csv_format_test/all_types.csv"
format = "csv"
order_qt_hdfs_csv_schema """ select * from HDFS(
"uri" = "${uri}",
"csv_schema" = "id:int;tinyint_col:tinyint;smallint_col:smallint;bigint_col:bigint;largeint_col:largeint;float_col:float;double_col:double;decimal_col:decimal(10,5);string_col:string;string_col:string;string_col:string;date_col:date;datetime_col:datetime(3)",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = ",",
"format" = "${format}") order by id; """

order_qt_hdfs_desc_csv_schema """ desc function HDFS(
"uri" = "${uri}",
"csv_schema" = "id:int;tinyint_col:tinyint;smallint_col:smallint;bigint_col:bigint;largeint_col:largeint;float_col:float;double_col:double;decimal_col:decimal(10,5);string_col:string;string_col:string;string_col:string;date_col:date;datetime_col:datetime(3)",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = ",",
"format" = "${format}"); """

} finally {
}
}

// test exception
test {
sql """ select * from HDFS(
"uri" = "",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = ",",
"format" = "csv") order by c1;
"""

// check exception
exception """Properties 'uri' is required"""
}

// test exception
test {
sql """ select * from HDFS(
"uri" = "xx",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = ",",
"format" = "csv") order by c1;
"""

// check exception
exception """Invalid export path, there is no schema of URI found. please check your path"""
}

// test exception
test {
sql """ select * from HDFS(
"uri" = "xx",
"hadoop.username" = "${hdfsUserName}",
"column_separator" = "",
"format" = "csv") order by c1;
"""

// check exception
exception """column_separator can not be empty"""
}


// test exception
test {
sql """ select * from HDFS(
"uri" = "xx",
"hadoop.username" = "${hdfsUserName}",
"line_delimiter" = "",
"format" = "csv") order by c1;
"""

// check exception
exception """line_delimiter can not be empty"""
}


}
15 changes: 15 additions & 0 deletions regression-test/suites/external_table_p0/tvf/test_numbers.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,19 @@
// test subquery
order_qt_subquery_1 """ with a as (select number from numbers("number"="3")) select * from a; """
order_qt_subquery_2 """ select * from (select number from numbers("number"="3")) a join (select * from (select number from numbers("number"="1")) a join (select 1) b) b; """

// test exception
test {
sql """ select * from numbers('number' = 'abc'); """

// check exception
exception "can not parse `number` param to natural number"
}

test {
sql """ select * from numbers(); """

// check exception
exception """can not find `number` param, please specify `number`, like: numbers("number" = "10")"""
}
}

0 comments on commit 7730a90

Please sign in to comment.