Search in sources :

Example 1 with Node

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

the class AliasedNodeBuilder method build.

@Override
public Node build() {
    Node root = new AliasedNode(alias);
    root.addChild(nodeBuilder.build());
    return root;
}
Also used : Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) AliasedNode(org.apache.cayenne.access.sqlbuilder.sqltree.AliasedNode) AliasedNode(org.apache.cayenne.access.sqlbuilder.sqltree.AliasedNode)

Example 2 with Node

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

the class ExistsNodeBuilder method build.

@Override
public Node build() {
    Node node = new ExistsNode();
    node.addChild(builder.build());
    return node;
}
Also used : ExistsNode(org.apache.cayenne.access.sqlbuilder.sqltree.ExistsNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) ExistsNode(org.apache.cayenne.access.sqlbuilder.sqltree.ExistsNode)

Example 3 with Node

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

the class DB2SQLTreeProcessor method onValueNode.

@Override
protected void onValueNode(Node parent, ValueNode child, int index) {
    Node replacement = new DerbyValueNode(child.getValue(), child.isArray(), child.getAttribute());
    replaceChild(parent, index, replacement, false);
}
Also used : ValueNode(org.apache.cayenne.access.sqlbuilder.sqltree.ValueNode) MysqlLimitOffsetNode(org.apache.cayenne.dba.mysql.sqltree.MysqlLimitOffsetNode) ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) OpExpressionNode(org.apache.cayenne.access.sqlbuilder.sqltree.OpExpressionNode) FunctionNode(org.apache.cayenne.access.sqlbuilder.sqltree.FunctionNode) LimitOffsetNode(org.apache.cayenne.access.sqlbuilder.sqltree.LimitOffsetNode) DerbyValueNode(org.apache.cayenne.dba.derby.sqltree.DerbyValueNode) TrimmingColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.TrimmingColumnNode) DerbyValueNode(org.apache.cayenne.dba.derby.sqltree.DerbyValueNode)

Example 4 with Node

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

the class DB2SQLTreeProcessor method onLimitOffsetNode.

@Override
protected void onLimitOffsetNode(Node parent, LimitOffsetNode child, int index) {
    Node replacement = new MysqlLimitOffsetNode(child.getLimit(), child.getOffset());
    replaceChild(parent, index, replacement, false);
}
Also used : ValueNode(org.apache.cayenne.access.sqlbuilder.sqltree.ValueNode) MysqlLimitOffsetNode(org.apache.cayenne.dba.mysql.sqltree.MysqlLimitOffsetNode) ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) OpExpressionNode(org.apache.cayenne.access.sqlbuilder.sqltree.OpExpressionNode) FunctionNode(org.apache.cayenne.access.sqlbuilder.sqltree.FunctionNode) LimitOffsetNode(org.apache.cayenne.access.sqlbuilder.sqltree.LimitOffsetNode) DerbyValueNode(org.apache.cayenne.dba.derby.sqltree.DerbyValueNode) TrimmingColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.TrimmingColumnNode) MysqlLimitOffsetNode(org.apache.cayenne.dba.mysql.sqltree.MysqlLimitOffsetNode)

Example 5 with Node

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

the class DeleteBuilderTest method testDeleteWithQualifier.

@Test
public void testDeleteWithQualifier() {
    DeleteBuilder builder = new DeleteBuilder("test");
    Node node = builder.where(column("col1").eq(value(1)).and(column("col2").eq(value("test"))).and(column("col3").eq(value(null)))).build();
    assertThat(node, instanceOf(DeleteNode.class));
    assertSQL("DELETE FROM test WHERE ( ( col1 = 1 ) AND ( col2 = 'test' ) ) AND ( col3 IS NULL )", node);
}
Also used : DeleteNode(org.apache.cayenne.access.sqlbuilder.sqltree.DeleteNode) DeleteNode(org.apache.cayenne.access.sqlbuilder.sqltree.DeleteNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) 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