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

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

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

Join.isSemiJoinDone介绍

[英]Returns whether this LogicalJoin has already spawned a SemiJoin via org.apache.calcite.rel.rules.JoinAddRedundantSemiJoinRule.

The base implementation returns false.
[中]返回此LogicalJoin是否已通过org生成半联接。阿帕奇。方解石雷尔。规则。JoinAddRedundantSemiJoinRule。
基本实现返回false。

代码示例

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

rel.getJoinType(), rel.isSemiJoinDone());
return newJoin;

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

rel.getJoinType(), rel.isSemiJoinDone());
return newJoin;

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

newOp = join.copy(join.getTraitSet(), join.getCondition(),
   newInputs.get(0), newInputs.get(1), join.getJoinType(),
   join.isSemiJoinDone());
} else {
 return;

代码示例来源: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/drill

newOp = join.copy(join.getTraitSet(), join.getCondition(),
   newInputs.get(0), newInputs.get(1), join.getJoinType(),
   join.isSemiJoinDone());
} else {
 return;

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

lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newJoin);

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

rightProjRel,
join.getJoinType(),
join.isSemiJoinDone());

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

lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newJoin);

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

join.getVariablesStopped(), join.isSemiJoinDone());

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

lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

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

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: org.apache.calcite/calcite-core

public void onMatch(RelOptRuleCall call) {
  final Delta delta = call.rel(0);
  Util.discard(delta);
  final Join join = call.rel(1);
  final RelNode left = join.getLeft();
  final RelNode right = join.getRight();
  final LogicalDelta rightWithDelta = LogicalDelta.create(right);
  final LogicalJoin joinL = LogicalJoin.create(left, rightWithDelta,
    join.getCondition(), join.getVariablesSet(), join.getJoinType(),
    join.isSemiJoinDone(),
    ImmutableList.copyOf(join.getSystemFieldList()));
  final LogicalDelta leftWithDelta = LogicalDelta.create(left);
  final LogicalJoin joinR = LogicalJoin.create(leftWithDelta, right,
    join.getCondition(), join.getVariablesSet(), join.getJoinType(),
    join.isSemiJoinDone(),
    ImmutableList.copyOf(join.getSystemFieldList()));
  List<RelNode> inputsToUnion = new ArrayList<>();
  inputsToUnion.add(joinL);
  inputsToUnion.add(joinR);
  final LogicalUnion newNode = LogicalUnion.create(inputsToUnion, true);
  call.transformTo(newNode);
 }
}

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

public void onMatch(RelOptRuleCall call) {
  final Delta delta = call.rel(0);
  Util.discard(delta);
  final Join join = call.rel(1);
  final RelNode left = join.getLeft();
  final RelNode right = join.getRight();
  final LogicalDelta rightWithDelta = LogicalDelta.create(right);
  final LogicalJoin joinL = LogicalJoin.create(left, rightWithDelta,
    join.getCondition(), join.getVariablesSet(), join.getJoinType(),
    join.isSemiJoinDone(),
    ImmutableList.copyOf(join.getSystemFieldList()));
  final LogicalDelta leftWithDelta = LogicalDelta.create(left);
  final LogicalJoin joinR = LogicalJoin.create(leftWithDelta, right,
    join.getCondition(), join.getVariablesSet(), join.getJoinType(),
    join.isSemiJoinDone(),
    ImmutableList.copyOf(join.getSystemFieldList()));
  List<RelNode> inputsToUnion = new ArrayList<>();
  inputsToUnion.add(joinL);
  inputsToUnion.add(joinR);
  final LogicalUnion newNode = LogicalUnion.create(inputsToUnion, true);
  call.transformTo(newNode);
 }
}

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

lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

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

lChild, rChild, join.getJoinType(), join.isSemiJoinDone());
call.getPlanner().onCopy(join, newRel);

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

join.getRight(),
join.getJoinType(),
join.isSemiJoinDone());

相关文章