protected RexNode handle(RexFieldAccess fieldAccess) { final RexCorrelVariable v = (RexCorrelVariable) fieldAccess.getReferenceExpr(); if (v.id.equals(correlation)) { fieldsUsedBuilder.set(fieldAccess.getField().getIndex()); } return fieldAccess; } });
: new ArrayList<>(corDefOutputs.entrySet())) { final CorDef corDef = rightOutput.getKey(); if (!corDef.corr.equals(rel.getCorrelationId())) { continue;
: new ArrayList<>(corDefOutputs.entrySet())) { final CorDef corDef = rightOutput.getKey(); if (!corDef.corr.equals(rel.getCorrelationId())) { continue;
/** Returns whether a {@link CorrelationId} is satisfied by at least one of a * collection of {@link CorDef}s. */ private boolean has(Collection<CorDef> corDefs, CorRef corr) { for (CorDef corDef : corDefs) { if (corDef.corr.equals(corr.corr) && corDef.field == corr.field) { return true; } } return false; }
@Override public RexNode visitCorrelVariable(RexCorrelVariable variable) { if (variable.id.equals(rexCorrelVariableToReplace)) { return rexCorrelVariable; } return variable; }
@Override public RexNode visitCorrelVariable(RexCorrelVariable variable) { if (variable.id.equals(rexCorrelVariableToReplace)) { return rexCorrelVariable; } return variable; }
/** Returns whether a {@link CorrelationId} is satisfied by at least one of a * collection of {@link CorDef}s. */ private boolean has(Collection<CorDef> corDefs, CorRef corr) { for (CorDef corDef : corDefs) { if (corDef.corr.equals(corr.corr) && corDef.field == corr.field) { return true; } } return false; }
/** Returns whether a {@link CorrelationId} is satisfied by at least one of a * collection of {@link CorDef}s. */ private boolean has(Collection<CorDef> corDefs, CorRef corr) { for (CorDef corDef : corDefs) { if (corDef.corr.equals(corr.corr) && corDef.field == corr.field) { return true; } } return false; }
@Override public boolean equals(Object obj) { return this == obj || obj instanceof RexCorrelVariable && digest.equals(((RexCorrelVariable) obj).digest) && type.equals(((RexCorrelVariable) obj).type) && id.equals(((RexCorrelVariable) obj).id); }
@Override public boolean equals(Object obj) { return obj == this || obj instanceof MutableCorrelate && correlationId.equals( ((MutableCorrelate) obj).correlationId) && requiredColumns.equals( ((MutableCorrelate) obj).requiredColumns) && joinType == ((MutableCorrelate) obj).joinType && left.equals(((MutableCorrelate) obj).left) && right.equals(((MutableCorrelate) obj).right); }
@Override public boolean equals(Object obj) { return obj == this || obj instanceof MutableCorrelate && correlationId.equals( ((MutableCorrelate) obj).correlationId) && requiredColumns.equals( ((MutableCorrelate) obj).requiredColumns) && joinType == ((MutableCorrelate) obj).joinType && left.equals(((MutableCorrelate) obj).left) && right.equals(((MutableCorrelate) obj).right); }
protected RexNode handle(RexFieldAccess fieldAccess) { final RexCorrelVariable v = (RexCorrelVariable) fieldAccess.getReferenceExpr(); if (v.id.equals(correlation)) { fieldsUsedBuilder.set(fieldAccess.getField().getIndex()); } return fieldAccess; } });
protected RexNode handle(RexFieldAccess fieldAccess) { final RexCorrelVariable v = (RexCorrelVariable) fieldAccess.getReferenceExpr(); if (v.id.equals(correlation)) { fieldsUsedBuilder.set(fieldAccess.getField().getIndex()); } return fieldAccess; } });
protected RexNode handle(RexFieldAccess fieldAccess) { final RexCorrelVariable v = (RexCorrelVariable) fieldAccess.getReferenceExpr(); if (v.id.equals(correlation) && v.getType().getFieldCount() == mapping.getSourceCount()) { final int old = fieldAccess.getField().getIndex(); final int new_ = mapping.getTarget(old); final RelDataTypeFactory.Builder typeBuilder = relBuilder.getTypeFactory().builder(); for (int target : Util.range(mapping.getTargetCount())) { typeBuilder.add( v.getType().getFieldList().get(mapping.getSource(target))); } final RexNode newV = rexBuilder.makeCorrel(typeBuilder.build(), v.id); if (old != new_) { return rexBuilder.makeFieldAccess(newV, new_); } } return fieldAccess; } });
protected RexNode handle(RexFieldAccess fieldAccess) { final RexCorrelVariable v = (RexCorrelVariable) fieldAccess.getReferenceExpr(); if (v.id.equals(correlation) && v.getType().getFieldCount() == mapping.getSourceCount()) { final int old = fieldAccess.getField().getIndex(); final int new_ = mapping.getTarget(old); final RelDataTypeFactory.Builder typeBuilder = relBuilder.getTypeFactory().builder(); for (int target : Util.range(mapping.getTargetCount())) { typeBuilder.add( v.getType().getFieldList().get(mapping.getSource(target))); } final RexNode newV = rexBuilder.makeCorrel(typeBuilder.build(), v.id); if (old != new_) { return rexBuilder.makeFieldAccess(newV, new_); } } return fieldAccess; } });
: new ArrayList<>(corDefOutputs.entrySet())) { final CorDef corDef = rightOutput.getKey(); if (!corDef.corr.equals(rel.getCorrelationId())) { continue;
: new ArrayList<>(corDefOutputs.entrySet())) { final CorDef corDef = rightOutput.getKey(); if (!corDef.corr.equals(rel.getCorrelationId())) { continue;
: new ArrayList<>(corDefOutputs.entrySet())) { final CorDef corDef = rightOutput.getKey(); if (!corDef.corr.equals(rel.getCorrelationId())) { continue;