Skip to content

Commit 4a5099f

Browse files
authored
Merge pull request #108 from benesch/test-nesting
Test that redundant nesting is supported
2 parents 5f9f17d + ccbd048 commit 4a5099f

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

tests/sqlparser_common.rs

+26-2
Original file line numberDiff line numberDiff line change
@@ -1466,7 +1466,7 @@ fn parse_join_nesting() {
14661466
}
14671467

14681468
macro_rules! nest {
1469-
($base:expr, $($join:expr),*) => {
1469+
($base:expr $(, $join:expr)*) => {
14701470
TableFactor::NestedJoin {
14711471
base: Box::new($base),
14721472
joins: vec![$(join($join)),*]
@@ -1487,7 +1487,23 @@ fn parse_join_nesting() {
14871487
let sql = "SELECT * FROM (a NATURAL JOIN b) NATURAL JOIN c";
14881488
let select = verified_only_select(sql);
14891489
assert_eq!(select.relation.unwrap(), nest!(table("a"), table("b")),);
1490-
assert_eq!(select.joins, vec![join(table("c"))],)
1490+
assert_eq!(select.joins, vec![join(table("c"))]);
1491+
1492+
let sql = "SELECT * FROM (((a NATURAL JOIN b)))";
1493+
let select = verified_only_select(sql);
1494+
assert_eq!(
1495+
select.relation.unwrap(),
1496+
nest!(nest!(nest!(table("a"), table("b"))))
1497+
);
1498+
assert_eq!(select.joins, vec![]);
1499+
1500+
let sql = "SELECT * FROM a NATURAL JOIN (((b NATURAL JOIN c)))";
1501+
let select = verified_only_select(sql);
1502+
assert_eq!(select.relation.unwrap(), table("a"));
1503+
assert_eq!(
1504+
select.joins,
1505+
vec![join(nest!(nest!(nest!(table("b"), table("c")))))]
1506+
);
14911507
}
14921508

14931509
#[test]
@@ -1586,6 +1602,14 @@ fn parse_derived_tables() {
15861602
CROSS JOIN (SELECT y FROM bar) AS b (y)";
15871603
let _ = verified_only_select(sql);
15881604
//TODO: add assertions
1605+
1606+
let sql = "SELECT * FROM (((SELECT 1)))";
1607+
let _ = verified_only_select(sql);
1608+
// TODO: add assertions
1609+
1610+
let sql = "SELECT * FROM t NATURAL JOIN (((SELECT 1)))";
1611+
let _ = verified_only_select(sql);
1612+
// TODO: add assertions
15891613
}
15901614

15911615
#[test]

0 commit comments

Comments
 (0)