use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.
the class OrderingStageTest method perform.
@Test
public void perform() {
OrderingStage orderingStage = new OrderingStage();
orderingStage.perform(context);
Node select = context.getSelectBuilder().build();
// Content of "select" node:
//
// OrderBy
// |
// Empty
// / \
// Column "DESC"
Node child = select.getChild(0);
assertEquals(1, select.getChildrenCount());
assertThat(child, instanceOf(OrderByNode.class));
assertEquals(1, child.getChildrenCount());
assertThat(child.getChild(0), instanceOf(EmptyNode.class));
assertEquals(2, child.getChild(0).getChildrenCount());
assertThat(child.getChild(0).getChild(0), instanceOf(ColumnNode.class));
assertThat(child.getChild(0).getChild(1), instanceOf(TextNode.class));
ColumnNode columnNode = (ColumnNode) child.getChild(0).getChild(0);
assertEquals("path", columnNode.getColumn());
assertEquals("Node { DESC}", child.getChild(0).getChild(1).toString());
}
use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.
the class GroupByStageTest method noAggregates.
// result column but no aggregates
@Test
public void noAggregates() {
context.addResultNode(new ColumnNode("t0", "column", null, null));
GroupByStage stage = new GroupByStage();
stage.perform(context);
Node node = context.getSelectBuilder().build();
assertEquals(0, node.getChildrenCount());
}
use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.
the class GroupByStageTest method emptyContext.
// no result columns
@Test
public void emptyContext() {
GroupByStage stage = new GroupByStage();
stage.perform(context);
Node node = context.getSelectBuilder().build();
assertEquals(0, node.getChildrenCount());
}
use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.
the class InsertBuilderTest method testInsertDbEntityCatalogAndSchema.
@Test
public void testInsertDbEntityCatalogAndSchema() {
DbEntity entity = new DbEntity("test");
entity.setSchema("schema");
entity.setCatalog("catalog");
InsertBuilder builder = new InsertBuilder(entity);
Node node = builder.build();
assertThat(node, instanceOf(InsertNode.class));
assertSQL("INSERT INTO catalog.schema.test", node);
assertQuotedSQL("INSERT INTO `catalog`.`schema`.`test`", node);
}
use of org.apache.cayenne.access.sqlbuilder.sqltree.Node in project cayenne by apache.
the class UpdateBuilderTest method testUpdateWithFields.
@Test
public void testUpdateWithFields() {
UpdateBuilder builder = new UpdateBuilder("test");
builder.set(column("col1").eq(value(1))).set(column("col2").eq(value("test"))).set(column("col3").eq(value(null)));
Node node = builder.build();
assertThat(node, instanceOf(UpdateNode.class));
assertSQL("UPDATE test SET col1 = 1, col2 = 'test', col3 = NULL", node);
}
Aggregations