@Test public void testOptionMakeDepInline5(){
GroupSymbol g1 = new GroupSymbol("db.g1");
GroupSymbol g2 = new GroupSymbol("db.g2");
GroupSymbol g3 = new GroupSymbol("db.g3");
ElementSymbol a = new ElementSymbol("a");
ElementSymbol b = new ElementSymbol("b");
ElementSymbol c = new ElementSymbol("c");
List<Object> crits = new ArrayList<Object>();
crits.add(new CompareCriteria(a, CompareCriteria.EQ, b));
JoinPredicate jp = new JoinPredicate(new UnaryFromClause(g1), new UnaryFromClause(g2), JoinType.JOIN_INNER, crits);
jp.setMakeDep(true);
List<Object> crits2 = new ArrayList<Object>();
crits2.add(new CompareCriteria(a, CompareCriteria.EQ, c));
JoinPredicate jp2 = new JoinPredicate(jp, new UnaryFromClause(g3), JoinType.JOIN_LEFT_OUTER, crits2);
From from = new From();
from.addClause(jp2);
Select select = new Select();
select.addSymbol(a);
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
TestParser.helpTest("Select a From (db.g1 JOIN db.g2 ON a = b) makedep LEFT OUTER JOIN db.g3 ON a = c",
"SELECT a FROM /*+ MAKEDEP */ (db.g1 INNER JOIN db.g2 ON a = b) LEFT OUTER JOIN db.g3 ON a = c",
query);
TestParser.helpTest(query.toString(), query.toString(), query);
}