Skip to content

Commit 7f15bac

Browse files
committed
test: filter_push_down and catalog test
1 parent 5406731 commit 7f15bac

File tree

5 files changed

+341
-0
lines changed

5 files changed

+341
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
SELECT SUM(number) FROM numbers;
2+
3+
+--------------------------------------+
4+
| SUM(numbers.number), #Field, #Uint64 |
5+
+--------------------------------------+
6+
| 4950 |
7+
+--------------------------------------+
8+
9+
SELECT SUM(1) FROM numbers;
10+
11+
+-------------------------------+
12+
| SUM(Int64(1)), #Field, #Int64 |
13+
+-------------------------------+
14+
| 100 |
15+
+-------------------------------+
16+
17+
SELECT SUM(-1) FROM numbers;
18+
19+
+--------------------------------+
20+
| SUM(Int64(-1)), #Field, #Int64 |
21+
+--------------------------------+
22+
| -100 |
23+
+--------------------------------+
24+
25+
SELECT SUM(-1) FROM numbers WHERE number=-1;
26+
27+
+--------------------------------+
28+
| SUM(Int64(-1)), #Field, #Int64 |
29+
+--------------------------------+
30+
| NULL |
31+
+--------------------------------+
32+
33+
SELECT SUM(-1) FROM numbers WHERE number>10000 limit 1000;
34+
35+
+--------------------------------+
36+
| SUM(Int64(-1)), #Field, #Int64 |
37+
+--------------------------------+
38+
| NULL |
39+
+--------------------------------+
40+
41+
CREATE TABLE bigints(b BIGINT TIME INDEX);
42+
43+
MutateResult { success: 1, failure: 0 }
44+
45+
INSERT INTO bigints values (4611686018427387904), (4611686018427388904), (1);
46+
47+
MutateResult { success: 3, failure: 0 }
48+
49+
SELECT SUM(b) FROM bigints;
50+
51+
+--------------------------------+
52+
| SUM(bigints.b), #Field, #Int64 |
53+
+--------------------------------+
54+
| -9223372036854774807 |
55+
+--------------------------------+
56+
57+
CREATE TABLE doubles(n DOUBLE, ts BIGINT TIME INDEX);
58+
59+
MutateResult { success: 1, failure: 0 }
60+
61+
INSERT INTO doubles (n, ts) VALUES (9007199254740992, 1), (1, 2), (1, 3), (0, 4);
62+
63+
MutateResult { success: 4, failure: 0 }
64+
65+
SELECT sum(n) from doubles;
66+
67+
+----------------------------------+
68+
| SUM(doubles.n), #Field, #Float64 |
69+
+----------------------------------+
70+
| 9007199254740992 |
71+
+----------------------------------+
72+
73+
DROP TABLE bigints;
74+
75+
MutateResult { success: 1, failure: 0 }
76+
77+
DROP TABLE doubles;
78+
79+
MutateResult { success: 1, failure: 0 }
80+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
SELECT SUM(number) FROM numbers;
2+
3+
SELECT SUM(1) FROM numbers;
4+
5+
SELECT SUM(-1) FROM numbers;
6+
7+
SELECT SUM(-1) FROM numbers WHERE number=-1;
8+
9+
SELECT SUM(-1) FROM numbers WHERE number>10000 limit 1000;
10+
11+
CREATE TABLE bigints(b BIGINT TIME INDEX);
12+
13+
INSERT INTO bigints values (4611686018427387904), (4611686018427388904), (1);
14+
15+
SELECT SUM(b) FROM bigints;
16+
17+
CREATE TABLE doubles(n DOUBLE, ts BIGINT TIME INDEX);
18+
19+
INSERT INTO doubles (n, ts) VALUES (9007199254740992, 1), (1, 2), (1, 3), (0, 4);
20+
21+
SELECT sum(n) from doubles;
22+
23+
DROP TABLE bigints;
24+
25+
DROP TABLE doubles;
File renamed without changes.
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
CREATE TABLE integers(i INTEGER, j BIGINT TIME INDEX);
2+
3+
MutateResult { success: 1, failure: 0 }
4+
5+
INSERT INTO integers VALUES (1, 1), (2, 2), (3, 3), (NULL, 4);
6+
7+
MutateResult { success: 4, failure: 0 }
8+
9+
SELECT i1.i, i2.i FROM integers i1, integers i2 WHERE i1.i=i2.i ORDER BY 1;
10+
11+
+-------------------+-------------------+
12+
| i, #Field, #Int32 | i, #Field, #Int32 |
13+
+-------------------+-------------------+
14+
| 1 | 1 |
15+
| 2 | 2 |
16+
| 3 | 3 |
17+
+-------------------+-------------------+
18+
19+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i1.i=i2.i AND i1.i>1 ORDER BY 1;
20+
21+
+-------------------+-------------------+
22+
| i, #Field, #Int32 | i, #Field, #Int32 |
23+
+-------------------+-------------------+
24+
| 2 | 2 |
25+
| 3 | 3 |
26+
+-------------------+-------------------+
27+
28+
SELECT i1.i,i2.i,i3.i FROM integers i1, integers i2, integers i3 WHERE i1.i=i2.i AND i1.i=i3.i AND i1.i>1 ORDER BY 1;
29+
30+
+-------------------+-------------------+-------------------+
31+
| i, #Field, #Int32 | i, #Field, #Int32 | i, #Field, #Int32 |
32+
+-------------------+-------------------+-------------------+
33+
| 2 | 2 | 2 |
34+
| 3 | 3 | 3 |
35+
+-------------------+-------------------+-------------------+
36+
37+
SELECT i1.i,i2.i FROM integers i1 JOIN integers i2 ON i1.i=i2.i WHERE i1.i>1 ORDER BY 1;
38+
39+
+-------------------+-------------------+
40+
| i, #Field, #Int32 | i, #Field, #Int32 |
41+
+-------------------+-------------------+
42+
| 2 | 2 |
43+
| 3 | 3 |
44+
+-------------------+-------------------+
45+
46+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i>2 ORDER BY 2;
47+
48+
Failed to execute, error: Datanode { code: 1003, msg: "Failed to collect RecordBatches, source: Failed to poll stream, source: External error: Arrow error: External error: External error: Not expected to run ExecutionPlan more than once" }
49+
50+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NOT NULL ORDER BY 2;
51+
52+
++
53+
++
54+
55+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i>1 ORDER BY 2;
56+
57+
++
58+
++
59+
60+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE CASE WHEN i2.i IS NULL THEN False ELSE True END ORDER BY 2;
61+
62+
++
63+
++
64+
65+
SELECT DISTINCT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NULL ORDER BY 1;
66+
67+
+-------------------+-------------------+
68+
| i, #Field, #Int32 | i, #Field, #Int32 |
69+
+-------------------+-------------------+
70+
| 1 | NULL |
71+
| 2 | NULL |
72+
| 3 | NULL |
73+
| NULL | NULL |
74+
+-------------------+-------------------+
75+
76+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i=i2.i ORDER BY 1;
77+
78+
+-------------------+-------------------+
79+
| i, #Field, #Int32 | i, #Field, #Int32 |
80+
+-------------------+-------------------+
81+
| 1 | 1 |
82+
| 2 | 2 |
83+
| 3 | 3 |
84+
+-------------------+-------------------+
85+
86+
SELECT * FROM integers WHERE i IN ((SELECT i FROM integers)) ORDER BY i;
87+
88+
Failed to execute, error: Datanode { code: 3001, msg: "Failed to execute sql, source: Fail to create physical plan: This feature is not implemented: Physical plan does not support logical expression (<subquery>)" }
89+
90+
SELECT * FROM integers WHERE i NOT IN ((SELECT i FROM integers WHERE i=1)) ORDER BY i;
91+
92+
Failed to execute, error: Datanode { code: 3001, msg: "Failed to execute sql, source: Fail to create physical plan: This feature is not implemented: Physical plan does not support logical expression (<subquery>)" }
93+
94+
SELECT * FROM integers WHERE i IN ((SELECT i FROM integers)) AND i<3 ORDER BY i;
95+
96+
Failed to execute, error: Datanode { code: 3001, msg: "Failed to execute sql, source: Fail to create physical plan: This feature is not implemented: Physical plan does not support logical expression (<subquery>)" }
97+
98+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i IN ((SELECT i FROM integers)) AND i1.i=i2.i ORDER BY 1;
99+
100+
Failed to execute, error: Datanode { code: 3001, msg: "Failed to execute sql, source: Fail to create physical plan: This feature is not implemented: Physical plan does not support logical expression (<subquery>)" }
101+
102+
SELECT * FROM integers i1 WHERE EXISTS(SELECT i FROM integers WHERE i=i1.i) ORDER BY i1.i;
103+
104+
+-------------------+-----------------------+
105+
| i, #Field, #Int32 | j, #Timestamp, #Int64 |
106+
+-------------------+-----------------------+
107+
| 1 | 1 |
108+
| 2 | 2 |
109+
| 3 | 3 |
110+
+-------------------+-----------------------+
111+
112+
SELECT * FROM integers i1 WHERE NOT EXISTS(SELECT i FROM integers WHERE i=i1.i) ORDER BY i1.i;
113+
114+
+-------------------+-----------------------+
115+
| i, #Field, #Int32 | j, #Timestamp, #Int64 |
116+
+-------------------+-----------------------+
117+
| NULL | 4 |
118+
+-------------------+-----------------------+
119+
120+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i1.i=(SELECT i FROM integers WHERE i1.i=i) AND i1.i=i2.i ORDER BY i1.i;
121+
122+
Failed to execute, error: Datanode { code: 3001, msg: "Failed to execute sql, source: Fail to create physical plan: This feature is not implemented: Physical plan does not support logical expression (<subquery>)" }
123+
124+
SELECT * FROM (SELECT i1.i AS a, i2.i AS b FROM integers i1, integers i2) a1 WHERE a=b ORDER BY 1;
125+
126+
+-------------------+-------------------+
127+
| a, #Field, #Int32 | b, #Field, #Int32 |
128+
+-------------------+-------------------+
129+
| 1 | 1 |
130+
| 2 | 2 |
131+
| 3 | 3 |
132+
+-------------------+-------------------+
133+
134+
SELECT * FROM (SELECT i1.i=i2.i AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
135+
136+
+------------------------+
137+
| cond, #Field, #Boolean |
138+
+------------------------+
139+
| true |
140+
| true |
141+
| true |
142+
+------------------------+
143+
144+
SELECT * FROM (SELECT DISTINCT i1.i AS a, i2.i AS b FROM integers i1, integers i2) res WHERE a=1 AND b=3;
145+
146+
+-------------------+-------------------+
147+
| a, #Field, #Int32 | b, #Field, #Int32 |
148+
+-------------------+-------------------+
149+
| 1 | 3 |
150+
+-------------------+-------------------+
151+
152+
SELECT i FROM (SELECT * FROM integers i1 UNION SELECT * FROM integers i2) a WHERE i=3;
153+
154+
+-------------------+
155+
| i, #Field, #Int32 |
156+
+-------------------+
157+
| 3 |
158+
+-------------------+
159+
160+
SELECT * FROM (SELECT i1.i AS a, i2.i AS b, row_number() OVER (ORDER BY i1.i, i2.i) FROM integers i1, integers i2 WHERE i1.i IS NOT NULL AND i2.i IS NOT NULL) a1 WHERE a=b ORDER BY 1;
161+
162+
+-------------------+-------------------+-------------------------------+
163+
| a, #Field, #Int32 | b, #Field, #Int32 | ROW_NUMBER(), #Field, #Uint64 |
164+
+-------------------+-------------------+-------------------------------+
165+
| 1 | 1 | 1 |
166+
| 2 | 2 | 5 |
167+
| 3 | 3 | 9 |
168+
+-------------------+-------------------+-------------------------------+
169+
170+
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
171+
172+
++
173+
++
174+
175+
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2 GROUP BY 1) a1 WHERE cond ORDER BY 1;
176+
177+
++
178+
++
179+
180+
DROP TABLE integers;
181+
182+
MutateResult { success: 1, failure: 0 }
183+
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
CREATE TABLE integers(i INTEGER, j BIGINT TIME INDEX);
2+
3+
INSERT INTO integers VALUES (1, 1), (2, 2), (3, 3), (NULL, 4);
4+
5+
SELECT i1.i, i2.i FROM integers i1, integers i2 WHERE i1.i=i2.i ORDER BY 1;
6+
7+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i1.i=i2.i AND i1.i>1 ORDER BY 1;
8+
9+
SELECT i1.i,i2.i,i3.i FROM integers i1, integers i2, integers i3 WHERE i1.i=i2.i AND i1.i=i3.i AND i1.i>1 ORDER BY 1;
10+
11+
SELECT i1.i,i2.i FROM integers i1 JOIN integers i2 ON i1.i=i2.i WHERE i1.i>1 ORDER BY 1;
12+
13+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i>2 ORDER BY 2;
14+
15+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NOT NULL ORDER BY 2;
16+
17+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i>1 ORDER BY 2;
18+
19+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE CASE WHEN i2.i IS NULL THEN False ELSE True END ORDER BY 2;
20+
21+
SELECT DISTINCT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NULL ORDER BY 1;
22+
23+
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i=i2.i ORDER BY 1;
24+
25+
SELECT * FROM integers WHERE i IN ((SELECT i FROM integers)) ORDER BY i;
26+
27+
SELECT * FROM integers WHERE i NOT IN ((SELECT i FROM integers WHERE i=1)) ORDER BY i;
28+
29+
SELECT * FROM integers WHERE i IN ((SELECT i FROM integers)) AND i<3 ORDER BY i;
30+
31+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i IN ((SELECT i FROM integers)) AND i1.i=i2.i ORDER BY 1;
32+
33+
SELECT * FROM integers i1 WHERE EXISTS(SELECT i FROM integers WHERE i=i1.i) ORDER BY i1.i;
34+
35+
SELECT * FROM integers i1 WHERE NOT EXISTS(SELECT i FROM integers WHERE i=i1.i) ORDER BY i1.i;
36+
37+
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i1.i=(SELECT i FROM integers WHERE i1.i=i) AND i1.i=i2.i ORDER BY i1.i;
38+
39+
SELECT * FROM (SELECT i1.i AS a, i2.i AS b FROM integers i1, integers i2) a1 WHERE a=b ORDER BY 1;
40+
41+
SELECT * FROM (SELECT i1.i=i2.i AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
42+
43+
SELECT * FROM (SELECT DISTINCT i1.i AS a, i2.i AS b FROM integers i1, integers i2) res WHERE a=1 AND b=3;
44+
45+
SELECT i FROM (SELECT * FROM integers i1 UNION SELECT * FROM integers i2) a WHERE i=3;
46+
47+
SELECT * FROM (SELECT i1.i AS a, i2.i AS b, row_number() OVER (ORDER BY i1.i, i2.i) FROM integers i1, integers i2 WHERE i1.i IS NOT NULL AND i2.i IS NOT NULL) a1 WHERE a=b ORDER BY 1;
48+
49+
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
50+
51+
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2 GROUP BY 1) a1 WHERE cond ORDER BY 1;
52+
53+
DROP TABLE integers;

0 commit comments

Comments
 (0)