本文整理了Java中org.apache.asterix.lang.common.statement.Query.getBody
方法的一些代码示例,展示了Query.getBody
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.getBody
方法的具体详情如下:
包路径:org.apache.asterix.lang.common.statement.Query
类名称:Query
方法名:getBody
暂无
代码示例来源:origin: apache/asterixdb
@Override
public Expression getBody() {
return query.getBody();
}
代码示例来源:origin: apache/asterixdb
@Override
public List<Expression> getDirectlyEnclosedExpressions() {
List<Expression> topLevelExpressions = new ArrayList<>();
topLevelExpressions.add(query.getBody());
if (returnExpression != null) {
topLevelExpressions.add(returnExpression);
}
return topLevelExpressions;
}
代码示例来源:origin: apache/asterixdb
@Override
public Void visit(Query q, Integer step) throws CompilationException {
if (q.getBody() != null) {
out.println("Query:");
q.getBody().accept(this, step);
} else {
out.println("No query.");
}
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Void visit(Query q, Integer step) throws CompilationException {
if (q.getBody() != null) {
q.getBody().accept(this, step);
}
if (q.isTopLevel()) {
out.println(SEMICOLON);
}
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Pair<ILogicalOperator, LogicalVariable> visit(Query q, Mutable<ILogicalOperator> tupSource)
throws CompilationException {
return q.getBody().accept(this, tupSource);
}
代码示例来源:origin: apache/asterixdb
@Override
public Pair<ILogicalOperator, LogicalVariable> visit(Query q, Mutable<ILogicalOperator> tupSource)
throws CompilationException {
return q.getBody().accept(this, tupSource);
}
代码示例来源:origin: apache/asterixdb
@Override
public Void visit(Query q, Collection<VariableExpr> freeVars) throws CompilationException {
q.getBody().accept(this, freeVars);
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Void visit(Query q, Void arg) throws CompilationException {
q.getBody().accept(this, arg);
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Boolean visit(Query q, ILangExpression arg) throws CompilationException {
return visit(q.getBody(), arg);
}
代码示例来源:origin: apache/asterixdb
@Override
public Expression visit(Query q, ILangExpression arg) throws CompilationException {
q.setBody(visit(q.getBody(), q));
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Expression visit(Query q, ILangExpression arg) throws CompilationException {
q.setBody(visit(q.getBody(), q));
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Boolean visit(Query q, List<FunctionDecl> arg) throws CompilationException {
Pair<Boolean, Expression> p = inlineUdfsInExpr(q.getBody(), arg);
q.setBody(p.second);
return p.first;
}
代码示例来源:origin: apache/asterixdb
@Override
public Void visit(Query q, Integer step) throws CompilationException {
Expression expr = q.getBody();
if (expr != null) {
if (expr.getKind() != Kind.FLWOGR_EXPRESSION) {
out.print("select element ");
expr.accept(this, step + 2);
} else {
expr.accept(this, step);
}
}
if (q.isTopLevel()) {
out.println(SEMICOLON);
}
return null;
}
代码示例来源:origin: apache/asterixdb
@Override
public Expression visit(Query q, ILangExpression arg) throws CompilationException {
q.setBody(visit(q.getBody(), q));
q.setVarCounter(scopeChecker.getVarCounter());
return null;
}
代码示例来源:origin: apache/asterixdb
protected ResultUtil.ParseOnlyResult parseStatement(String statementsText) throws CompilationException {
IParserFactory factory = compilationProvider.getParserFactory();
IParser parser = factory.createParser(statementsText);
List<Statement> stmts = parser.parse();
QueryTranslator.validateStatements(stmts);
Query query = (Query) stmts.get(stmts.size() - 1);
Set<VariableExpr> extVars =
compilationProvider.getRewriterFactory().createQueryRewriter().getExternalVariables(query.getBody());
ResultUtil.ParseOnlyResult parseOnlyResult = new ResultUtil.ParseOnlyResult(extVars);
return parseOnlyResult;
}
代码示例来源:origin: apache/asterixdb
/**
* Substitutes expression with replacement expressions according to the exprMap.
*
* @param expression
* ,
* an input expression.
* @param exprMap
* a map that maps expressions to their corresponding replacement expressions.
* @return an expression, where sub-expressions of the input expression (including the input expression itself)
* are replaced with deep copies with their mapped replacements in the exprMap if there exists such a
* replacement expression.
* @throws CompilationException
*/
public static Expression substituteExpression(Expression expression, Map<Expression, Expression> exprMap,
LangRewritingContext context) throws CompilationException {
if (exprMap.isEmpty()) {
return expression;
}
// Creates a wrapper query for the expression so that if the expression itself
// is the key, it can also be replaced.
Query wrapper = new Query(false);
wrapper.setSourceLocation(expression.getSourceLocation());
wrapper.setBody(expression);
// Creates a substitution visitor.
SqlppSubstituteExpressionVisitor visitor = new SqlppSubstituteExpressionVisitor(context, exprMap);
wrapper.accept(visitor, wrapper);
return wrapper.getBody();
}
}
代码示例来源:origin: apache/asterixdb
@Override
public Pair<ILangExpression, VariableSubstitutionEnvironment> visit(Query q, VariableSubstitutionEnvironment env)
throws CompilationException {
Query newQ = new Query(q.isExplain());
Pair<ILangExpression, VariableSubstitutionEnvironment> p1 = q.getBody().accept(this, env);
newQ.setBody((Expression) p1.first);
newQ.setSourceLocation(q.getSourceLocation());
return new Pair<>(newQ, p1.second);
}
代码示例来源:origin: apache/asterixdb
@Override
public Query visit(Query q, Void arg) throws CompilationException {
Query copy =
new Query(q.isExplain(), q.isTopLevel(), (Expression) q.getBody().accept(this, arg), q.getVarCounter());
copy.setSourceLocation(q.getSourceLocation());
return copy;
}
代码示例来源:origin: apache/asterixdb
@Override
public Pair<ILogicalOperator, LogicalVariable> visit(Query q, Mutable<ILogicalOperator> tupSource)
throws CompilationException {
Expression queryBody = q.getBody();
SourceLocation sourceLoc = queryBody.getSourceLocation();
if (queryBody.getKind() == Kind.SELECT_EXPRESSION) {
SelectExpression selectExpr = (SelectExpression) queryBody;
if (q.isTopLevel()) {
selectExpr.setSubquery(false);
}
return queryBody.accept(this, tupSource);
} else {
LogicalVariable var = context.newVar();
Pair<ILogicalExpression, Mutable<ILogicalOperator>> eo = langExprToAlgExpression(queryBody, tupSource);
AssignOperator assignOp = new AssignOperator(var, new MutableObject<>(eo.first));
assignOp.getInputs().add(eo.second);
assignOp.setSourceLocation(sourceLoc);
ProjectOperator projectOp = new ProjectOperator(var);
projectOp.getInputs().add(new MutableObject<>(assignOp));
projectOp.setSourceLocation(sourceLoc);
return new Pair<>(projectOp, var);
}
}
代码示例来源:origin: apache/asterixdb
private Expression rewriteFunctionBody(FunctionDecl fnDecl) throws CompilationException {
SourceLocation sourceLoc = fnDecl.getSourceLocation();
Query wrappedQuery = new Query(false);
wrappedQuery.setSourceLocation(sourceLoc);
wrappedQuery.setBody(fnDecl.getFuncBody());
wrappedQuery.setTopLevel(false);
String fnNamespace = fnDecl.getSignature().getNamespace();
Dataverse defaultDataverse = metadataProvider.getDefaultDataverse();
Dataverse fnDataverse;
if (fnNamespace == null || fnNamespace.equals(defaultDataverse.getDataverseName())) {
fnDataverse = defaultDataverse;
} else {
try {
fnDataverse = metadataProvider.findDataverse(fnNamespace);
} catch (AlgebricksException e) {
throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, e, sourceLoc, fnNamespace);
}
}
metadataProvider.setDefaultDataverse(fnDataverse);
try {
IQueryRewriter queryRewriter = rewriterFactory.createQueryRewriter();
queryRewriter.rewrite(declaredFunctions, wrappedQuery, metadataProvider, context, true,
fnDecl.getParamList());
return wrappedQuery.getBody();
} finally {
metadataProvider.setDefaultDataverse(defaultDataverse);
}
}
内容来源于网络,如有侵权,请联系作者删除!