should be it
This commit is contained in:
85
external/duckdb/test/sql/show_select/test_summarize.test
vendored
Normal file
85
external/duckdb/test/sql/show_select/test_summarize.test
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
# name: test/sql/show_select/test_summarize.test
|
||||
# description: Test summarize command
|
||||
# group: [show_select]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE types(i INTEGER, j VARCHAR, k HUGEINT, d DOUBLE, e BLOB);
|
||||
|
||||
statement ok
|
||||
INSERT INTO types VALUES
|
||||
(1, 'hello', 12, 0.5, BLOB 'a\x00b\x00c'),
|
||||
(2, 'world', -12, -0.5, BLOB ''),
|
||||
(3, NULL, NULL, NULL, NULL);
|
||||
|
||||
query IIII
|
||||
SELECT UNNEST(['i', 'j', 'k', 'd', 'e']) column_names,
|
||||
UNNEST(['INTEGER', 'VARCHAR', 'HUGEINT', 'DOUBLE', 'BLOB']) column_types,
|
||||
UNNEST([MIN(i)::VARCHAR, MIN(j)::VARCHAR, MIN(k)::VARCHAR, MIN(d)::VARCHAR, MIN(e)::VARCHAR]) min,
|
||||
UNNEST([MAX(i)::VARCHAR, MAX(j)::VARCHAR, MAX(k)::VARCHAR, MAX(d)::VARCHAR, MAX(e)::VARCHAR]) max
|
||||
FROM (SELECT * FROM types) tbl
|
||||
----
|
||||
i INTEGER 1 3
|
||||
j VARCHAR hello world
|
||||
k HUGEINT -12 12
|
||||
d DOUBLE -0.5 0.5
|
||||
e BLOB (empty) a\x00b\x00c
|
||||
|
||||
query IIIIIIIIIIII
|
||||
SUMMARIZE types;
|
||||
----
|
||||
i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0
|
||||
j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33
|
||||
k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33
|
||||
d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33
|
||||
e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33
|
||||
|
||||
query IIIIIIIIIIII
|
||||
SUMMARIZE SELECT * FROM types;
|
||||
----
|
||||
i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0
|
||||
j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33
|
||||
k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33
|
||||
d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33
|
||||
e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33
|
||||
|
||||
# Temporal types
|
||||
query IIIIIIIIIIII
|
||||
summarize
|
||||
from range('2024-01-01'::TIMESTAMP, '2024-04-10'::TIMESTAMP, INTERVAL 1 DAY);
|
||||
----
|
||||
range TIMESTAMP 2024-01-01 00:00:00 2024-04-09 00:00:00 99 2024-02-19 12:00:00 NULL 2024-01-25 12:00:00 2024-02-19 12:00:00 2024-03-15 12:00:00 100 0.00
|
||||
|
||||
query IIIIIIIIIIII
|
||||
summarize
|
||||
SELECT range::DATE AS range from range('2024-01-01'::DATE, '2024-04-10'::DATE, INTERVAL 1 DAY);
|
||||
----
|
||||
range DATE 2024-01-01 2024-04-09 98 2024-02-19 12:00:00 NULL 2024-01-26 2024-02-19 2024-03-16 100 0.00
|
||||
|
||||
query IIIIIIIIIIII
|
||||
summarize
|
||||
SELECT range::TIME AS range from range('2024-01-01'::DATE, '2024-04-10'::DATE, INTERVAL 1 HOUR);
|
||||
----
|
||||
range TIME 00:00:00 23:00:00 28 11:30:00 NULL 05:24:35.480769 11:28:55.400975 17:30:41.666667 2400 0.00
|
||||
|
||||
# TIMETZ quantiles. Note these are fuzzy because we use DOUBLEs in the sketch.
|
||||
query IIIIIIIIIIII
|
||||
SUMMARIZE (SELECT '1:02:03.000000+05:30'::TIMETZ AS ttz);
|
||||
----
|
||||
ttz TIME WITH TIME ZONE 01:02:03+05:30 01:02:03+05:30 1 19:32:03+00 NULL 01:02:42+05:30:39 01:02:42+05:30:39 01:02:42+05:30:39 1 0.00
|
||||
|
||||
statement ok
|
||||
SUMMARIZE VALUES (1.0),(6754950520);
|
||||
|
||||
# Various overflows
|
||||
statement ok
|
||||
SUMMARIZE SELECT 9223372036854775296;
|
||||
|
||||
statement ok
|
||||
summarize select bigint from test_all_types();
|
||||
|
||||
statement ok
|
||||
summarize select 9223372036854775295;
|
||||
|
||||
Reference in New Issue
Block a user