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

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

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

RexBuilder.copy介绍

[英]Creates a copy of an expression, which may have been created using a different RexBuilder and/or RelDataTypeFactory, using this RexBuilder.
[中]使用此RexBuilder创建表达式的副本,该表达式可能是使用其他RexBuilder和/或RelDataTypeFactory创建的。

代码示例

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

public RexNode getConstraint(RexBuilder rexBuilder,
  RelDataType tableRowType) {
 return rexBuilder.copy(constraint);
}

代码示例来源:origin: dremio/dremio-oss

@Override
public RexNode visitInputRef(RexInputRef inputRef) {
 return rexBuilder.copy(inputRef);
}

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

public RexNode getConstraint(RexBuilder rexBuilder,
  RelDataType tableRowType) {
 return rexBuilder.copy(constraint);
}

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

private static void createExpressions(RexBuilder rexBuilder,
  RexNode expr, ImmutableBitSet predFieldsUsed, Map<RexInputRef, Set<RexNode>> mapping,
  Map<RexInputRef, RexNode> singleMapping, Set<RexNode> result) {
 if (mapping.isEmpty()) {
  final RexReplacer replacer = new RexReplacer(singleMapping);
  final List<RexNode> updatedPreds = new ArrayList<>(
    RelOptUtil.conjunctions(
      rexBuilder.copy(expr)));
  replacer.mutate(updatedPreds);
  result.addAll(updatedPreds);
 } else {
  result.addAll(
    createAllPossibleExpressions(
      rexBuilder, expr, predFieldsUsed, mapping, singleMapping));
 }
}

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

private static void createExpressions(RexBuilder rexBuilder,
  RexNode expr, ImmutableBitSet predFieldsUsed, Map<RexInputRef, Set<RexNode>> mapping,
  Map<RexInputRef, RexNode> singleMapping, Set<RexNode> result) {
 if (mapping.isEmpty()) {
  final RexReplacer replacer = new RexReplacer(singleMapping);
  final List<RexNode> updatedPreds = new ArrayList<>(
    RelOptUtil.conjunctions(
      rexBuilder.copy(expr)));
  replacer.mutate(updatedPreds);
  result.addAll(updatedPreds);
 } else {
  result.addAll(
    createAllPossibleExpressions(
      rexBuilder, expr, predFieldsUsed, mapping, singleMapping));
 }
}

代码示例来源:origin: dremio/dremio-oss

@Override
public RexNode visitLiteral(RexLiteral literal) {
 if (RexToExpr.isLiteralNull(literal)) {
  return null; // TODO: ORC predicate doesn't support null??
 }
 switch (literal.getType().getSqlTypeName()) {
  case VARCHAR:
  case CHAR:
  case INTEGER:
  case BIGINT:
  case FLOAT:
  case DOUBLE:
  case DATE:
  case TIMESTAMP:
  case BOOLEAN:
   return rexBuilder.copy(literal);
  default:
   return null;
 }
}

代码示例来源:origin: dremio/dremio-oss

return rexBuilder.copy(call);
final RexNode child1 = children.get(0);
if (child1 instanceof RexInputRef && child1.accept(this) != null) {
 return rexBuilder.copy(call);

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

rex.accept(visitor);
} else {
 final RexNode node = rexBuilder.copy(rex);
 innerRex.add(node);
 positions.add(offset++);

相关文章

微信公众号

最新文章

更多