@@ -26,6 +26,46 @@ public void testGlobalJoin() throws JSQLParserException {
2626 assertSqlCanBeParsedAndDeparsed (sql , true );
2727 }
2828
29+ @ Test
30+ public void testGlobalAnyLeftJoin () throws JSQLParserException {
31+ String sql = "SELECT * FROM events e GLOBAL ANY LEFT JOIN users u ON e.user_id = u.id" ;
32+ PlainSelect select = (PlainSelect ) assertSqlCanBeParsedAndDeparsed (sql , true );
33+ Join join = select .getJoins ().get (0 );
34+ Assertions .assertTrue (join .isGlobal ());
35+ Assertions .assertTrue (join .isAny ());
36+ Assertions .assertTrue (join .isLeft ());
37+ }
38+
39+ @ Test
40+ public void testGlobalAllRightJoin () throws JSQLParserException {
41+ String sql = "SELECT * FROM events e GLOBAL ALL RIGHT JOIN users u ON e.user_id = u.id" ;
42+ PlainSelect select = (PlainSelect ) assertSqlCanBeParsedAndDeparsed (sql , true );
43+ Join join = select .getJoins ().get (0 );
44+ Assertions .assertTrue (join .isGlobal ());
45+ Assertions .assertTrue (join .isAll ());
46+ Assertions .assertTrue (join .isRight ());
47+ }
48+
49+ @ Test
50+ public void testLeftAnyJoinOrderVariant () throws JSQLParserException {
51+ String sql = "SELECT * FROM events e LEFT ANY JOIN users u ON e.user_id = u.id" ;
52+ Select statement = (Select ) CCJSqlParserUtil .parse (sql );
53+ PlainSelect select = (PlainSelect ) statement .getSelectBody ();
54+ Join join = select .getJoins ().get (0 );
55+ Assertions .assertTrue (join .isAny ());
56+ Assertions .assertTrue (join .isLeft ());
57+ }
58+
59+ @ Test
60+ public void testRightAllJoinOrderVariant () throws JSQLParserException {
61+ String sql = "SELECT * FROM events e RIGHT ALL JOIN users u ON e.user_id = u.id" ;
62+ Select statement = (Select ) CCJSqlParserUtil .parse (sql );
63+ PlainSelect select = (PlainSelect ) statement .getSelectBody ();
64+ Join join = select .getJoins ().get (0 );
65+ Assertions .assertTrue (join .isAll ());
66+ Assertions .assertTrue (join .isRight ());
67+ }
68+
2969 @ Test
3070 public void testFunctionWithAttributesIssue1742 () throws JSQLParserException {
3171 String sql = "SELECT f1(arguments).f2.f3 from dual" ;
0 commit comments