Repository: calcite Updated Branches: refs/heads/master 3e587afb0 -> d407395e0
http://git-wip-us.apache.org/repos/asf/calcite/blob/d407395e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java index b66ebb2..fb2221e 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java @@ -20,6 +20,10 @@ import org.apache.calcite.adapter.enumerable.EnumerableConvention; import org.apache.calcite.plan.RelTraitSet; import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.convert.ConverterRule; +import org.apache.calcite.rel.core.RelFactories; +import org.apache.calcite.tools.RelBuilderFactory; + +import com.google.common.base.Predicates; /** * Rule to convert a relational expression from @@ -27,10 +31,16 @@ import org.apache.calcite.rel.convert.ConverterRule; */ public class MongoToEnumerableConverterRule extends ConverterRule { public static final ConverterRule INSTANCE = - new MongoToEnumerableConverterRule(); + new MongoToEnumerableConverterRule(RelFactories.LOGICAL_BUILDER); - private MongoToEnumerableConverterRule() { - super(RelNode.class, MongoRel.CONVENTION, EnumerableConvention.INSTANCE, + /** + * Creates a MongoToEnumerableConverterRule. + * + * @param relBuilderFactory Builder for relational expressions + */ + public MongoToEnumerableConverterRule(RelBuilderFactory relBuilderFactory) { + super(RelNode.class, Predicates.<RelNode>alwaysTrue(), MongoRel.CONVENTION, + EnumerableConvention.INSTANCE, relBuilderFactory, "MongoToEnumerableConverterRule"); } http://git-wip-us.apache.org/repos/asf/calcite/blob/d407395e/spark/src/main/java/org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.java b/spark/src/main/java/org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.java index 418c332..d9f2b9e 100644 --- a/spark/src/main/java/org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.java +++ b/spark/src/main/java/org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.java @@ -20,6 +20,10 @@ import org.apache.calcite.adapter.enumerable.EnumerableConvention; import org.apache.calcite.plan.RelTraitSet; import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.convert.ConverterRule; +import org.apache.calcite.rel.core.RelFactories; +import org.apache.calcite.tools.RelBuilderFactory; + +import com.google.common.base.Predicates; /** * Rule to convert a relational expression from @@ -28,11 +32,16 @@ import org.apache.calcite.rel.convert.ConverterRule; */ public class EnumerableToSparkConverterRule extends ConverterRule { public static final EnumerableToSparkConverterRule INSTANCE = - new EnumerableToSparkConverterRule(); + new EnumerableToSparkConverterRule(RelFactories.LOGICAL_BUILDER); - private EnumerableToSparkConverterRule() { - super( - RelNode.class, EnumerableConvention.INSTANCE, SparkRel.CONVENTION, + /** + * Creates an EnumerableToSparkConverterRule. + * + * @param relBuilderFactory Builder for relational expressions + */ + public EnumerableToSparkConverterRule(RelBuilderFactory relBuilderFactory) { + super(RelNode.class, Predicates.<RelNode>alwaysTrue(), + EnumerableConvention.INSTANCE, SparkRel.CONVENTION, relBuilderFactory, "EnumerableToSparkConverterRule"); } http://git-wip-us.apache.org/repos/asf/calcite/blob/d407395e/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.java b/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.java index be60a08..f8c30ee 100644 --- a/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.java +++ b/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.java @@ -20,6 +20,9 @@ import org.apache.calcite.adapter.jdbc.JdbcConvention; import org.apache.calcite.plan.RelTraitSet; import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.convert.ConverterRule; +import org.apache.calcite.tools.RelBuilderFactory; + +import com.google.common.base.Predicates; /** * Rule to convert a relational expression from @@ -27,11 +30,11 @@ import org.apache.calcite.rel.convert.ConverterRule; * {@link org.apache.calcite.adapter.spark.SparkRel#CONVENTION Spark convention}. */ public class JdbcToSparkConverterRule extends ConverterRule { - JdbcToSparkConverterRule(JdbcConvention out) { - super( - RelNode.class, - out, SparkRel.CONVENTION, - "JdbcToSparkConverterRule"); + /** Creates a JdbcToSparkConverterRule. */ + public JdbcToSparkConverterRule(JdbcConvention out, + RelBuilderFactory relBuilderFactory) { + super(RelNode.class, Predicates.<RelNode>alwaysTrue(), out, + SparkRel.CONVENTION, relBuilderFactory, "JdbcToSparkConverterRule"); } @Override public RelNode convert(RelNode rel) { http://git-wip-us.apache.org/repos/asf/calcite/blob/d407395e/splunk/src/main/java/org/apache/calcite/adapter/splunk/SplunkPushDownRule.java ---------------------------------------------------------------------- diff --git a/splunk/src/main/java/org/apache/calcite/adapter/splunk/SplunkPushDownRule.java b/splunk/src/main/java/org/apache/calcite/adapter/splunk/SplunkPushDownRule.java index 491e340..913f194 100644 --- a/splunk/src/main/java/org/apache/calcite/adapter/splunk/SplunkPushDownRule.java +++ b/splunk/src/main/java/org/apache/calcite/adapter/splunk/SplunkPushDownRule.java @@ -22,6 +22,7 @@ import org.apache.calcite.plan.RelOptRule; import org.apache.calcite.plan.RelOptRuleCall; import org.apache.calcite.plan.RelOptRuleOperand; import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.RelFactories; import org.apache.calcite.rel.logical.LogicalFilter; import org.apache.calcite.rel.logical.LogicalProject; import org.apache.calcite.rel.type.RelDataType; @@ -36,6 +37,7 @@ import org.apache.calcite.sql.SqlKind; import org.apache.calcite.sql.SqlOperator; import org.apache.calcite.sql.fun.SqlStdOperatorTable; import org.apache.calcite.sql.type.SqlTypeName; +import org.apache.calcite.tools.RelBuilderFactory; import org.apache.calcite.util.NlsString; import org.apache.calcite.util.Pair; @@ -72,45 +74,44 @@ public class SplunkPushDownRule public static final SplunkPushDownRule PROJECT_ON_FILTER = new SplunkPushDownRule( - operand( - LogicalProject.class, - operand( - LogicalFilter.class, - operand( - LogicalProject.class, + operand(LogicalProject.class, + operand(LogicalFilter.class, + operand(LogicalProject.class, operand(SplunkTableScan.class, none())))), - "proj on filter on proj"); + RelFactories.LOGICAL_BUILDER, "proj on filter on proj"); public static final SplunkPushDownRule FILTER_ON_PROJECT = new SplunkPushDownRule( - operand( - LogicalFilter.class, - operand( - LogicalProject.class, + operand(LogicalFilter.class, + operand(LogicalProject.class, operand(SplunkTableScan.class, none()))), - "filter on proj"); + RelFactories.LOGICAL_BUILDER, "filter on proj"); public static final SplunkPushDownRule FILTER = new SplunkPushDownRule( - operand( - LogicalFilter.class, operand(SplunkTableScan.class, none())), - "filter"); + operand(LogicalFilter.class, + operand(SplunkTableScan.class, none())), + RelFactories.LOGICAL_BUILDER, "filter"); public static final SplunkPushDownRule PROJECT = new SplunkPushDownRule( - operand( - LogicalProject.class, + operand(LogicalProject.class, operand(SplunkTableScan.class, none())), - "proj"); + RelFactories.LOGICAL_BUILDER, "proj"); - /** Creates a SplunkPushDownRule. */ + @Deprecated // to be removed before 2.0 protected SplunkPushDownRule(RelOptRuleOperand rule, String id) { - super(rule, "SplunkPushDownRule: " + id); + this(rule, RelFactories.LOGICAL_BUILDER, id); + } + + /** Creates a SplunkPushDownRule. */ + protected SplunkPushDownRule(RelOptRuleOperand rule, + RelBuilderFactory relBuilderFactory, String id) { + super(rule, relBuilderFactory, "SplunkPushDownRule: " + id); } // ~ Methods -------------------------------------------------------------- - // implement RelOptRule public void onMatch(RelOptRuleCall call) { LOGGER.debug(description);
