/** * Recomputes the digest of this VolcanoRuleMatch. It is necessary when sets * have merged since the match was created. */ public void recomputeDigest() { digest = computeDigest(); }
/** * Recomputes the digest of this VolcanoRuleMatch. It is necessary when sets * have merged since the match was created. */ public void recomputeDigest() { digest = computeDigest(); }
/** * Creates a <code>VolcanoRuleMatch</code>. * * @param operand0 Primary operand * @param rels List of targets; copied by the constructor, so the client can * modify it later * * @pre rels[i] != null */ VolcanoRuleMatch( VolcanoPlanner volcanoPlanner, RelOptRuleOperand operand0, RelNode [] rels) { super(volcanoPlanner, operand0, rels.clone()); this.volcanoPlanner = volcanoPlanner; for (int i = 0; i < rels.length; i++) { assert (rels[i] != null); } // Try to deduce which subset the result will belong to. Assume -- // for now -- that the set is the same as the root relexp. targetSet = volcanoPlanner.getSet(rels[0]); assert targetSet != null : rels[0].toString() + " isn't in a set"; digest = computeDigest(); }
/** * Creates a <code>VolcanoRuleMatch</code>. * * @param operand0 Primary operand * @param rels List of targets; copied by the constructor, so the client * can modify it later * @pre rels[i] != null */ VolcanoRuleMatch( VolcanoPlanner volcanoPlanner, RelOptRuleOperand operand0, RelNode[] rels) { super(volcanoPlanner, operand0, rels.clone()); this.volcanoPlanner = volcanoPlanner; for (int i = 0; i < rels.length; i++) { assert rels[i] != null; } // Try to deduce which subset the result will belong to. Assume -- // for now -- that the set is the same as the root relexp. targetSet = volcanoPlanner.getSet(rels[0]); assert targetSet != null : rels[0].toString() + " isn't in a set"; digest = computeDigest(); }