in asterix-graphix/src/main/java/org/apache/asterix/graphix/lang/rewrite/visitor/ElementBodyAnalysisVisitor.java [191:217]
public Expression visit(SelectBlock selectBlock, ILangExpression arg) throws CompilationException {
if (selectBlock.hasGroupbyClause() || selectBlock.hasLetHavingClausesAfterGroupby()) {
elementBodyAnalysisContext.isExpressionInline = false;
return null;
}
if (selectBlock.hasFromClause()) {
selectBlock.getFromClause().accept(this, arg);
}
if (selectBlock.hasLetWhereClauses()) {
selectBlock.getLetWhereList().forEach(c -> {
if (c.getClauseType() == Clause.ClauseType.LET_CLAUSE) {
if (elementBodyAnalysisContext.letClauses == null) {
elementBodyAnalysisContext.letClauses = new ArrayList<>();
}
elementBodyAnalysisContext.letClauses.add((LetClause) c);
} else { //c.getClauseType() == Clause.ClauseType.WHERE_CLAUSE
if (elementBodyAnalysisContext.whereClauses == null) {
elementBodyAnalysisContext.whereClauses = new ArrayList<>();
}
elementBodyAnalysisContext.whereClauses.add((WhereClause) c);
}
});
}
selectBlock.getSelectClause().accept(this, arg);
return null;
}