Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.19.0
Description
The default rule description of ConvertRule does not obey the description pattern of RelOptRule.
public RelOptRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, String description) { this.operand = Objects.requireNonNull(operand); this.relBuilderFactory = Objects.requireNonNull(relBuilderFactory); if (description == null) { description = guessDescription(getClass().getName()); } if (!description.matches("[A-Za-z][-A-Za-z0-9_.():]*")) { throw new RuntimeException("Rule description '" + description + "' is not valid"); } this.description = description; this.operands = flattenOperands(operand); assignSolveOrder(); }
public <R extends RelNode> ConverterRule(Class<R> clazz, Predicate<? super R> predicate, RelTrait in, RelTrait out, RelBuilderFactory relBuilderFactory, String description) { super(convertOperand(clazz, predicate, in), relBuilderFactory, description == null ? "ConverterRule<in=" + in + ",out=" + out + ">" : description); this.inTrait = Objects.requireNonNull(in); this.outTrait = Objects.requireNonNull(out); // Source and target traits must have same type assert in.getTraitDef() == out.getTraitDef(); }
Attachments
Issue Links
- supercedes
-
CALCITE-3099 The description of SplunkPushDownRule doesn't match expression check in RelOptRule
- Closed
- links to