-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to plk 0.14.6 + add UNION support #56
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -89,6 +89,13 @@ abstract class SqlDialect : AstBaseVisitor<SqlBlock, SqlBlock>() { | |
t = t concat ")" | ||
t | ||
} | ||
node is Expr.BagOp -> { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Copy over a change from the PLK PR partiql/partiql-lang-kotlin#1506 since Scribe uses its own-defined |
||
var t = tail | ||
t = t concat "(" | ||
t = visitExprBagOp(node, t) | ||
t = t concat ")" | ||
t | ||
} | ||
else -> visitExpr(node, tail) | ||
} | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
{ | ||
type: "bag", | ||
items: { | ||
type: "struct", | ||
constraints: [ closed, ordered, unique ], | ||
fields: [ | ||
{ | ||
name: "a", | ||
type: "bool", | ||
}, | ||
{ | ||
name: "b", | ||
type: "int32", | ||
}, | ||
{ | ||
name: "c", | ||
type: "string", | ||
} | ||
] | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-- SQL set ops | ||
|
||
-- SQL UNION | ||
--#[setop-00] | ||
SELECT a FROM SIMPLE_T AS t1 UNION SELECT a FROM SIMPLE_T AS t2; | ||
|
||
--#[setop-01] | ||
SELECT a FROM SIMPLE_T AS t1 UNION ALL SELECT a FROM SIMPLE_T AS t2; | ||
|
||
--#[setop-02] | ||
SELECT a FROM SIMPLE_T AS t1 UNION ALL SELECT a FROM SIMPLE_T AS t2 UNION SELECT a FROM SIMPLE_T AS t3; | ||
|
||
--#[setop-03] | ||
SELECT a FROM SIMPLE_T AS t1 UNION ALL (SELECT a FROM SIMPLE_T AS t2 UNION SELECT a FROM SIMPLE_T AS t3); | ||
|
||
--#[setop-04] | ||
SELECT c, b, a FROM SIMPLE_T AS t1 UNION ALL (SELECT c, b, a FROM SIMPLE_T AS t2 UNION SELECT c, b, a FROM SIMPLE_T AS t3); | ||
|
||
--#[setop-05] | ||
SELECT * FROM SIMPLE_T AS t1 UNION ALL SELECT * FROM SIMPLE_T AS t2 UNION SELECT * FROM SIMPLE_T AS t3; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-- SQL set ops | ||
|
||
-- SQL UNION | ||
--#[setop-00] | ||
(SELECT "t1"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION DISTINCT (SELECT "t2"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-01] | ||
(SELECT "t1"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-02] | ||
((SELECT "t1"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t3"); | ||
|
||
--#[setop-03] | ||
(SELECT "t1"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-04] | ||
(SELECT "t1"['c'] AS "c", "t1"['b'] AS "b", "t1"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"['c'] AS "c", "t2"['b'] AS "b", "t2"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"['c'] AS "c", "t3"['b'] AS "b", "t3"['a'] AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-05] | ||
((SELECT "t1".* FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2".* FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3".* FROM "default"."SIMPLE_T" AS "t3"); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-- SQL set ops | ||
|
||
-- SQL UNION | ||
--#[setop-00] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION DISTINCT (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-01] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-02] | ||
((SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3"); | ||
|
||
--#[setop-03] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-04] | ||
(SELECT "t1"."c" AS "c", "t1"."b" AS "b", "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"."c" AS "c", "t2"."b" AS "b", "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"."c" AS "c", "t3"."b" AS "b", "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-05] | ||
((SELECT "t1"."a" AS "a", "t1"."b" AS "b", "t1"."c" AS "c" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a", "t2"."b" AS "b", "t2"."c" AS "c" FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3"."a" AS "a", "t3"."b" AS "b", "t3"."c" AS "c" FROM "default"."SIMPLE_T" AS "t3"); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,23 @@ | ||
--#[between-00] | ||
-- between(decimal, int32, int32) | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN -1 AND 1; | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN CAST(-1 AS DECIMAL) AND CAST(1 AS DECIMAL); | ||
|
||
--#[between-01] | ||
-- between(decimal, int64, int64) | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN -2147483649 AND 2147483648; | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN CAST(-2147483649 AS DECIMAL) AND CAST(2147483648 AS DECIMAL); | ||
|
||
--#[between-02] | ||
-- between(decimal, decimal, decimal) | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN -9223372036854775809 AND 9223372036854775808; | ||
SELECT "T_DECIMALS"."da" AS "da" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."da" BETWEEN CAST(-9223372036854775809 AS DECIMAL) AND CAST(9223372036854775808 AS DECIMAL); | ||
|
||
--#[between-04] | ||
-- between(decimal(p,s), int32, int32) | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."de" BETWEEN -1 AND 1; | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE CAST("T_DECIMALS"."de" AS DECIMAL) BETWEEN CAST(-1 AS DECIMAL) AND CAST(1 AS DECIMAL); | ||
|
||
--#[between-05] | ||
-- between(decimal(p,s), int64, int64) | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."de" BETWEEN -2147483649 AND 2147483648; | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE CAST("T_DECIMALS"."de" AS DECIMAL) BETWEEN CAST(-2147483649 AS DECIMAL) AND CAST(2147483648 AS DECIMAL); | ||
|
||
--#[between-06] | ||
-- between(decimal(p,s), decimal, decimal) | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE "T_DECIMALS"."de" BETWEEN -9223372036854775809 AND 9223372036854775808; | ||
SELECT "T_DECIMALS"."de" AS "de" FROM "default"."T_DECIMALS" AS "T_DECIMALS" WHERE CAST("T_DECIMALS"."de" AS DECIMAL) BETWEEN CAST(-9223372036854775809 AS DECIMAL) AND CAST(9223372036854775808 AS DECIMAL); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-- SQL set ops | ||
|
||
-- SQL UNION | ||
--#[setop-00] | ||
(SELECT `t1`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t1`) UNION DISTINCT (SELECT `t2`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t2`); | ||
|
||
--#[setop-01] | ||
(SELECT `t1`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t1`) UNION ALL (SELECT `t2`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t2`); | ||
|
||
--#[setop-02] | ||
((SELECT `t1`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t1`) UNION ALL (SELECT `t2`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t2`)) UNION DISTINCT (SELECT `t3`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t3`); | ||
|
||
--#[setop-03] | ||
(SELECT `t1`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t1`) UNION ALL ((SELECT `t2`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t2`) UNION DISTINCT (SELECT `t3`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t3`)); | ||
|
||
--#[setop-04] | ||
(SELECT `t1`.`c` AS `c`, `t1`.`b` AS `b`, `t1`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t1`) UNION ALL ((SELECT `t2`.`c` AS `c`, `t2`.`b` AS `b`, `t2`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t2`) UNION DISTINCT (SELECT `t3`.`c` AS `c`, `t3`.`b` AS `b`, `t3`.`a` AS `a` FROM `default`.`SIMPLE_T` AS `t3`)); | ||
|
||
--#[setop-05] | ||
((SELECT `t1`.`a` AS `a`, `t1`.`b` AS `b`, `t1`.`c` AS `c` FROM `default`.`SIMPLE_T` AS `t1`) UNION ALL (SELECT `t2`.`a` AS `a`, `t2`.`b` AS `b`, `t2`.`c` AS `c` FROM `default`.`SIMPLE_T` AS `t2`)) UNION DISTINCT (SELECT `t3`.`a` AS `a`, `t3`.`b` AS `b`, `t3`.`c` AS `c` FROM `default`.`SIMPLE_T` AS `t3`); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,23 @@ | ||
--#[between-00] | ||
-- between(decimal, int32, int32) | ||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN -1 AND 1; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Each dialect had some failing |
||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN CAST(-1 AS DECIMAL) AND CAST(1 AS DECIMAL); | ||
|
||
--#[between-01] | ||
-- between(decimal, int64, int64) | ||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN -2147483649 AND 2147483648; | ||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN CAST(-2147483649 AS DECIMAL) AND CAST(2147483648 AS DECIMAL); | ||
|
||
--#[between-02] | ||
-- between(decimal, decimal, decimal) | ||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN -9223372036854775809 AND 9223372036854775808; | ||
SELECT `T_DECIMALS`.`da` AS `da` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`da` BETWEEN CAST(-9223372036854775809 AS DECIMAL) AND CAST(9223372036854775808 AS DECIMAL); | ||
|
||
--#[between-04] | ||
-- between(decimal(p,s), int32, int32) | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`de` BETWEEN -1 AND 1; | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE CAST(`T_DECIMALS`.`de` AS DECIMAL) BETWEEN CAST(-1 AS DECIMAL) AND CAST(1 AS DECIMAL); | ||
|
||
--#[between-05] | ||
-- between(decimal(p,s), int64, int64) | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`de` BETWEEN -2147483649 AND 2147483648; | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE CAST(`T_DECIMALS`.`de` AS DECIMAL) BETWEEN CAST(-2147483649 AS DECIMAL) AND CAST(2147483648 AS DECIMAL); | ||
|
||
--#[between-06] | ||
-- between(decimal(p,s), decimal, decimal) | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE `T_DECIMALS`.`de` BETWEEN -9223372036854775809 AND 9223372036854775808; | ||
SELECT `T_DECIMALS`.`de` AS `de` FROM `default`.`T_DECIMALS` AS `T_DECIMALS` WHERE CAST(`T_DECIMALS`.`de` AS DECIMAL) BETWEEN CAST(-9223372036854775809 AS DECIMAL) AND CAST(9223372036854775808 AS DECIMAL); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
-- SQL set ops | ||
|
||
-- SQL UNION | ||
--#[setop-00] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION DISTINCT (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-01] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2"); | ||
|
||
--#[setop-02] | ||
((SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3"); | ||
|
||
--#[setop-03] | ||
(SELECT "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-04] | ||
(SELECT "t1"."c" AS "c", "t1"."b" AS "b", "t1"."a" AS "a" FROM "default"."SIMPLE_T" AS "t1") UNION ALL ((SELECT "t2"."c" AS "c", "t2"."b" AS "b", "t2"."a" AS "a" FROM "default"."SIMPLE_T" AS "t2") UNION DISTINCT (SELECT "t3"."c" AS "c", "t3"."b" AS "b", "t3"."a" AS "a" FROM "default"."SIMPLE_T" AS "t3")); | ||
|
||
--#[setop-05] | ||
((SELECT "t1"."a" AS "a", "t1"."b" AS "b", "t1"."c" AS "c" FROM "default"."SIMPLE_T" AS "t1") UNION ALL (SELECT "t2"."a" AS "a", "t2"."b" AS "b", "t2"."c" AS "c" FROM "default"."SIMPLE_T" AS "t2")) UNION DISTINCT (SELECT "t3"."a" AS "a", "t3"."b" AS "b", "t3"."c" AS "c" FROM "default"."SIMPLE_T" AS "t3"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes in this file are due to upgrading to PLK 0.14.6, which internalized the ANTLR dependency. ANTLR runtime dependencies are available under
org.partiql.parser.thirdparty.antlr.v4.runtime
rather thanorg.antlr.v4.runtime
.