should be it
This commit is contained in:
103
external/duckdb/test/sql/aggregate/aggregates/test_bool.test
vendored
Normal file
103
external/duckdb/test/sql/aggregate/aggregates/test_bool.test
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
# name: test/sql/aggregate/aggregates/test_bool.test
|
||||
# description: Test Bool operator
|
||||
# group: [aggregates]
|
||||
|
||||
statement ok
|
||||
SET default_null_order='nulls_first';
|
||||
|
||||
# Corner Cases
|
||||
statement error
|
||||
select bool_or(0)
|
||||
----
|
||||
|
||||
statement error
|
||||
select bool_and(0)
|
||||
----
|
||||
|
||||
query I
|
||||
select bool_or(NULL)
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
select bool_and(NULL)
|
||||
----
|
||||
NULL
|
||||
|
||||
statement error
|
||||
select bool_or()
|
||||
----
|
||||
|
||||
statement error
|
||||
select bool_and()
|
||||
----
|
||||
|
||||
statement error
|
||||
select bool_or(*)
|
||||
----
|
||||
|
||||
statement error
|
||||
select bool_and(*)
|
||||
----
|
||||
|
||||
query I
|
||||
SELECT bool_or(True) FROM range(100);
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT bool_and(True) FROM range(100);
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT bool_or(True) FROM range(100) tbl(i) WHERE 1=0;
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT bool_and(True) FROM range(100) tbl(i) WHERE 1=0;
|
||||
----
|
||||
NULL
|
||||
|
||||
statement ok
|
||||
create table t (d date)
|
||||
|
||||
statement ok
|
||||
insert into t values (DATE'2021-02-09'-1),(DATE'2021-02-09'+1),(NULL)
|
||||
|
||||
query II
|
||||
select bool_or(d > '2021-02-09') AS or_result,
|
||||
bool_and(d > '2021-02-09') AS and_result
|
||||
from t;
|
||||
----
|
||||
1 0
|
||||
|
||||
query III
|
||||
select d,bool_or(d > '2021-02-09') AS or_result,
|
||||
bool_and(d > '2021-02-09') AS and_result
|
||||
from t
|
||||
group by d
|
||||
order by d;
|
||||
----
|
||||
NULL NULL NULL
|
||||
2021-02-08 0 0
|
||||
2021-02-10 1 1
|
||||
|
||||
# Window Function
|
||||
query I
|
||||
select bool_or(d > '2021-02-09') over (partition by d)
|
||||
from t order by d;
|
||||
----
|
||||
NULL
|
||||
0
|
||||
1
|
||||
|
||||
query I
|
||||
select bool_and(d > '2021-02-09') over (partition by d)
|
||||
from t order by d;
|
||||
----
|
||||
NULL
|
||||
0
|
||||
1
|
||||
|
||||
Reference in New Issue
Block a user