use of org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy in project ballerina by ballerina-lang.
the class SiddhiQueryBuilder method visit.
@Override
public void visit(BLangOrderBy orderBy) {
List<? extends ExpressionNode> varRefs = orderBy.getVariables();
Iterator<? extends ExpressionNode> iterator = varRefs.iterator();
BLangSimpleVarRef variableRef = (BLangSimpleVarRef) iterator.next();
orderByClause = new StringBuilder("order by ");
addVarRefToClauseBuilder(variableRef, orderByClause);
while (iterator.hasNext()) {
orderByClause.append(",").append(" ");
variableRef = (BLangSimpleVarRef) iterator.next();
addVarRefToClauseBuilder(variableRef, orderByClause);
}
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy in project ballerina by ballerina-lang.
the class SiddhiQueryBuilder method visit.
@Override
public void visit(BLangStreamingQueryStatement streamingQueryStatement) {
siddhiQuery.append("from ");
StreamingInput streamingInput = streamingQueryStatement.getStreamingInput();
if (streamingInput != null) {
((BLangStreamingInput) streamingInput).accept(this);
siddhiQuery.append(" ").append(streamingInputClause);
}
PatternClause patternClause = streamingQueryStatement.getPatternClause();
if (patternClause != null) {
patternStreamingClause = new StringBuilder();
((BLangPatternClause) patternClause).accept(this);
siddhiQuery.append(" ").append(patternStreamingClause);
}
JoinStreamingInput joinStreamingInput = streamingQueryStatement.getJoiningInput();
if (joinStreamingInput != null) {
((BLangJoinStreamingInput) joinStreamingInput).accept(this);
siddhiQuery.append(" ").append(joinStreamingInputClause);
}
SelectClauseNode selectClauseNode = streamingQueryStatement.getSelectClause();
if (selectClauseNode != null) {
((BLangSelectClause) selectClauseNode).accept(this);
siddhiQuery.append(" ").append(selectExprClause);
}
OrderByNode orderByNode = streamingQueryStatement.getOrderbyClause();
if (orderByNode != null) {
((BLangOrderBy) orderByNode).accept(this);
siddhiQuery.append(" ").append(orderByClause);
}
OutputRateLimitNode outputRateLimitNode = streamingQueryStatement.getOutputRateLimitNode();
if (outputRateLimitNode != null) {
((BLangOutputRateLimit) outputRateLimitNode).accept(this);
siddhiQuery.append(" ").append(outputRateLimitClause);
}
BLangStreamAction streamActionNode = (BLangStreamAction) streamingQueryStatement.getStreamingAction();
if (streamActionNode != null) {
streamActionNode.accept(this);
siddhiQuery.append(" ").append(streamActionClause);
siddhiQuery.append(" ; ");
}
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy 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());
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy in project ballerina by ballerina-lang.
the class SqlQueryBuilder method visit.
@Override
public void visit(BLangOrderBy orderBy) {
List<? extends ExpressionNode> varRefs = orderBy.getVariables();
Iterator<? extends ExpressionNode> iterator = varRefs.iterator();
BLangExpression expr = (BLangExpression) iterator.next();
orderByClause = new StringBuilder("order by ");
expr.accept(this);
orderByClause.append(exprStack.pop());
while (iterator.hasNext()) {
orderByClause.append(",").append(" ");
expr = (BLangExpression) iterator.next();
expr.accept(this);
orderByClause.append(exprStack.pop());
}
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangOrderBy 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);
}
}
Aggregations