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

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

本文整理了Java中org.apache.asterix.lang.common.statement.Query.isTopLevel方法的一些代码示例,展示了Query.isTopLevel的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.isTopLevel方法的具体详情如下:
包路径:org.apache.asterix.lang.common.statement.Query
类名称:Query
方法名:isTopLevel

Query.isTopLevel介绍

暂无

代码示例

代码示例来源: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 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 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);
  }
}

相关文章