Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ public void testRecursive() {
DECLARE RECURSIVE VIEW V(v INT);
CREATE VIEW V AS SELECT v FROM V UNION SELECT 1;""";
var ccs = this.getCCS(sql);
ccs.step("", """
v | weight
------------
1 | 1""");
ccs.stepWeightOne("", """
v
---
1""");
CircuitVisitor visitor = new CircuitVisitor(ccs.compiler) {
int recursive = 0;
@Override
Expand All @@ -48,17 +48,17 @@ public void testRecursive2() {
CREATE TABLE T(v INT);
CREATE VIEW V AS SELECT v FROM V UNION SELECT * FROM T;""";
var ccs = this.getCCS(sql);
ccs.step("", """
v | weight
------------""");
ccs.step("INSERT INTO T VALUES(1)", """
v | weight
------------
1 | 1""");
ccs.step("INSERT INTO T VALUES(2)", """
v | weight
------------
2 | 1""");
ccs.stepWeightOne("", """
v
---""");
ccs.stepWeightOne("INSERT INTO T VALUES(1)", """
v
---
1""");
ccs.stepWeightOne("INSERT INTO T VALUES(2)", """
v
---
2""");
}

@Test
Expand All @@ -72,17 +72,17 @@ public void testRecursiveInMiddle() {
CREATE LOCAL VIEW V AS SELECT v FROM V UNION SELECT * FROM X;
CREATE VIEW O AS SELECT v+1 FROM V;""";
var ccs = this.getCCS(sql);
ccs.step("", """
v | weight
------------""");
ccs.step("INSERT INTO T VALUES(1)", """
v | weight
------------
1 | 1""");
ccs.step("INSERT INTO T VALUES(2)", """
v | weight
------------
2 | 1""");
ccs.stepWeightOne("", """
v
---""");
ccs.stepWeightOne("INSERT INTO T VALUES(1)", """
v
---
1""");
ccs.stepWeightOne("INSERT INTO T VALUES(2)", """
v
---
2""");
}

@Test
Expand Down Expand Up @@ -456,18 +456,18 @@ public void transitiveClosure() {
CREATE MATERIALIZED VIEW CLOSURE AS (SELECT * FROM EDGES) UNION (SELECT * FROM STEP);
""";
var ccs = this.getCCS(sql);
ccs.step("", """
x | y | weight
----------------""");
ccs.step("INSERT INTO EDGES VALUES(0, 1);", """
x | y | weight
----------------
0 | 1 | 1""");
ccs.step("INSERT INTO EDGES VALUES(1, 2);", """
x | y | weight
---------------
1 | 2 | 1
0 | 2 | 1""");
ccs.stepWeightOne("", """
x | y
-------""");
ccs.stepWeightOne("INSERT INTO EDGES VALUES(0, 1);", """
x | y
-------
0 | 1""");
ccs.stepWeightOne("INSERT INTO EDGES VALUES(1, 2);", """
x | y
------
1 | 2
0 | 2""");
ccs.step("REMOVE FROM EDGES VALUES(0, 1);", """
x | y | weight
---------------
Expand All @@ -484,14 +484,14 @@ public void factorial() {
SELECT 1 as n, 5 as factorial
UNION ALL SELECT n+1, factorial*n FROM fact WHERE n < 5;""";
var ccs = this.getCCS(sql);
ccs.step("", """
n | factorial | weight
---+--------------------
1 | 5 | 1
2 | 5 | 1
3 | 10 | 1
4 | 30 | 1
5 | 120 | 1""");
ccs.stepWeightOne("", """
n | factorial
---+-----------
1 | 5
2 | 5
3 | 10
4 | 30
5 | 120""");
}

@Test
Expand All @@ -503,19 +503,19 @@ public void testSequence() {
UNION ALL
SELECT n+1 FROM tens WHERE n < 10;""";
var ccs = this.getCCS(sql);
ccs.step("", """
n | weight
-------------
1 | 1
2 | 1
3 | 1
4 | 1
5 | 1
6 | 1
7 | 1
8 | 1
9 | 1
10 | 1""");
ccs.stepWeightOne("", """
n
----
1
2
3
4
5
6
7
8
9
10""");
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,23 @@ public void testInterning() {
var ccs = this.getCCS("""
CREATE TABLE T(x INT, s VARCHAR INTERNED, u VARCHAR);
CREATE VIEW V AS SELECT MAX(u), SUM(x), s FROM T GROUP BY s;""");
ccs.step("INSERT INTO T VALUES(0, 'a', 'b');", """
max | sum | s| weight
------------------------
b| 0 | a| 1""");
ccs.step("INSERT INTO T VALUES(1, 'd', 'c');", """
max | sum | s| weight
-----------------------
c| 1 | d| 1""");
ccs.stepWeightOne("INSERT INTO T VALUES(0, 'a', 'b');", """
max | sum | s
---------------
b| 0 | a""");
ccs.stepWeightOne("INSERT INTO T VALUES(1, 'd', 'c');", """
max | sum | s
---------------
c| 1 | d""");
ccs.step("INSERT INTO T VALUES(2, 'a', 'c');", """
max| sum | s| weight
----------------------
b| 0 | a| -1
c| 2 | a| 1""");
ccs.step("INSERT INTO T VALUES(NULL, NULL, NULL);", """
max | sum | s | weight
------------------------
NULL |NULL |NULL | 1""");
ccs.stepWeightOne("INSERT INTO T VALUES(NULL, NULL, NULL);", """
max | sum | s
---------------
NULL |NULL |NULL""");
}

@Test
Expand All @@ -69,18 +69,18 @@ public void testUnion() {
CREATE TABLE T(x INT, s VARCHAR INTERNED, u VARCHAR);
CREATE TABLE S(x INT, s VARCHAR, u VARCHAR NOT NULL INTERNED);
CREATE VIEW V AS SELECT * FROM T UNION ALL SELECT * FROM S;""");
ccs.step("INSERT INTO T VALUES(0, 'a', 'b');", """
x | s| u| weight
----------------------
0 | a| b| 1""");
ccs.step("INSERT INTO T VALUES(1, 'd', 'c');", """
x | s| u| weight
----------------------
1 | d| c| 1""");
ccs.step("INSERT INTO S VALUES(2, 'a', 'c');", """
x | s| su| weight
-----------------------
2 | a| c| 1""");
ccs.stepWeightOne("INSERT INTO T VALUES(0, 'a', 'b');", """
x | s| u
----------
0 | a| b""");
ccs.stepWeightOne("INSERT INTO T VALUES(1, 'd', 'c');", """
x | s| u
----------
1 | d| c""");
ccs.stepWeightOne("INSERT INTO S VALUES(2, 'a', 'c');", """
x | s| su
-----------
2 | a| c""");
}

@Test
Expand All @@ -105,11 +105,11 @@ public void testTwoColumns() {
var ccs = this.getCCS("""
CREATE TABLE T(x VARCHAR NOT NULL INTERNED, s VARCHAR INTERNED);
CREATE VIEW V AS SELECT * FROM T;""");
ccs.step("INSERT INTO T VALUES('x', 'y'), ('z', NULL);", """
x| y | weight
-----------------
x| y| 1
z|NULL | 1""");
ccs.stepWeightOne("INSERT INTO T VALUES('x', 'y'), ('z', NULL);", """
x| y
------
x| y
z|NULL""");
}

@Test
Expand All @@ -119,15 +119,15 @@ public void testLeftJoin() {
CREATE TABLE T(x VARCHAR NOT NULL INTERNED, y VARCHAR NOT NULL INTERNED);
CREATE TABLE S(z VARCHAR INTERNED, w VARCHAR INTERNED, a INT);
CREATE VIEW V AS SELECT T.x, S.a FROM T LEFT JOIN S ON T.x = S.z AND T.y = S.w;""");
ccs.step("""
ccs.stepWeightOne("""
INSERT INTO T VALUES('a', 'b'), ('a', 'c');
INSERT INTO S VALUES('a', 'b', 1), ('a', 'd', 2), ('b', 'c', 3), ('a', 'b', 4);
""", """
x | a | weight
----------------
a| 1 | 1
a| 4 | 1
a|NULL| 1""");
x | a
-------
a| 1
a| 4
a|NULL""");
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,15 +205,15 @@ SELECT cast(contacts as MAP<varchar, variant>) contacts
FROM user_props
) SELECT key
FROM ref_profile profile_0, UNNEST(MAP_KEYS(profile_0.contacts)) AS t(key)""");
ccs.step("""
ccs.stepWeightOne("""
INSERT INTO j VALUES('{ "a": "1", "b": 2, "c": [1, 2, 3], "d": null, "e": { "f": 1 } }');""", """
key | weight
------------------------
a| 1
b| 1
c| 1
d| 1
e| 1""");
key
-----
a
b
c
d
e""");
}

@Test
Expand Down Expand Up @@ -242,14 +242,14 @@ SELECT cast(contacts as MAP<varchar, variant>) contacts
FROM user_props
) SELECT TO_JSON(value)
FROM ref_profile profile_0, UNNEST(MAP_VALUES(profile_0.contacts)) AS t(value)""");
ccs.step("""
ccs.stepWeightOne("""
INSERT INTO j VALUES('{ "a": "1", "b": 2, "c": [1, 2, 3], "d": null, "e": { "f": 1 } }');""", """
key | weight
------------------------
"1"| 1
2| 1
[1,2,3]| 1
null| 1
{"f":1}| 1""");
key
-----
"1"
2
[1,2,3]
null
{"f":1}""");
}
}
Loading