org.apache.calcite.rex.RexBuilder.makeRangeReference()方法的使用及代码示例

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

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

RexBuilder.makeRangeReference介绍

[英]Creates a reference to all the fields in the row. That is, the whole row as a single record object.
[中]创建对行中所有字段的引用。也就是说,将整行作为单个记录对象。

代码示例

代码示例来源:origin: org.apache.calcite/calcite-core

/**
 * Creates an expression with which to reference the expression whose
 * offset in its from-list is {@code offset}.
 */
RexNode lookup(
  int offset,
  LookupContext lookupContext) {
 Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
 return rexBuilder.makeRangeReference(
   pair.left.getRowType(),
   pair.right,
   false);
}

代码示例来源:origin: org.apache.kylin/atopcalcite

/**
 * Creates an expression with which to reference the expression whose
 * offset in its from-list is {@code offset}.
 */
RexNode lookup(
  int offset,
  LookupContext lookupContext) {
 Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
 return rexBuilder.makeRangeReference(
   pair.left.getRowType(),
   pair.right,
   false);
}

代码示例来源:origin: Qihoo360/Quicksql

/**
 * Creates an expression with which to reference the expression whose
 * offset in its from-list is {@code offset}.
 */
RexNode lookup(
  int offset,
  LookupContext lookupContext) {
 Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
 return rexBuilder.makeRangeReference(
   pair.left.getRowType(),
   pair.right,
   false);
}

代码示例来源:origin: Qihoo360/Quicksql

List<RexNode> toRexList(
  FunctionExpression expression,
  RelNode... inputs) {
 List<RexNode> list = new ArrayList<>();
 RexBuilder rexBuilder = cluster.getRexBuilder();
 for (RelNode input : inputs) {
  list.add(rexBuilder.makeRangeReference(input));
 }
 return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
   .bind(expression.parameterList, list)
   .toRexList(expression.body);
}

代码示例来源:origin: org.apache.flink/flink-table_2.10

/**
 * Creates an expression with which to reference the expression whose
 * offset in its from-list is {@code offset}.
 */
RexNode lookup(
  int offset,
  LookupContext lookupContext) {
  Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
  return rexBuilder.makeRangeReference(
    pair.left.getRowType(),
    pair.right,
    false);
}

代码示例来源:origin: org.apache.calcite/calcite-core

List<RexNode> toRexList(
  FunctionExpression expression,
  RelNode... inputs) {
 List<RexNode> list = new ArrayList<>();
 RexBuilder rexBuilder = cluster.getRexBuilder();
 for (RelNode input : inputs) {
  list.add(rexBuilder.makeRangeReference(input));
 }
 return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
   .bind(expression.parameterList, list)
   .toRexList(expression.body);
}

代码示例来源:origin: org.apache.calcite/calcite-core

RexNode toRex(
   FunctionExpression expression,
   RelNode... inputs) {
  List<RexNode> list = new ArrayList<>();
  RexBuilder rexBuilder = cluster.getRexBuilder();
  for (RelNode input : inputs) {
   list.add(rexBuilder.makeRangeReference(input));
  }
  return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
    .bind(expression.parameterList, list)
    .toRex(expression.body);
 }
}

代码示例来源:origin: Qihoo360/Quicksql

RexNode toRex(
   FunctionExpression expression,
   RelNode... inputs) {
  List<RexNode> list = new ArrayList<>();
  RexBuilder rexBuilder = cluster.getRexBuilder();
  for (RelNode input : inputs) {
   list.add(rexBuilder.makeRangeReference(input));
  }
  return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
    .bind(expression.parameterList, list)
    .toRex(expression.body);
 }
}

代码示例来源:origin: Qihoo360/Quicksql

private List<RexNode> toRex(
  RelNode child, FunctionExpression expression) {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 List<RexNode> list =
   Collections.singletonList(
     rexBuilder.makeRangeReference(child));
 CalcitePrepareImpl.ScalarTranslator translator =
   CalcitePrepareImpl.EmptyScalarTranslator
     .empty(rexBuilder)
     .bind(expression.parameterList, list);
 final List<RexNode> rexList = new ArrayList<>();
 final Expression simple = Blocks.simple(expression.body);
 for (Expression expression1 : fieldExpressions(simple)) {
  rexList.add(translator.toRex(expression1));
 }
 return rexList;
}

代码示例来源:origin: org.apache.calcite/calcite-core

private List<RexNode> toRex(
  RelNode child, FunctionExpression expression) {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 List<RexNode> list =
   Collections.singletonList(
     rexBuilder.makeRangeReference(child));
 CalcitePrepareImpl.ScalarTranslator translator =
   CalcitePrepareImpl.EmptyScalarTranslator
     .empty(rexBuilder)
     .bind(expression.parameterList, list);
 final List<RexNode> rexList = new ArrayList<>();
 final Expression simple = Blocks.simple(expression.body);
 for (Expression expression1 : fieldExpressions(simple)) {
  rexList.add(translator.toRex(expression1));
 }
 return rexList;
}

代码示例来源:origin: org.apache.calcite/calcite-core

RelDataType sourceRowType = source.getRowType();
final RexNode sourceRef =
  rexBuilder.makeRangeReference(sourceRowType, 0, false);
final List<String> targetColumnNames = new ArrayList<>();
final List<RexNode> columnExprs = new ArrayList<>();

代码示例来源:origin: Qihoo360/Quicksql

RelDataType sourceRowType = source.getRowType();
final RexNode sourceRef =
  rexBuilder.makeRangeReference(sourceRowType, 0, false);
final List<String> targetColumnNames = new ArrayList<>();
final List<RexNode> columnExprs = new ArrayList<>();

代码示例来源:origin: org.apache.calcite/calcite-core

public void rewriteRel(TableScan rel) {
 RelNode newRel = rel.getTable().toRel(toRelContext);
 if (!SqlTypeUtil.isFlat(rel.getRowType())) {
  final List<Pair<RexNode, String>> flattenedExpList = new ArrayList<>();
  flattenInputs(rel.getRowType().getFieldList(),
    rexBuilder.makeRangeReference(newRel),
    flattenedExpList);
  newRel = relBuilder.push(newRel)
    .projectNamed(Pair.left(flattenedExpList),
      Pair.right(flattenedExpList), true)
    .build();
 }
 setNewForOldRel(rel, newRel);
}

代码示例来源:origin: Qihoo360/Quicksql

public void rewriteRel(TableScan rel) {
 RelNode newRel = rel.getTable().toRel(toRelContext);
 if (!SqlTypeUtil.isFlat(rel.getRowType())) {
  final List<Pair<RexNode, String>> flattenedExpList = new ArrayList<>();
  flattenInputs(rel.getRowType().getFieldList(),
    rexBuilder.makeRangeReference(newRel),
    flattenedExpList);
  newRel = relBuilder.push(newRel)
    .projectNamed(Pair.left(flattenedExpList),
      Pair.right(flattenedExpList), true)
    .build();
 }
 setNewForOldRel(rel, newRel);
}

代码示例来源:origin: org.apache.calcite/calcite-core

RexNode sourceRef = rexBuilder.makeRangeReference(scan);
return createInsertBlackboard(table, sourceRef,
  table.getRowType().getFieldNames());

代码示例来源:origin: Qihoo360/Quicksql

RexNode sourceRef = rexBuilder.makeRangeReference(scan);
return createInsertBlackboard(table, sourceRef,
  table.getRowType().getFieldNames());

代码示例来源:origin: org.apache.calcite/calcite-core

SqlStdOperatorTable.EQUALS,
rexBuilder.makeFieldAccess(
  rexBuilder.makeRangeReference(scan),
  "deptno", true),
rexBuilder.makeExactLiteral(BigDecimal.TEN)));

代码示例来源:origin: Qihoo360/Quicksql

SqlStdOperatorTable.EQUALS,
rexBuilder.makeFieldAccess(
  rexBuilder.makeRangeReference(scan),
  "deptno", true),
rexBuilder.makeExactLiteral(BigDecimal.TEN)));

代码示例来源:origin: Qihoo360/Quicksql

rexBuilder.makeCall(SqlStdOperatorTable.GREATER_THAN,
    rexBuilder.makeFieldAccess(
      rexBuilder.makeRangeReference(tableRel), "i", true),
    rexBuilder.makeExactLiteral(BigDecimal.ONE));
final LogicalFilter filter =

代码示例来源:origin: org.apache.calcite/calcite-core

rexBuilder.makeCall(SqlStdOperatorTable.GREATER_THAN,
    rexBuilder.makeFieldAccess(
      rexBuilder.makeRangeReference(tableRel), "i", true),
    rexBuilder.makeExactLiteral(BigDecimal.ONE));
final LogicalFilter filter =

相关文章

微信公众号

最新文章

更多