Skip to content

Commit fe268b9

Browse files
committed
Fix line endings on Windows (2nd attempt)
1 parent 05be8b1 commit fe268b9

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

testkit/src/main/java/org/apache/calcite/test/QuidemTest.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,8 @@ public static class SubPlanCommand extends AbstractCommand {
348348
relNode = RelDecorrelator.decorrelateQuery(relNode, relBuilder);
349349
}
350350

351-
x.echo(ImmutableList.of(RelOptUtil.toString(relNode)));
351+
final String s = RelOptUtil.toString(relNode);
352+
x.echo(ImmutableList.copyOf(s.split(System.lineSeparator())));
352353
}
353354
} else {
354355
x.echo(content);
@@ -664,7 +665,26 @@ private static void applyRulesInOrder(String value,
664665

665666
public static RelOptRule getCoreRule(String ruleName) {
666667
try {
667-
Field ruleField = CoreRules.class.getField(ruleName);
668+
// Support "ClassName.FIELD_NAME" syntax for non-CoreRules rule classes.
669+
// E.g. "PruneEmptyRules.PROJECT_INSTANCE"
670+
final Class<?> ruleClass;
671+
final String fieldName;
672+
int dotIndex = ruleName.indexOf('.');
673+
if (dotIndex >= 0) {
674+
String className = ruleName.substring(0, dotIndex);
675+
fieldName = ruleName.substring(dotIndex + 1);
676+
switch (className) {
677+
case "PruneEmptyRules":
678+
ruleClass = PruneEmptyRules.class;
679+
break;
680+
default:
681+
throw new IllegalArgumentException("Unknown rule class: " + className);
682+
}
683+
} else {
684+
ruleClass = CoreRules.class;
685+
fieldName = ruleName;
686+
}
687+
Field ruleField = ruleClass.getField(fieldName);
668688
Object o = ruleField.get(null);
669689

670690
if (o instanceof RelOptRule) {

0 commit comments

Comments
 (0)