Search in sources :

Example 6 with BLangStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput in project ballerina by ballerina-lang.

the class BLangPackageBuilder method endStreamingInputNode.

public void endStreamingInputNode(String alias, DiagnosticPos pos, Set<Whitespace> ws) {
    BLangStreamingInput streamingInput = (BLangStreamingInput) this.streamingInputStack.peek();
    streamingInput.pos = pos;
    streamingInput.addWS(ws);
    if (this.whereClauseStack.size() == 2) {
        streamingInput.setAfterStreamingCondition(this.whereClauseStack.pop());
        streamingInput.setBeforeStreamingCondition(this.whereClauseStack.pop());
    } else if (this.whereClauseStack.size() == 1) {
        if (streamingInput.isWindowTraversedAfterWhere()) {
            streamingInput.setBeforeStreamingCondition(this.whereClauseStack.pop());
        } else {
            streamingInput.setAfterStreamingCondition(this.whereClauseStack.pop());
        }
    }
    if (!this.windowClausesStack.empty()) {
        streamingInput.setWindowClause(this.windowClausesStack.pop());
    }
    streamingInput.setStreamReference(this.exprNodeStack.pop());
    streamingInput.setAlias(alias);
}
Also used : BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput)

Example 7 with BLangStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput in project ballerina by ballerina-lang.

the class BLangPackageBuilder method startStreamingInputNode.

public void startStreamingInputNode(DiagnosticPos pos, Set<Whitespace> ws) {
    StreamingInput streamingInput = TreeBuilder.createStreamingInputNode();
    ((BLangStreamingInput) streamingInput).pos = pos;
    streamingInput.addWS(ws);
    this.streamingInputStack.push(streamingInput);
}
Also used : JoinStreamingInput(org.ballerinalang.model.tree.clauses.JoinStreamingInput) BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput) StreamingInput(org.ballerinalang.model.tree.clauses.StreamingInput) BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput) BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput)

Example 8 with BLangStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput in project ballerina by ballerina-lang.

the class SqlQueryBuilder method visit.

@Override
public void visit(BLangTableQuery tableQuery) {
    BLangSelectClause selectClause = (BLangSelectClause) tableQuery.getSelectClauseNode();
    BLangStreamingInput streamingInput = (BLangStreamingInput) tableQuery.getStreamingInput();
    BLangJoinStreamingInput joinStreamingInput = (BLangJoinStreamingInput) tableQuery.getJoinStreamingInput();
    BLangOrderBy orderBy = (BLangOrderBy) tableQuery.getOrderByNode();
    StringBuilder sqlTableQuery = new StringBuilder();
    /*Add each clause to the sqlQuery and add the params to TableQuery object*/
    addSelectClauseAndParams(tableQuery, selectClause, sqlTableQuery);
    addFromClauseAndParams(tableQuery, streamingInput, sqlTableQuery);
    addJoinClauseAndParams(tableQuery, joinStreamingInput, sqlTableQuery);
    addGroupByClause(selectClause, sqlTableQuery);
    addHavingClauseAndParams(tableQuery, selectClause, sqlTableQuery);
    addOrderByClause(orderBy, sqlTableQuery);
    tableQuery.setSqlQuery(sqlTableQuery.toString());
}
Also used : BLangSelectClause(org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause) BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput) BLangOrderBy(org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy) BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput)

Example 9 with BLangStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput in project ballerina by ballerina-lang.

the class TypeChecker method visit.

@Override
public void visit(BLangTableQuery tableQuery) {
    BLangStreamingInput streamingInput = (BLangStreamingInput) tableQuery.getStreamingInput();
    streamingInput.accept(this);
    BLangJoinStreamingInput joinStreamingInput = (BLangJoinStreamingInput) tableQuery.getJoinStreamingInput();
    if (joinStreamingInput != null) {
        joinStreamingInput.accept(this);
    }
}
Also used : BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput) BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput)

Example 10 with BLangStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput in project ballerina by ballerina-lang.

the class SemanticAnalyzer method visit.

public void visit(BLangStreamingQueryStatement streamingQueryStatement) {
    StreamingInput streamingInput = streamingQueryStatement.getStreamingInput();
    if (streamingInput != null) {
        ((BLangStreamingInput) streamingInput).accept(this);
        JoinStreamingInput joinStreamingInput = streamingQueryStatement.getJoiningInput();
        if (joinStreamingInput != null) {
            ((BLangJoinStreamingInput) joinStreamingInput).accept(this);
        }
    }
    SelectClauseNode selectClauseNode = streamingQueryStatement.getSelectClause();
    if (selectClauseNode != null) {
        ((BLangSelectClause) selectClauseNode).accept(this);
    }
    OrderByNode orderByNode = streamingQueryStatement.getOrderbyClause();
    if (orderByNode != null) {
        ((BLangOrderBy) orderByNode).accept(this);
    }
    StreamActionNode streamActionNode = streamingQueryStatement.getStreamingAction();
    if (streamActionNode != null) {
        ((BLangStreamAction) streamActionNode).accept(this);
    }
    BLangPatternClause patternClause = (BLangPatternClause) streamingQueryStatement.getPatternClause();
    if (patternClause != null) {
        patternClause.accept(this);
    }
}
Also used : JoinStreamingInput(org.ballerinalang.model.tree.clauses.JoinStreamingInput) BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput) BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput) BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput) StreamingInput(org.ballerinalang.model.tree.clauses.StreamingInput) BLangSelectClause(org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause) BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput) StreamActionNode(org.ballerinalang.model.tree.clauses.StreamActionNode) JoinStreamingInput(org.ballerinalang.model.tree.clauses.JoinStreamingInput) BLangJoinStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput) OrderByNode(org.ballerinalang.model.tree.clauses.OrderByNode) BLangStreamAction(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamAction) SelectClauseNode(org.ballerinalang.model.tree.clauses.SelectClauseNode) BLangPatternClause(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternClause) BLangOrderBy(org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy) BLangStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput)

Aggregations

BLangStreamingInput (org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamingInput)10 BLangJoinStreamingInput (org.wso2.ballerinalang.compiler.tree.clauses.BLangJoinStreamingInput)6 BLangExpression (org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)5 JoinStreamingInput (org.ballerinalang.model.tree.clauses.JoinStreamingInput)4 StreamingInput (org.ballerinalang.model.tree.clauses.StreamingInput)4 BLangPatternStreamingInput (org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput)4 WhereNode (org.ballerinalang.model.tree.clauses.WhereNode)3 BLangOrderBy (org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy)3 BLangSelectClause (org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause)3 BLangWhere (org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere)3 OrderByNode (org.ballerinalang.model.tree.clauses.OrderByNode)2 SelectClauseNode (org.ballerinalang.model.tree.clauses.SelectClauseNode)2 WindowClauseNode (org.ballerinalang.model.tree.clauses.WindowClauseNode)2 BLangPatternClause (org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternClause)2 BLangStreamAction (org.wso2.ballerinalang.compiler.tree.clauses.BLangStreamAction)2 BLangWindow (org.wso2.ballerinalang.compiler.tree.clauses.BLangWindow)2 BLangBinaryExpr (org.wso2.ballerinalang.compiler.tree.expressions.BLangBinaryExpr)2 OutputRateLimitNode (org.ballerinalang.model.tree.clauses.OutputRateLimitNode)1 PatternClause (org.ballerinalang.model.tree.clauses.PatternClause)1 SelectExpressionNode (org.ballerinalang.model.tree.clauses.SelectExpressionNode)1