RelNode right = join.getInput(1); RelTraitSet traitSet = join.getTraitSet().replace(OLAPRel.CONVENTION); left = convert(left, left.getTraitSet().replace(OLAPRel.CONVENTION)); right = convert(right, right.getTraitSet().replace(OLAPRel.CONVENTION));
@Override public RelNode visit(LogicalJoin join) { // to the best of my knowledge join.systemFieldList is always empty Preconditions.checkState(join.getSystemFieldList().isEmpty(), "join.systemFieldList is not empty!"); final RelNode left = join.getLeft().accept(this); final RelNode right = join.getRight().accept(this); return new LogicalJoin( cluster, copyOf(join.getTraitSet()), left, right, copyOf(join.getCondition()), join.getVariablesSet(), join.getJoinType(), join.isSemiJoinDone(), ImmutableList.<RelDataTypeField>of() ); }
@Override public RelNode visit(LogicalJoin join) { final RexNode conditionExpr = join.getCondition().accept(unwrappingExpressionVisitor); join = join.copy(join.getTraitSet(), conditionExpr, join.getLeft(), join.getRight(), join.getJoinType(), join.isSemiJoinDone()); return visitChildren(join); }
@Override public RelNode visit(LogicalJoin join) { final RexNode conditionExpr = join.getCondition().accept(unwrappingExpressionVisitor); join = join.copy(join.getTraitSet(), conditionExpr, join.getLeft(), join.getRight(), join.getJoinType(), join.isSemiJoinDone()); return visitChildren(join); }
RelNode newRel; try { RelTraitSet traits = join.getTraitSet() .replace(EnumerableConvention.INSTANCE); if (!collations.isEmpty()) {
RelNode newRel; try { RelTraitSet traits = join.getTraitSet() .replace(EnumerableConvention.INSTANCE); if (!collations.isEmpty()) {
join.getTraitSet().replace(EnumerableConvention.INSTANCE); final RelNode left = newInputs.get(0); final RelNode right = newInputs.get(1); newRel = new EnumerableJoin( cluster, join.getTraitSet().replace(EnumerableConvention.INSTANCE), left, right,
join.getTraitSet().replace(EnumerableConvention.INSTANCE); final RelNode left = newInputs.get(0); final RelNode right = newInputs.get(1); newRel = new EnumerableJoin( cluster, join.getTraitSet().replace(EnumerableConvention.INSTANCE), left, right,
public RelNode convert(RelNode rel) { final LogicalJoin join = (LogicalJoin) rel; final BindableConvention out = BindableConvention.INSTANCE; final RelTraitSet traitSet = join.getTraitSet().replace(out); return new BindableJoin(rel.getCluster(), traitSet, convert(join.getLeft(), join.getLeft().getTraitSet() .replace(BindableConvention.INSTANCE)), convert(join.getRight(), join.getRight().getTraitSet() .replace(BindableConvention.INSTANCE)), join.getCondition(), join.getVariablesSet(), join.getJoinType()); } }
public RelNode convert(RelNode rel) { final LogicalJoin join = (LogicalJoin) rel; final BindableConvention out = BindableConvention.INSTANCE; final RelTraitSet traitSet = join.getTraitSet().replace(out); return new BindableJoin(rel.getCluster(), traitSet, convert(join.getLeft(), join.getLeft().getTraitSet() .replace(BindableConvention.INSTANCE)), convert(join.getRight(), join.getRight().getTraitSet() .replace(BindableConvention.INSTANCE)), join.getCondition(), join.getVariablesSet(), join.getJoinType()); } }
final RelNode left = join.getLeft(); final RelNode right = join.getRight(); final RelTraitSet traits = join.getTraitSet().plus(DrillRel.DRILL_LOGICAL);
RelNode right = join.getInput(1); RelTraitSet traitSet = join.getTraitSet().replace(OLAPRel.CONVENTION); left = convert(left, left.getTraitSet().replace(OLAPRel.CONVENTION)); right = convert(right, right.getTraitSet().replace(OLAPRel.CONVENTION));