use of org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause in project ballerina by ballerina-lang.
the class SemanticAnalyzer method visit.
public void visit(BLangSelectClause selectClause) {
GroupByNode groupByNode = selectClause.getGroupBy();
if (groupByNode != null) {
((BLangGroupBy) groupByNode).accept(this);
}
HavingNode havingNode = selectClause.getHaving();
if (havingNode != null) {
((BLangHaving) havingNode).accept(this);
}
List<? extends SelectExpressionNode> selectExpressionsList = selectClause.getSelectExpressions();
if (selectExpressionsList != null) {
for (SelectExpressionNode selectExpressionNode : selectExpressionsList) {
((BLangSelectExpression) selectExpressionNode).accept(this);
}
}
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause in project ballerina by ballerina-lang.
the class SiddhiQueryBuilder method createSiddhiHavingClause.
private void createSiddhiHavingClause(BLangSelectClause select) {
BLangHaving having = (BLangHaving) select.getHaving();
having.accept(this);
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause in project ballerina by ballerina-lang.
the class SiddhiQueryBuilder method createSiddhiSelectExpressionClause.
private void createSiddhiSelectExpressionClause(BLangSelectClause select) {
List<? extends SelectExpressionNode> selectExprList = select.getSelectExpressions();
selectExprClause = new StringBuilder();
selectExprClause.append("select ");
if (selectExprList != null && !selectExprList.isEmpty()) {
Iterator<? extends SelectExpressionNode> iterator = selectExprList.iterator();
BLangSelectExpression selectExpression = (BLangSelectExpression) iterator.next();
selectExpression.accept(this);
selectExprClause.append(selectExpr);
while (iterator.hasNext()) {
selectExpression = (BLangSelectExpression) iterator.next();
selectExprClause.append(", ");
selectExpression.accept(this);
selectExprClause.append(selectExpr);
}
} else if (select.isSelectAll()) {
selectExprClause.append("* ");
}
}
use of org.wso2.ballerinalang.compiler.tree.clauses.BLangSelectClause 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.BLangSelectClause 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());
}
Aggregations