/** Creates a correlation variable for the current input, and writes it into * a Holder. */ public HiveSubQRemoveRelBuilder variable(Holder<RexCorrelVariable> v) { v.set((RexCorrelVariable) getRexBuilder().makeCorrel(peek().getRowType(), cluster.createCorrel())); return this; }
/** Creates a correlation variable for the current input, and writes it into * a Holder. */ public HiveSubQRemoveRelBuilder variable(Holder<RexCorrelVariable> v) { v.set((RexCorrelVariable) getRexBuilder().makeCorrel(peek().getRowType(), cluster.createCorrel())); return this; }
/** Creates a correlation variable for the current input, and writes it into * a Holder. */ public RelBuilder variable(Holder<RexCorrelVariable> v) { v.set((RexCorrelVariable) getRexBuilder().makeCorrel(peek().getRowType(), cluster.createCorrel())); return this; }
/** Creates a correlation variable for the current input, and writes it into * a Holder. */ public RelBuilder variable(Holder<RexCorrelVariable> v) { v.set((RexCorrelVariable) getRexBuilder().makeCorrel(peek().getRowType(), cluster.createCorrel())); return this; }
CorrelationId newCorrId = uncollect.getCluster().createCorrel();
@Override public Prel visitLateral(LateralJoinPrel prel, Boolean isRightOfLateral) throws RuntimeException { List<RelNode> children = Lists.newArrayList(); children.add(((Prel) prel.getInput(0)).accept(this, isRightOfLateral)); children.add(((Prel) prel.getInput(1)).accept(this, true)); if (!isRightOfLateral) { return (Prel) prel.copy(prel.getTraitSet(), children); } else { //Adjust the column numbering due to an additional column "$drill_implicit_field$" is added to the inputs. Map<Integer, Integer> requiredColsMap = new HashMap<>(); for (Integer corrColIndex : prel.getRequiredColumns()) { requiredColsMap.put(corrColIndex, corrColIndex + 1); } ImmutableBitSet requiredColumns = prel.getRequiredColumns().shift(1); CorrelationId corrId = prel.getCluster().createCorrel(); RexCorrelVariable updatedCorrel = (RexCorrelVariable) prel.getCluster().getRexBuilder().makeCorrel( children.get(0).getRowType(), corrId); RelNode rightChild = children.get(1).accept( new CorrelateVarReplacer( new ProjectCorrelateTransposeRule.RexFieldAccessReplacer(prel.getCorrelationId(), updatedCorrel, prel.getCluster().getRexBuilder(), requiredColsMap))); return (Prel) prel.copy(prel.getTraitSet(), children.get(0), rightChild, corrId, requiredColumns, prel.getJoinType()); } }
final CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) {
final CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) {
final CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) {
final CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) {
CorrelationId correlationId = corr.getCluster().createCorrel(); RexCorrelVariable rexCorrel = (RexCorrelVariable) rexBuilder.makeCorrel(
CorrelationId correlationId = corr.getCluster().createCorrel(); RexCorrelVariable rexCorrel = (RexCorrelVariable) rexBuilder.makeCorrel(
final RexBuilder rexBuilder = cluster.getRexBuilder(); final RelBuilder relBuilder = call.builder(); final CorrelationId correlationId = cluster.createCorrel(); final RexNode corrVar = rexBuilder.makeCorrel(left.getRowType(), correlationId);
final RexBuilder rexBuilder = cluster.getRexBuilder(); final RelBuilder relBuilder = call.builder(); final CorrelationId correlationId = cluster.createCorrel(); final RexNode corrVar = rexBuilder.makeCorrel(left.getRowType(), correlationId);