File: test_parallel_nested_aggregates.test

package info (click to toggle)
duckdb 1.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 299,196 kB
  • sloc: cpp: 865,414; ansic: 57,292; python: 18,871; sql: 12,663; lisp: 11,751; yacc: 7,412; lex: 1,682; sh: 747; makefile: 558
file content (74 lines) | stat: -rw-r--r-- 1,406 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# name: test/sql/parallelism/intraquery/test_parallel_nested_aggregates.test
# description: Test parallel aggregations
# group: [intraquery]

statement ok
PRAGMA threads=4

statement ok
PRAGMA verify_parallelism

statement ok
PRAGMA enable_profiling

statement ok
PRAGMA profiling_output='__TEST_DIR__/test.txt'

statement ok
PRAGMA profiling_mode = detailed

statement ok
create table t as select range a, range%10 b from range(100000);

# non-deterministic so we can't check the result
statement ok
select first([a]) from t group by b%2;

query II rowsort
select min([a]), max([a]) from t group by b%2;
----
[0]	[99998]
[1]	[99999]

query II rowsort
select min([-a, 1, a]), max([-a, 1, a]) from t group by b%2;
----
[-99998, 1, 99998]	[0, 1, 0]
[-99999, 1, 99999]	[-1, 1, 1]

query II rowsort
select min({'i': a}), max({'i': a}) from t group by b%2 order by all;
----
{'i': 0}	{'i': 99998}
{'i': 1}	{'i': 99999}

query II rowsort
select min({'i': a, 'j': a % 2}), max({'i': a, 'j': a % 2}) from t group by b%2;
----
{'i': 0, 'j': 0}	{'i': 99998, 'j': 0}
{'i': 1, 'j': 1}	{'i': 99999, 'j': 1}

# NULL inputs
query I
select first(NULL::INT[]) from t group by b%2;
----
NULL
NULL

query I
select min(NULL::INT[]) from t group by b%2;
----
NULL
NULL

query I
select first(NULL::ROW(i INTEGER)) from t group by b%2;
----
NULL
NULL

query I
select min(NULL::ROW(i INTEGER)) from t group by b%2;
----
NULL
NULL