File: case_insensitive_operations.test

package info (click to toggle)
duckdb 1.5.1-3
  • 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: 564
file content (150 lines) | stat: -rw-r--r-- 2,043 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/catalog/case_insensitive_operations.test
# description: Test case insensitive operations
# group: [catalog]

statement ok
SET default_null_order='nulls_first';

statement ok
PRAGMA enable_verification

loop i 0 2

statement ok
CREATE TABLE INTEGERS(I INTEGER);

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

query I
SELECT integers.i FROM integers ORDER BY i;
----
NULL
1
2
3

query I
SELECT integers.i AS i FROM integers GROUP BY I ORDER BY "integers"."I";
----
NULL
1
2
3

query I
SELECT integers.i AS "ZZZ" FROM integers GROUP BY "zzz" ORDER BY "INTEGERS"."i";
----
NULL
1
2
3


query I
WITH "CTE"("ZZZ") AS (
	SELECT integers.i AS "ZZZ" FROM integers GROUP BY "zzz"
)
SELECT * FROM cte ORDER BY zZz;
----
NULL
1
2
3

statement error
WITH "CTE"("ZZZ") AS (
	SELECT integers.i AS "ZZZ" FROM integers GROUP BY "zzz"
),
	"cte" AS (SELECT 42)
----

query I
UPDATE integers SET i=integers.i+1
----
4

query I
SELECT i FROM integers ORDER BY integers.i;
----
NULL
2
3
4

query I
DELETE FROM integers WHERE i IS NULL;
----
1

query I
SELECT i FROM integers ORDER BY integers.i;
----
2
3
4

statement ok
ALTER TABLE integers ADD COLUMN J INTEGER;

query II
SELECT i, j FROM integers ORDER BY integers.i;
----
2	NULL
3	NULL
4	NULL

query I
UPDATE integers SET j=integers.i;
----
3

statement ok
ALTER TABLE integers DROP COLUMN i;

query I
SELECT j FROM integers ORDER BY integers.j;
----
2
3
4

query I
SELECT tbl.k FROM (SELECT j FROM integers) TBL(K) ORDER BY K;
----
2
3
4

statement ok
DROP TABLE integers;

# structs
statement ok
CREATE TABLE STRUCTS(S ROW(I ROW(K INTEGER)));

statement ok
INSERT INTO structs VALUES ({'i': {'k': 42}});

query III
SELECT structs.S.i.K, "STRUCTS"."S"."I"."K", "structs"."s"."i"."k" FROM structs
----
42	42	42

query I
SELECT "STRUCTS"."S"."I"."K" FROM structs GROUP BY "STRUCTS"."S"."I"."K"
----
42

query I
SELECT structs.S.i.K FROM structs GROUP BY structs.S.i.K
----
42

statement ok
DROP TABLE structs;

statement ok
PRAGMA preserve_identifier_case=false;

endloop