@Test public final void testUnionClause() { ParseTree tree = analyzer.parse(setClauses[0]).getParseTree(); assertEquals(StatementType.UNION, tree.getType()); SetStmt union = (SetStmt) tree; assertEquals(StatementType.SELECT, union.getLeftTree().getType()); assertEquals(StatementType.SELECT, union.getRightTree().getType()); QueryBlock left = (QueryBlock) union.getLeftTree(); assertEquals("student", left.getFromTables()[0].getTableName()); QueryBlock right = (QueryBlock) union.getRightTree(); assertEquals("branch", right.getFromTables()[0].getTableName()); // multiple set statements tree = analyzer.parse(setClauses[1]).getParseTree(); assertEquals(StatementType.UNION, tree.getType()); union = (SetStmt) tree; assertEquals(StatementType.SELECT, union.getLeftTree().getType()); assertEquals(StatementType.INTERSECT, union.getRightTree().getType()); left = (QueryBlock) union.getLeftTree(); assertEquals("student", left.getFromTables()[0].getTableName()); SetStmt rightSet = (SetStmt) union.getRightTree(); left = (QueryBlock) rightSet.getLeftTree(); assertEquals("branch", left.getFromTables()[0].getTableName()); right = (QueryBlock) rightSet.getRightTree(); assertEquals("b", right.getFromTables()[0].getAlias()); }
@Test public final void testSelectStatementWithAlias() { QueryBlock block = (QueryBlock) analyzer.parse(QUERIES[4]).getParseTree(); assertEquals(2, block.getFromTables().length); assertEquals("people", block.getFromTables()[0].getTableName()); assertEquals("student", block.getFromTables()[1].getTableName()); }