Search in sources :

Example 6 with WhereNode

use of org.ballerinalang.model.tree.clauses.WhereNode in project ballerina by ballerina-lang.

the class SqlQueryBuilder method visit.

@Override
public void visit(BLangStreamingInput streamingInput) {
    streamingInputClause = new StringBuilder();
    BLangExpression tableReference = (BLangExpression) streamingInput.getStreamReference();
    tableReference.accept(this);
    exprStack.pop();
    streamingInputClause.append("(select * from [[tableName]]");
    WhereNode where = streamingInput.getBeforeStreamingCondition();
    if (where == null) {
        where = streamingInput.getAfterStreamingCondition();
    }
    /* for tables there can only be one whereClause and there is no windowClause.
         So we don't care about the windowClause. */
    if (where != null) {
        ((BLangWhere) where).accept(this);
        streamingInputClause.append(" ").append(whereClause);
    }
    streamingInputClause.append(")");
    if (streamingInput.getAlias() != null) {
        streamingInputClause.append(" as ").append(streamingInput.getAlias());
    }
}
Also used : WhereNode(org.ballerinalang.model.tree.clauses.WhereNode) BLangWhere(org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere) BLangExpression(org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)

Aggregations

WhereNode (org.ballerinalang.model.tree.clauses.WhereNode)6 BLangWhere (org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere)4 BLangExpression (org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)4 WindowClauseNode (org.ballerinalang.model.tree.clauses.WindowClauseNode)2 BLangWindow (org.wso2.ballerinalang.compiler.tree.clauses.BLangWindow)2 SelectExpressionNode (org.ballerinalang.model.tree.clauses.SelectExpressionNode)1 ExpressionNode (org.ballerinalang.model.tree.expressions.ExpressionNode)1 BLangSimpleVarRef (org.wso2.ballerinalang.compiler.tree.expressions.BLangSimpleVarRef)1