JoinPreProcessor { public static QueryTreeNode optimize(QueryTreeNode qtn) throws QueryException { qtn = findAndChangeRightJoinToLeftJoin(qtn); return qtn; }  static QueryTreeNode optimize(QueryTreeNode qtn);  }
@Test public void test_交换_右链接() { TableNode table1 = new TableNode("TABLE1"); TableNode table2 = new TableNode("TABLE2"); JoinNode join = table1.join(table2).setRightOuterJoin(); join.build(); JoinPreProcessor.optimize(join); Assert.assertEquals(true, join.isLeftOuterJoin()); Assert.assertEquals(table2, join.getLeftNode()); }