File: list_value_primitive.test_slow

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 (118 lines) | stat: -rw-r--r-- 2,649 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# name: test/sql/function/list/list_value_primitive.test_slow
# description: Test the list_value function with primitive types
# group: [list]

statement ok
pragma enable_verification

# type casting
foreach type <integral>

query I
SELECT list_value(1::${type}, 2::${type}, 3::${type}, 4::${type}, 5::${type});
----
[1, 2, 3, 4, 5]

query I
SELECT list_value(NULL::${type}, 1::${type}, 2::${type}, 3::${type}, 4::${type}, 5::${type});
----
[NULL, 1, 2, 3, 4, 5]

# in a table
statement ok
CREATE TABLE tbl (i ${type}, j ${type}, k ${type}, l ${type}, m ${type});

statement ok
INSERT INTO tbl VALUES (1, 2, 3, 4, 5), (6, 7, 8, 9, 10), (11, 12, 13, 14, 15), (16, 17, 18, 19, 20);

query I
SELECT list_value(i, j, k, l, m) FROM tbl;
----
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[11, 12, 13, 14, 15]
[16, 17, 18, 19, 20]

statement ok
DROP TABLE tbl;

endloop

# test with two different types
foreach type_a <signed>

foreach type_b <signed>

query I
SELECT list_value(1::${type_a}, 2::${type_b}, 3::${type_b}, 4::${type_a}, 5::${type_a});
----
[1, 2, 3, 4, 5]

query I
SELECT list_value(NULL::${type_a}, 1::${type_b}, 2::${type_a}, 3::${type_b}, 4::${type_a}, 5::${type_a});
----
[NULL, 1, 2, 3, 4, 5]

# in a table
statement ok
CREATE TABLE tbl (i ${type_b}, j ${type_b}, k ${type_a}, l ${type_b}, m ${type_a});

statement ok
INSERT INTO tbl VALUES (1, 2, 3, 4, 5), (6, 7, 8, 9, 10), (11, 12, 13, 14, 15), (16, 17, 18, 19, 20);

query I
SELECT list_value(i, j, k, l, m) FROM tbl;
----
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[11, 12, 13, 14, 15]
[16, 17, 18, 19, 20]

statement ok
DROP TABLE tbl;

endloop

endloop

foreach type float double

query I
SELECT list_value(1::${type}, 2::${type}, 3::${type}, 4::${type}, 5::${type});
----
[1.0, 2.0, 3.0, 4.0, 5.0]

query I
SELECT list_value(NULL::${type}, 1::${type}, 2::${type}, 3::${type}, 4::${type}, 5::${type});
----
[NULL, 1.0, 2.0, 3.0, 4.0, 5.0]

# in a table
statement ok
CREATE TABLE tbl (i ${type}, j ${type}, k ${type}, l ${type}, m ${type});

statement ok
INSERT INTO tbl VALUES (1, 2, 3, 4, 5), (6, 7, 8, 9, 10), (11, 12, 13, 14, 15), (16, 17, 18, 19, 20);

query I
SELECT list_value(i, j, k, l, m) FROM tbl;
----
[1.0, 2.0, 3.0, 4.0, 5.0]
[6.0, 7.0, 8.0, 9.0, 10.0]
[11.0, 12.0, 13.0, 14.0, 15.0]
[16.0, 17.0, 18.0, 19.0, 20.0]

statement ok
DROP TABLE tbl;

endloop

query I
SELECT list_value('a', 'b', 'c', 'd', 'e');
----
[a, b, c, d, e]

query I
SELECT list_value(123::BIT, 456::BIT, 789::BIT, 101112::BIT, 131415::BIT);
----
[00000000000000000000000001111011, 00000000000000000000000111001000, 00000000000000000000001100010101, 00000000000000011000101011111000, 00000000000000100000000101010111]