Stamatis >In proposal (ii) the changes will propagate to rules
Stamatis > which need to match operands in different conventions.

The changes will propagate to almost all the rules.

For instance,

public class DrillFilterAggregateTransposeRule extends
FilterAggregateTransposeRule{
private DrillFilterAggregateTransposeRule(RelBuilderFactory relBuilderFactory) {
  super(Filter.class, relBuilderFactory, Aggregate.class);
}

The intention of the rule was to transpose Drill filter and aggregate
rels, yet this rule would match any filter.

Even if a new method is added to base RelOptRule and/or
RelOptRuleOperand, then that method won't be able to tell
that the rule wants DrillConvention only.

That is why I mean not only cross-convention rules would have to be
updated, but many rules would have to be updated.
The sad thing is "same convention" is the most common case.

Regards,
Vladimir

Reply via email to