org.apache.calcite.rel.core.Join.copy()方法的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(5.2k)|赞(0)|评价(0)|浏览(163)

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

Join.copy介绍

暂无

代码示例

代码示例来源:origin: apache/hive

final RelNode newJoin = rel.copy(rel.getTraitSet(), RexUtil.composeConjunction(
    relBuilder.getRexBuilder(), conjuncts, false), newLeftInput, newRightInput,
    rel.getJoinType(), rel.isSemiJoinDone());

代码示例来源:origin: apache/drill

final RelNode newJoin = rel.copy(rel.getTraitSet(), RexUtil.composeConjunction(
    relBuilder.getRexBuilder(), conjuncts, false), newLeftInput, newRightInput,
    rel.getJoinType(), rel.isSemiJoinDone());

代码示例来源:origin: apache/hive

} else if (call.rel(0) instanceof Join) {
 Join join = call.rel(0);
 newOp = join.copy(join.getTraitSet(), join.getCondition(),
   newInputs.get(0), newInputs.get(1), join.getJoinType(),
   join.isSemiJoinDone());

代码示例来源:origin: apache/hive

join = join.copy(join.getTraitSet(), cond,
  join.getLeft(), join.getRight(), JoinRelType.INNER,
  false);

代码示例来源:origin: apache/hive

@Override
 public void onMatch(RelOptRuleCall call) {
  final Join join = call.rel(0);
  final RexBuilder rexBuilder = join.getCluster().getRexBuilder();
  final RexNode condition = RexUtil.pullFactors(rexBuilder, join.getCondition());
  RexNode newCondition = analyzeRexNode(rexBuilder, condition);
  // If we could not transform anything, we bail out
  if (newCondition.toString().equals(condition.toString())) {
   return;
  }
  RelNode newNode = join.copy(join.getTraitSet(),
    newCondition,
    join.getLeft(),
    join.getRight(),
    join.getJoinType(),
    join.isSemiJoinDone());
  call.transformTo(newNode);
 }
}

代码示例来源:origin: apache/hive

join = join.copy(join.getTraitSet(), join.getCluster().getRexBuilder().makeLiteral(true),
  join.getLeft(), join.getRight(), JoinRelType.INNER, false);

代码示例来源:origin: apache/drill

} else if (call.rel(0) instanceof Join) {
 Join join = call.rel(0);
 newOp = join.copy(join.getTraitSet(), join.getCondition(),
   newInputs.get(0), newInputs.get(1), join.getJoinType(),
   join.isSemiJoinDone());

代码示例来源:origin: apache/hive

join.copy(
  join.getTraitSet(),
  newJoinFilter,

代码示例来源:origin: apache/hive

Join newJoin = join.copy(join.getTraitSet(), join.getCondition(),
    lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newJoin);

代码示例来源:origin: apache/drill

Join newJoin = join.copy(join.getTraitSet(), join.getCondition(),
    lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newJoin);

代码示例来源:origin: apache/hive

RelNode newRel = join.copy(join.getTraitSet(), join.getCondition(),
  lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

代码示例来源:origin: apache/drill

RelNode newRel = join.copy(join.getTraitSet(), join.getCondition(),
  lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

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

@Override public final Join copy(RelTraitSet traitSet, List<RelNode> inputs) {
 assert inputs.size() == 2;
 return copy(traitSet, getCondition(), inputs.get(0), inputs.get(1),
   joinType, isSemiJoinDone());
}

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

@Override public final Join copy(RelTraitSet traitSet, List<RelNode> inputs) {
 assert inputs.size() == 2;
 return copy(traitSet, getCondition(), inputs.get(0), inputs.get(1),
   joinType, isSemiJoinDone());
}

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

@Override public RelNode accept(RexShuttle shuttle) {
 RexNode condition = shuttle.apply(this.condition);
 if (this.condition == condition) {
  return this;
 }
 return copy(traitSet, condition, left, right, joinType, isSemiJoinDone());
}

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

@Override public RelNode accept(RexShuttle shuttle) {
 RexNode condition = shuttle.apply(this.condition);
 if (this.condition == condition) {
  return this;
 }
 return copy(traitSet, condition, left, right, joinType, isSemiJoinDone());
}

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

RelNode newRel = join.copy(join.getTraitSet(), join.getCondition(),
  lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

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

RelNode newRel = join.copy(join.getTraitSet(), join.getCondition(),
  lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

代码示例来源:origin: com.facebook.presto.hive/hive-apache

@Override public void onMatch(RelOptRuleCall call) {
 Join join = call.rel(0);
 RelOptPredicateList preds = RelMetadataQuery.getPulledUpPredicates(join);
 RexBuilder rB = join.getCluster().getRexBuilder();
 RelNode lChild = call.rel(1);
 RelNode rChild = call.rel(2);
 List<RexNode> leftPreds = getValidPreds(preds.leftInferredPredicates, lChild.getRowType().getFieldList());
 List<RexNode> rightPreds = getValidPreds(preds.rightInferredPredicates, rChild.getRowType().getFieldList());
 if (leftPreds.isEmpty() && rightPreds.isEmpty()) {
  return;
 }
 if (leftPreds.size() > 0) {
  RelNode curr = lChild;
  lChild = filterFactory.createFilter(lChild, RexUtil.composeConjunction(rB, leftPreds, false));
  call.getPlanner().onCopy(curr, lChild);
 }
 if (rightPreds.size() > 0) {
  RelNode curr = rChild;
  rChild = filterFactory.createFilter(rChild, RexUtil.composeConjunction(rB, rightPreds, false));
  call.getPlanner().onCopy(curr, rChild);
 }
 RelNode newRel = join.copy(join.getTraitSet(), join.getCondition(),
   lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
 call.getPlanner().onCopy(join, newRel);
 call.transformTo(newRel);
}

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

join.copy(
  join.getTraitSet(),
  builder.literal(true),

相关文章