Skip to content

Commit 006418a

Browse files
committed
metrics
1 parent 3445019 commit 006418a

1 file changed

Lines changed: 47 additions & 47 deletions

File tree

yaml-tests/src/test/resources/subquery-tests.yamsql

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -30,58 +30,58 @@ schema_template:
3030
---
3131
setup:
3232
steps:
33-
# - query: INSERT INTO A VALUES (1, 1), (2, 2), (3, 3)
34-
# - query: INSERT INTO X VALUES (4, 10), (5, 20), (6, 30)
33+
- query: INSERT INTO A VALUES (1, 1), (2, 2), (3, 3)
34+
- query: INSERT INTO X VALUES (4, 10), (5, 20), (6, 30)
3535
- query: INSERT INTO R VALUES (1, 10, [(11), (12), (13)]), (2, 20, [(21), (22), (23)]), (3, 30, [(31), (32), (33)])
36-
# - query: INSERT INTO B VALUES (1, 10, 100), (2, 20, 200), (3, 30, 300)
36+
- query: INSERT INTO B VALUES (1, 10, 100), (2, 20, 200), (3, 30, 300)
3737
---
3838
test_block:
3939
name: subquery-tests
4040
tests:
41-
# -
42-
# # non correlated subquery, resolving alias should be fine.
43-
# - query: select ida from a where exists (select ida from a where ida = 1);
44-
# - explain: "SCAN(<,>) | TFILTER A | FILTER _.IDA EQUALS promote(@c15 AS INT) | MAP (_.IDA AS IDA) | DEFAULT NULL | FLATMAP q0 -> { SCAN(<,>) | TFILTER A | FILTER q0 NOT_NULL AS q1 RETURN (q1.IDA AS IDA) }"
45-
# - result: [{1}, {2}, {3}]
46-
# -
47-
# # this should work albeit being seemingly ambiguous
48-
# # upper query block resolution should kick in _iff_ we fail to resolve
49-
# # the identifier in current query block.
50-
# - query: select idx from x where exists (select x from a where ida = 1);
51-
# - explain: "SCAN(<,>) | TFILTER A | FILTER _.IDA EQUALS promote(@c15 AS INT) | MAP (_.X AS X) | DEFAULT NULL | FLATMAP q0 -> { SCAN(<,>) | TFILTER X | FILTER q0 NOT_NULL AS q1 RETURN (q1.IDX AS IDX) }"
52-
# - result: [{4}, {5}, {6}]
53-
# -
54-
# # PartiQL resolution.
55-
# - query: select idr from r, r.nr as NEST where NEST.f = 23;
56-
# - result: [{2}]
57-
# -
58-
# # PartiQL resolution, another flavour (TODO check whether this still use the IR index).
59-
# - query: select idr from r, (select * from r.nr) as NEST where NEST.f = 23;
60-
# - result: [{2}]
61-
# -
62-
# # correlation are allowed in from-subquery.
63-
# - query: select x, sq.idr, sq.nr from a, (select * from r where r.idr = a.x) sq;
64-
# - result: [{x: 1, 1, [{11}, {12}, {13}]}, {x: 2, 2, [{21}, {22}, {23}]}, {x: 3, 3, [{31}, {32}, {33}]}]
65-
# -
66-
# # correlations are allowed inside a nested subquery with group by
67-
# - query: select x from a where exists (select a.x, max(idb) from b where q > a.x group by q)
68-
# - explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(_._0.IDB) AS _0) GROUP BY (_._0.Q AS _0) | MAP (q0.X AS X, _._1._0 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
69-
# - result: [{1}, {2}, {3}]
70-
# -
71-
# # correlations are allowed inside a nested subquery with group by, not necessarily qualified
72-
# - query: select x from a where exists (select x, max(idb) from b where q > x group by q)
73-
# - explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(_._0.IDB) AS _0) GROUP BY (_._0.Q AS _0) | MAP (q0.X AS X, _._1._0 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
74-
# - result: [{1}, {2}, {3}]
75-
# -
76-
# # correlations inside aggregations are allowed inside a nested subquery with group by
77-
# - query: select x from a where exists (select max(x), max(idb) from b where q > x group by q)
78-
# - explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(q0.X) AS _0, max_i(_._0.IDB) AS _1) GROUP BY (_._0.Q AS _0) | MAP (_._1._0 AS _0, _._1._1 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
79-
# - result: [{1}, {2}, {3}]
80-
# -
81-
# # correlations inside aggregations are allowed inside a nested subquery with group by
82-
# - query: select x from a where exists (select max(a.x), max(idb) from b where q > x group by q)
83-
# - explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(q0.X) AS _0, max_i(_._0.IDB) AS _1) GROUP BY (_._0.Q AS _0) | MAP (_._1._0 AS _0, _._1._1 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
84-
# - result: [{1}, {2}, {3}]
41+
-
42+
# non correlated subquery, resolving alias should be fine.
43+
- query: select ida from a where exists (select ida from a where ida = 1);
44+
- explain: "SCAN(<,>) | TFILTER A | FILTER _.IDA EQUALS promote(@c15 AS INT) | MAP (_.IDA AS IDA) | DEFAULT NULL | FLATMAP q0 -> { SCAN(<,>) | TFILTER A | FILTER q0 NOT_NULL AS q1 RETURN (q1.IDA AS IDA) }"
45+
- result: [{1}, {2}, {3}]
46+
-
47+
# this should work albeit being seemingly ambiguous
48+
# upper query block resolution should kick in _iff_ we fail to resolve
49+
# the identifier in current query block.
50+
- query: select idx from x where exists (select x from a where ida = 1);
51+
- explain: "SCAN(<,>) | TFILTER A | FILTER _.IDA EQUALS promote(@c15 AS INT) | MAP (_.X AS X) | DEFAULT NULL | FLATMAP q0 -> { SCAN(<,>) | TFILTER X | FILTER q0 NOT_NULL AS q1 RETURN (q1.IDX AS IDX) }"
52+
- result: [{4}, {5}, {6}]
53+
-
54+
# PartiQL resolution.
55+
- query: select idr from r, r.nr as NEST where NEST.f = 23;
56+
- result: [{2}]
57+
-
58+
# PartiQL resolution, another flavour (TODO check whether this still use the IR index).
59+
- query: select idr from r, (select * from r.nr) as NEST where NEST.f = 23;
60+
- result: [{2}]
61+
-
62+
# correlation are allowed in from-subquery.
63+
- query: select x, sq.idr, sq.nr from a, (select * from r where r.idr = a.x) sq;
64+
- result: [{x: 1, 1, [{11}, {12}, {13}]}, {x: 2, 2, [{21}, {22}, {23}]}, {x: 3, 3, [{31}, {32}, {33}]}]
65+
-
66+
# correlations are allowed inside a nested subquery with group by
67+
- query: select x from a where exists (select a.x, max(idb) from b where q > a.x group by q)
68+
- explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(_._0.IDB) AS _0) GROUP BY (_._0.Q AS _0) | MAP (q0.X AS X, _._1._0 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
69+
- result: [{1}, {2}, {3}]
70+
-
71+
# correlations are allowed inside a nested subquery with group by, not necessarily qualified
72+
- query: select x from a where exists (select x, max(idb) from b where q > x group by q)
73+
- explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(_._0.IDB) AS _0) GROUP BY (_._0.Q AS _0) | MAP (q0.X AS X, _._1._0 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
74+
- result: [{1}, {2}, {3}]
75+
-
76+
# correlations inside aggregations are allowed inside a nested subquery with group by
77+
- query: select x from a where exists (select max(x), max(idb) from b where q > x group by q)
78+
- explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(q0.X) AS _0, max_i(_._0.IDB) AS _1) GROUP BY (_._0.Q AS _0) | MAP (_._1._0 AS _0, _._1._1 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
79+
- result: [{1}, {2}, {3}]
80+
-
81+
# correlations inside aggregations are allowed inside a nested subquery with group by
82+
- query: select x from a where exists (select max(a.x), max(idb) from b where q > x group by q)
83+
- explain: "SCAN(<,>) | TFILTER A | FLATMAP q0 -> { ISCAN(IB [[GREATER_THAN q0.X]]) | MAP (_ AS _0) | AGG (max_i(q0.X) AS _0, max_i(_._0.IDB) AS _1) GROUP BY (_._0.Q AS _0) | MAP (_._1._0 AS _0, _._1._1 AS _1) | DEFAULT NULL | FILTER _ NOT_NULL AS q0 RETURN (q0.X AS X) }"
84+
- result: [{1}, {2}, {3}]
8585
-
8686
# plans with pushed-down predicates should be preferred
8787
- query: select sq.idr, sq.z from (select * from r where idr = 1) sq, (select f from sq.nr where f > 10) sq2 where sq.z = 10 AND sq2.f is not null

0 commit comments

Comments
 (0)