File: select_star_exclude.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 (150 lines) | stat: -rw-r--r-- 2,488 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# name: test/sql/projection/select_star_exclude.test
# description: SELECT * EXCLUDE
# group: [projection]

statement ok
PRAGMA enable_verification

statement ok
CREATE TABLE integers(i INTEGER, j INTEGER, k INTEGER)

statement ok
INSERT INTO integers VALUES (1, 2, 3)

query II
SELECT * EXCLUDE i FROM integers
----
2	3

query I
SELECT * EXCLUDE (i, j) FROM integers
----
3

query II
SELECT * EXCLUDE (j) FROM integers
----
1	3

query II
SELECT * EXCLUDE (j) FROM integers
----
1	3

# case insensitive exclude
query II
SELECT * EXCLUDE ("J") FROM integers
----
1	3

# no columns remaining...
statement error
SELECT * EXCLUDE (i, j, k) FROM integers
----

# same but with integers.*
query II
SELECT integers.* EXCLUDE (i) FROM integers
----
2	3

query II
SELECT integers.* EXCLUDE ('i') FROM integers
----
2	3

query I
SELECT integers.* EXCLUDE (i, j) FROM integers
----
3

query II
SELECT integers.* EXCLUDE (j) FROM integers
----
1	3

query III
SELECT integers.* EXCLUDE (i, j), * EXCLUDE (i, j), * EXCLUDE (i, k) FROM integers
----
3	3	2

statement error
SELECT integers.* EXCLUDE (i, j, k) FROM integers
----

# exclude but with multiple tables
query II
SELECT * EXCLUDE (i, j) FROM integers i1, integers i2
----
3	3

query I
SELECT i1.* EXCLUDE (i, j), i2.* EXCLUDE (i, j, k) FROM integers i1, integers i2
----
3

query III
SELECT i1.* EXCLUDE (i, j), i2.* EXCLUDE (k) FROM integers i1, integers i2
----
3	1	2

query IIII
SELECT * EXCLUDE (i) FROM integers i1 JOIN integers i2 USING (i)
----
2	3	2	3

# qualified exclude entries
query II
SELECT * EXCLUDE integers.i FROM integers
----
2	3

query I
SELECT * EXCLUDE (integers.i, integers.j) FROM integers
----
3

query I
SELECT integers.* EXCLUDE (integers.i, integers.j) FROM integers
----
3

query I
SELECT * EXCLUDE (INTEGERS.i, integers.J) FROM integers
----
3

statement error
SELECT * EXCLUDE (integers.i, integers.j, integers2.i) FROM integers
----
not found in FROM clause

statement error
SELECT * EXCLUDE (integers2.i) FROM integers
----
not found in FROM clause

query IIII
SELECT * EXCLUDE (i1.i, i2.i) FROM integers i1 JOIN integers i2 USING (i)
----
2	3	2	3

# duplicate entry in exclude list
statement error
SELECT * EXCLUDE (i, i) FROM integers
----
Duplicate entry

statement error
SELECT * EXCLUDE (integers.i, i) FROM integers
----
Duplicate entry

# column name that does not exist
statement error
SELECT * EXCLUDE (blabla) FROM integers
----

statement error
SELECT integers.* EXCLUDE (blabla) FROM integers
----