Esempio n. 1
0
 @Test
 public final void testCrossJoinClause() {
   QueryBlock block = (QueryBlock) analyzer.parse(JOINS[3]).getParseTree();
   JoinClause join = block.getJoinClause();
   assertEquals(JoinType.CROSS_JOIN, join.getJoinType());
   assertEquals("branch", join.getRight().getTableName());
   assertTrue(join.hasLeftJoin());
   assertEquals("people", join.getLeftJoin().getLeft().getTableName());
   assertEquals("student", join.getLeftJoin().getRight().getTableName());
 }
Esempio n. 2
0
 @Test
 public final void testRightJoinClause() {
   QueryBlock block = (QueryBlock) analyzer.parse(JOINS[8]).getParseTree();
   JoinClause join = block.getJoinClause();
   assertEquals(JoinType.RIGHT_OUTER, join.getJoinType());
   assertEquals("people", join.getLeft().getTableName());
   assertEquals("p", join.getLeft().getAlias());
   assertEquals("student", join.getRight().getTableName());
   assertEquals("s", join.getRight().getAlias());
   assertTrue(join.hasJoinQual());
   assertEquals(EvalNode.Type.EQUAL, join.getJoinQual().getType());
 }
Esempio n. 3
0
 @Test
 /** join / \ join branch / \ people student */
 public final void testNaturalJoinClause() {
   QueryBlock block = (QueryBlock) analyzer.parse(JOINS[0]).getParseTree();
   JoinClause join = block.getJoinClause();
   assertEquals(JoinType.INNER, join.getJoinType());
   assertTrue(join.isNatural());
   assertEquals("branch", join.getRight().getTableName());
   assertTrue(join.hasLeftJoin());
   assertEquals("people", join.getLeftJoin().getLeft().getTableName());
   assertEquals("student", join.getLeftJoin().getRight().getTableName());
 }
Esempio n. 4
0
  @Test
  /** join / \ people student */
  public final void testInnerJoinClause() {
    QueryBlock block = (QueryBlock) analyzer.parse(JOINS[1]).getParseTree();
    JoinClause join = block.getJoinClause();
    assertEquals(JoinType.INNER, join.getJoinType());
    assertEquals("people", join.getLeft().getTableName());
    assertEquals("p", join.getLeft().getAlias());
    assertEquals("student", join.getRight().getTableName());
    assertEquals("s", join.getRight().getAlias());
    assertTrue(join.hasJoinQual());
    assertEquals(EvalNode.Type.EQUAL, join.getJoinQual().getType());

    block = (QueryBlock) analyzer.parse(JOINS[2]).getParseTree();
    join = block.getJoinClause();
    assertEquals(JoinType.INNER, join.getJoinType());
    assertEquals("people", join.getLeft().getTableName());
    assertEquals("p", join.getLeft().getAlias());
    assertEquals("student", join.getRight().getTableName());
    assertEquals("s", join.getRight().getAlias());
    assertTrue(join.hasJoinColumns());
    assertEquals("id", join.getJoinColumns()[0].getColumnName());
  }