You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by da...@apache.org on 2020/02/07 01:43:25 UTC
[calcite] branch master updated: [CALCITE-3769] Remove
ToRelContextFactory
This is an automated email from the ASF dual-hosted git repository.
danny0405 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/master by this push:
new 6ea2fd0 [CALCITE-3769] Remove ToRelContextFactory
6ea2fd0 is described below
commit 6ea2fd03cbc366b673ac0adfcd246b2e3e7321dc
Author: yuzhao.cyz <yu...@gmail.com>
AuthorDate: Thu Feb 6 20:48:33 2020 +0800
[CALCITE-3769] Remove ToRelContextFactory
---
.../calcite/adapter/enumerable/EnumerableMatchRule.java | 6 +++++-
.../main/java/org/apache/calcite/plan/RelOptTable.java | 16 ----------------
.../main/java/org/apache/calcite/plan/ViewExpanders.java | 5 -----
.../java/org/apache/calcite/rel/core/RelFactories.java | 16 ----------------
.../main/java/org/apache/calcite/rel/hint/RelHint.java | 8 ++++----
5 files changed, 9 insertions(+), 42 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatchRule.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatchRule.java
index 086680d..57a6fdb 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatchRule.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatchRule.java
@@ -33,7 +33,11 @@ public class EnumerableMatchRule extends ConverterRule {
@Override public RelNode convert(RelNode rel) {
final LogicalMatch match = (LogicalMatch) rel;
- return EnumerableMatch.create(match.getInput(), match.getRowType(),
+ return EnumerableMatch.create(
+ convert(match.getInput(),
+ match.getInput().getTraitSet()
+ .replace(EnumerableConvention.INSTANCE)),
+ match.getRowType(),
match.getPattern(), match.isStrictStart(), match.isStrictEnd(),
match.getPatternDefinitions(), match.getMeasures(), match.getAfter(),
match.getSubsets(), match.isAllRows(), match.getPartitionKeys(),
diff --git a/core/src/main/java/org/apache/calcite/plan/RelOptTable.java b/core/src/main/java/org/apache/calcite/plan/RelOptTable.java
index 420b01a..f3d01e0 100644
--- a/core/src/main/java/org/apache/calcite/plan/RelOptTable.java
+++ b/core/src/main/java/org/apache/calcite/plan/RelOptTable.java
@@ -160,20 +160,4 @@ public interface RelOptTable extends Wrapper {
*/
List<RelHint> getTableHints();
}
-
- /** Interface to customize the {@link ToRelContext}. **/
- interface ToRelContextFactory {
- /**
- * Returns a {@link ToRelContext} instance.
- *
- * @param viewExpander The view expander
- * @param cluster The cluster
- * @param hints The hints attached to the table,
- * empty if the table does not have any hints
- *
- * @return A new {@link ToRelContext} instance.
- */
- ToRelContext createToRelContext(RelOptTable.ViewExpander viewExpander,
- RelOptCluster cluster, List<RelHint> hints);
- }
}
diff --git a/core/src/main/java/org/apache/calcite/plan/ViewExpanders.java b/core/src/main/java/org/apache/calcite/plan/ViewExpanders.java
index 0767307..a8afc56 100644
--- a/core/src/main/java/org/apache/calcite/plan/ViewExpanders.java
+++ b/core/src/main/java/org/apache/calcite/plan/ViewExpanders.java
@@ -38,11 +38,6 @@ public abstract class ViewExpanders {
RelOptTable.ViewExpander viewExpander,
RelOptCluster cluster,
List<RelHint> hints) {
- // See if the user wants to customize the ToRelContext.
- if (viewExpander instanceof RelOptTable.ToRelContextFactory) {
- return ((RelOptTable.ToRelContextFactory) viewExpander)
- .createToRelContext(viewExpander, cluster, hints);
- }
return new RelOptTable.ToRelContext() {
public RelOptCluster getCluster() {
return cluster;
diff --git a/core/src/main/java/org/apache/calcite/rel/core/RelFactories.java b/core/src/main/java/org/apache/calcite/rel/core/RelFactories.java
index 4518524..13b2cfd 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/RelFactories.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/RelFactories.java
@@ -528,22 +528,6 @@ public class RelFactories {
}
/**
- * Creates a {@link TableScanFactory} that can expand
- * {@link TranslatableTable} instances, but explodes on views.
- *
- * @param tableScanFactory Factory for non-translatable tables
- * @return Table scan factory
- */
- @Nonnull public static TableScanFactory expandingScanFactory(
- @Nonnull TableScanFactory tableScanFactory) {
- return expandingScanFactory(
- (rowType, queryString, schemaPath, viewPath) -> {
- throw new UnsupportedOperationException("cannot expand view");
- },
- tableScanFactory);
- }
-
- /**
* Creates a {@link TableScanFactory} that uses a
* {@link org.apache.calcite.plan.RelOptTable.ViewExpander} to handle
* {@link TranslatableTable} instances, and falls back to a default
diff --git a/core/src/main/java/org/apache/calcite/rel/hint/RelHint.java b/core/src/main/java/org/apache/calcite/rel/hint/RelHint.java
index 12a70e1..8102905 100644
--- a/core/src/main/java/org/apache/calcite/rel/hint/RelHint.java
+++ b/core/src/main/java/org/apache/calcite/rel/hint/RelHint.java
@@ -179,7 +179,7 @@ public class RelHint {
public Builder hintOption(String hintOption) {
Objects.requireNonNull(hintOption);
Preconditions.checkState(this.kvOptions.size() == 0,
- "List options and Key-Value options can not be mixed in");
+ "List options and key value options can not be mixed in");
this.listOptions.add(hintOption);
return this;
}
@@ -188,7 +188,7 @@ public class RelHint {
public Builder hintOptions(Iterable<String> hintOptions) {
Objects.requireNonNull(hintOptions);
Preconditions.checkState(this.kvOptions.size() == 0,
- "List options and Key-Value options can not be mixed in");
+ "List options and key value options can not be mixed in");
this.listOptions = ImmutableList.copyOf(hintOptions);
return this;
}
@@ -198,7 +198,7 @@ public class RelHint {
Objects.requireNonNull(optionKey);
Objects.requireNonNull(optionValue);
Preconditions.checkState(this.listOptions.size() == 0,
- "List options and key-value options can not be mixed in");
+ "List options and key value options can not be mixed in");
this.kvOptions.put(optionKey, optionValue);
return this;
}
@@ -207,7 +207,7 @@ public class RelHint {
public Builder hintOptions(Map<String, String> kvOptions) {
Objects.requireNonNull(kvOptions);
Preconditions.checkState(this.listOptions.size() == 0,
- "List options and key-value options can not be mixed in");
+ "List options and key value options can not be mixed in");
this.kvOptions = kvOptions;
return this;
}