@@ -1466,7 +1466,7 @@ fn parse_join_nesting() {
1466
1466
}
1467
1467
1468
1468
macro_rules! nest {
1469
- ( $base: expr, $( $join: expr) , * ) => {
1469
+ ( $base: expr $( , $join: expr) * ) => {
1470
1470
TableFactor :: NestedJoin {
1471
1471
base: Box :: new( $base) ,
1472
1472
joins: vec![ $( join( $join) ) ,* ]
@@ -1487,7 +1487,17 @@ fn parse_join_nesting() {
1487
1487
let sql = "SELECT * FROM (a NATURAL JOIN b) NATURAL JOIN c" ;
1488
1488
let select = verified_only_select ( sql) ;
1489
1489
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 ! ( select. relation. unwrap( ) , nest!( nest!( nest!( table( "a" ) , table( "b" ) ) ) ) ) ;
1495
+ assert_eq ! ( select. joins, vec![ ] ) ;
1496
+
1497
+ let sql = "SELECT * FROM a NATURAL JOIN (((b NATURAL JOIN c)))" ;
1498
+ let select = verified_only_select ( sql) ;
1499
+ assert_eq ! ( select. relation. unwrap( ) , table( "a" ) ) ;
1500
+ assert_eq ! ( select. joins, vec![ join( nest!( nest!( nest!( table( "b" ) , table( "c" ) ) ) ) ) ] ) ;
1491
1501
}
1492
1502
1493
1503
#[ test]
@@ -1586,6 +1596,14 @@ fn parse_derived_tables() {
1586
1596
CROSS JOIN (SELECT y FROM bar) AS b (y)";
1587
1597
let _ = verified_only_select ( sql) ;
1588
1598
//TODO: add assertions
1599
+
1600
+ let sql = "SELECT * FROM (((SELECT 1)))" ;
1601
+ let _ = verified_only_select ( sql) ;
1602
+ // TODO: add assertions
1603
+
1604
+ let sql = "SELECT * FROM t NATURAL JOIN (((SELECT 1)))" ;
1605
+ let _ = verified_only_select ( sql) ;
1606
+ // TODO: add assertions
1589
1607
}
1590
1608
1591
1609
#[ test]
0 commit comments