public static RelOptRuleOperand some(Class<? extends RelNode> rel, RelTrait trait, RelOptRuleOperand first, RelOptRuleOperand... rest){ return RelOptRule.operand(rel, trait, RelOptRule.some(first, rest)); }
public static RelOptRuleOperand some(Class<? extends RelNode> rel, RelOptRuleOperand first, RelOptRuleOperand... rest){ return RelOptRule.operand(rel, RelOptRule.some(first, rest)); }
public static RelOptRuleOperand some(Class<? extends RelNode> rel, RelTrait trait, RelOptRuleOperand first, RelOptRuleOperand... rest){ return RelOptRule.operand(rel, trait, RelOptRule.some(first, rest)); }
public static RelOptRuleOperand some(Class<? extends RelNode> rel, RelOptRuleOperand first, RelOptRuleOperand... rest){ return RelOptRule.operand(rel, RelOptRule.some(first, rest)); }
/** * Creates an operand that matches a relational expression that has no * children. * * @param clazz Class of relational expression to match (must not be null) * @param trait Trait to match, or null to match any trait * @param predicate Additional match predicate * @param first First operand * @param rest Rest operands * @param <R> Class of relational expression to match * @return Operand */ public static <R extends RelNode> RelOptRuleOperand operandJ( Class<R> clazz, RelTrait trait, Predicate<? super R> predicate, RelOptRuleOperand first, RelOptRuleOperand... rest) { return operandJ(clazz, trait, predicate, some(first, rest)); }
/** * Creates an operand that matches a relational expression that has no * children. * * @param clazz Class of relational expression to match (must not be null) * @param trait Trait to match, or null to match any trait * @param predicate Additional match predicate * @param first First operand * @param rest Rest operands * @param <R> Class of relational expression to match * @return Operand */ public static <R extends RelNode> RelOptRuleOperand operandJ( Class<R> clazz, RelTrait trait, Predicate<? super R> predicate, RelOptRuleOperand first, RelOptRuleOperand... rest) { return operandJ(clazz, trait, predicate, some(first, rest)); }
/** * Creates an operand that matches a relational expression with a given * list of children. * * <p>Shorthand for <code>operand(clazz, some(...))</code>. * * <p>If you wish to match a relational expression that has no children * (that is, a leaf node), write <code>operand(clazz, none())</code></p>. * * <p>If you wish to match a relational expression that has any number of * children, write <code>operand(clazz, any())</code></p>. * * @param clazz Class of relational expression to match (must not be null) * @param first First operand * @param rest Rest operands * @param <R> Class of relational expression to match * @return Operand that matches a relational expression with a given * list of children */ public static <R extends RelNode> RelOptRuleOperand operand( Class<R> clazz, RelOptRuleOperand first, RelOptRuleOperand... rest) { return operand(clazz, some(first, rest)); }
/** * Creates an operand that matches a relational expression with a given * list of children. * * <p>Shorthand for <code>operand(clazz, some(...))</code>. * * <p>If you wish to match a relational expression that has no children * (that is, a leaf node), write <code>operand(clazz, none())</code></p>. * * <p>If you wish to match a relational expression that has any number of * children, write <code>operand(clazz, any())</code></p>. * * @param clazz Class of relational expression to match (must not be null) * @param first First operand * @param rest Rest operands * @param <R> Class of relational expression to match * @return Operand that matches a relational expression with a given * list of children */ public static <R extends RelNode> RelOptRuleOperand operand( Class<R> clazz, RelOptRuleOperand first, RelOptRuleOperand... rest) { return operand(clazz, some(first, rest)); }