Skip to content

Commit

Permalink
Fix set op behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
alancai98 committed Aug 15, 2024
1 parent ba9d4d0 commit 3183bb0
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,8 @@ bagOperators::[
evalMode:EvalModeCoerce,
result:EvaluationSuccess,
output:$bag::[
null,
$missing::null
]
},
{
Expand Down Expand Up @@ -259,7 +261,7 @@ bagOperators::[
{
evalMode:EvalModeCoerce,
result:EvaluationSuccess,
output:$bag::[
output:$bag::[ // still empty bag since both sides coerce to bag of absent value
]
},
{
Expand Down Expand Up @@ -324,6 +326,7 @@ bagOperators::[
evalMode:EvalModeCoerce,
result:EvaluationSuccess,
output:$bag::[
null
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,111 +221,111 @@
}
},
{
name: "disallow outer union with ORDER BY",
name: "allow outer union with ORDER BY",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER UNION
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
ORDER BY c3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer union with LIMIT",
name: "allow outer union with LIMIT",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER UNION
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
LIMIT d3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer union with OFFSET",
name: "allow outer union with OFFSET",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER UNION
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
OFFSET e3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer intersect with ORDER BY",
name: "allow outer intersect with ORDER BY",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER INTERSECT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
ORDER BY c3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer intersect with LIMIT",
name: "allow outer intersect with LIMIT",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER INTERSECT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
LIMIT d3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer intersect with OFFSET",
name: "allow outer intersect with OFFSET",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER INTERSECT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
OFFSET e3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer except with ORDER BY",
name: "allow outer except with ORDER BY",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER EXCEPT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
ORDER BY c3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer except with LIMIT",
name: "allow outer except with LIMIT",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER EXCEPT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
LIMIT d3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
{
name: "disallow outer except with OFFSET",
name: "allow outer except with OFFSET",
statement: '''
(SELECT a1 FROM b1 ORDER BY c1 LIMIT d1 OFFSET e1)
OUTER EXCEPT
(SELECT a2 FROM b2 ORDER BY c2 LIMIT d2 OFFSET e2)
OFFSET e3
''',
assert: {
result: SyntaxFail
result: SyntaxSuccess
}
},
]

0 comments on commit 3183bb0

Please sign in to comment.