org.apache.asterix.lang.common.statement.Query.getBody()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(102)

本文整理了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

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);
  }
}

相关文章