Search in sources :

Example 61 with Node

use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.

the class SelectBuilderTest method testSelectFromWhereNull.

@Test
public void testSelectFromWhereNull() {
    SelectBuilder builder = new SelectBuilder(column("a")).from(table("b")).where(column("a").eq(value(null)));
    Node node = builder.build();
    assertThat(node, instanceOf(SelectNode.class));
    assertSQL("SELECT a FROM b WHERE a IS NULL", node);
}
Also used : SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Test(org.junit.Test)

Example 62 with Node

use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.

the class SelectBuilderTest method testSelectFrom.

@Test
public void testSelectFrom() {
    SelectBuilder builder = new SelectBuilder(column("a")).from(table("b"));
    Node node = builder.build();
    assertThat(node, instanceOf(SelectNode.class));
    assertSQL("SELECT a FROM b", node);
    assertQuotedSQL("SELECT `a` FROM `b`", node);
}
Also used : SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Test(org.junit.Test)

Example 63 with Node

use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.

the class SelectBuilderTest method testSelectFromDbEntity.

@Test
public void testSelectFromDbEntity() {
    DbEntity entity = new DbEntity("b");
    entity.setSchema("d");
    entity.setCatalog("c");
    SelectBuilder builder = new SelectBuilder(column("a")).from(table(entity));
    Node node = builder.build();
    assertThat(node, instanceOf(SelectNode.class));
    assertSQL("SELECT a FROM c.d.b", node);
    assertQuotedSQL("SELECT `a` FROM `c`.`d`.`b`", node);
}
Also used : DbEntity(org.apache.cayenne.map.DbEntity) SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Test(org.junit.Test)

Example 64 with Node

use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.

the class SelectBuilderTest method testSelectFromWhereComplex.

@Test
public void testSelectFromWhereComplex() {
    SelectBuilder builder = new SelectBuilder(column("a")).from(table("b")).where(column("a").eq(value(123)).and(column("c").lt(column("d"))));
    Node node = builder.build();
    assertThat(node, instanceOf(SelectNode.class));
    assertSQL("SELECT a FROM b WHERE ( a = 123 ) AND ( c < d )", node);
}
Also used : SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) SelectNode(org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode) Test(org.junit.Test)

Example 65 with Node

use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.

the class GroupByStageTest method groupByWithAggregates.

// result column + aggregate
@Test
public void groupByWithAggregates() {
    context.addResultNode(new ColumnNode("t0", "column", null, null));
    context.addResultNode(new EmptyNode(), true, PropertyFactory.COUNT, "count");
    GroupByStage stage = new GroupByStage();
    stage.perform(context);
    Node node = context.getSelectBuilder().build();
    assertEquals(1, node.getChildrenCount());
    assertThat(node.getChild(0), instanceOf(GroupByNode.class));
    assertEquals(1, node.getChild(0).getChildrenCount());
    assertThat(node.getChild(0).getChild(0), instanceOf(ColumnNode.class));
    ColumnNode columnNode = (ColumnNode) node.getChild(0).getChild(0);
    assertEquals("t0", columnNode.getTable());
    assertEquals("column", columnNode.getColumn());
}
Also used : EmptyNode(org.apache.cayenne.access.sqlbuilder.sqltree.EmptyNode) GroupByNode(org.apache.cayenne.access.sqlbuilder.sqltree.GroupByNode) ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) EmptyNode(org.apache.cayenne.access.sqlbuilder.sqltree.EmptyNode) GroupByNode(org.apache.cayenne.access.sqlbuilder.sqltree.GroupByNode) ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) Test(org.junit.Test)

Aggregations

Node (org.apache.cayenne.access.sqlbuilder.sqltree.Node)67 Test (org.junit.Test)32 ColumnNode (org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode)15 OpExpressionNode (org.apache.cayenne.access.sqlbuilder.sqltree.OpExpressionNode)15 FunctionNode (org.apache.cayenne.access.sqlbuilder.sqltree.FunctionNode)14 LimitOffsetNode (org.apache.cayenne.access.sqlbuilder.sqltree.LimitOffsetNode)13 TextNode (org.apache.cayenne.access.sqlbuilder.sqltree.TextNode)11 EmptyNode (org.apache.cayenne.access.sqlbuilder.sqltree.EmptyNode)9 ValueNode (org.apache.cayenne.access.sqlbuilder.sqltree.ValueNode)9 DbEntity (org.apache.cayenne.map.DbEntity)9 SelectNode (org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode)8 InsertNode (org.apache.cayenne.access.sqlbuilder.sqltree.InsertNode)6 TrimmingColumnNode (org.apache.cayenne.access.sqlbuilder.sqltree.TrimmingColumnNode)6 QuotingAppendable (org.apache.cayenne.access.sqlbuilder.QuotingAppendable)5 UpdateNode (org.apache.cayenne.access.sqlbuilder.sqltree.UpdateNode)5 DeleteNode (org.apache.cayenne.access.sqlbuilder.sqltree.DeleteNode)4 InNode (org.apache.cayenne.access.sqlbuilder.sqltree.InNode)4 MysqlLimitOffsetNode (org.apache.cayenne.dba.mysql.sqltree.MysqlLimitOffsetNode)4 Expression (org.apache.cayenne.exp.Expression)4 SimpleNode (org.apache.cayenne.exp.parser.SimpleNode)4