Repository: phoenix Updated Branches: refs/heads/calcite aa0bf5834 -> 760723a1e
Change Calcite version to 1.8.0-SNAPSHOT Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/760723a1 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/760723a1 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/760723a1 Branch: refs/heads/calcite Commit: 760723a1ef949420663e2980a109689e02688e49 Parents: aa0bf58 Author: maryannxue <maryann....@gmail.com> Authored: Thu Apr 7 22:27:32 2016 -0400 Committer: maryannxue <maryann....@gmail.com> Committed: Thu Apr 7 22:27:32 2016 -0400 ---------------------------------------------------------------------- .../phoenix/calcite/metadata/PhoenixRelMdCollation.java | 12 ++++++++++-- .../phoenix/calcite/metadata/PhoenixRelMdRowCount.java | 12 +++++++++++- .../phoenix/calcite/metadata/PhoenixRelMdSize.java | 12 ++++++++++-- .../calcite/metadata/PhoenixRelMetadataProvider.java | 2 +- pom.xml | 2 +- 5 files changed, 33 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/760723a1/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdCollation.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdCollation.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdCollation.java index 02bf8e3..281ed2b 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdCollation.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdCollation.java @@ -6,6 +6,9 @@ import org.apache.calcite.rel.RelCollation; import org.apache.calcite.rel.RelCollations; import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.core.JoinRelType; +import org.apache.calcite.rel.metadata.BuiltInMetadata; +import org.apache.calcite.rel.metadata.MetadataDef; +import org.apache.calcite.rel.metadata.MetadataHandler; import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider; import org.apache.calcite.rel.metadata.RelMdCollation; import org.apache.calcite.rel.metadata.RelMetadataProvider; @@ -22,13 +25,18 @@ import org.apache.phoenix.calcite.rel.PhoenixTableScan; import com.google.common.collect.ImmutableList; -public class PhoenixRelMdCollation { +public class PhoenixRelMdCollation implements MetadataHandler<BuiltInMetadata.Collation> { public static final RelMetadataProvider SOURCE = ReflectiveRelMetadataProvider.reflectiveSource( BuiltInMethod.COLLATIONS.method, new PhoenixRelMdCollation()); private PhoenixRelMdCollation() { } + @Override + public MetadataDef<BuiltInMetadata.Collation> getDef() { + return BuiltInMetadata.Collation.DEF; + } + public ImmutableList<RelCollation> collations(PhoenixTableScan tableScan, RelMetadataQuery mq) { return ImmutableList.copyOf(tableScan.getCollationList()); } @@ -49,7 +57,7 @@ public class PhoenixRelMdCollation { return ImmutableList.copyOf(PhoenixRelMdCollation.mergeJoin(mq, join.getLeft(), join.getRight(), join.joinInfo.leftKeys, join.joinInfo.rightKeys)); } - public ImmutableList<RelCollation> collations(PhoenixMergeSortUnion union) { + public ImmutableList<RelCollation> collations(PhoenixMergeSortUnion union, RelMetadataQuery mq) { return ImmutableList.of(union.collation); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/760723a1/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdRowCount.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdRowCount.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdRowCount.java index 1bd4c15..aab8624 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdRowCount.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdRowCount.java @@ -1,6 +1,9 @@ package org.apache.phoenix.calcite.metadata; import org.apache.calcite.rel.core.Aggregate; +import org.apache.calcite.rel.metadata.BuiltInMetadata; +import org.apache.calcite.rel.metadata.MetadataDef; +import org.apache.calcite.rel.metadata.MetadataHandler; import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider; import org.apache.calcite.rel.metadata.RelMetadataProvider; import org.apache.calcite.rel.metadata.RelMetadataQuery; @@ -9,10 +12,17 @@ import org.apache.calcite.util.ImmutableBitSet; import org.apache.phoenix.calcite.rel.PhoenixAbstractAggregate; import org.apache.phoenix.calcite.rel.PhoenixLimit; -public class PhoenixRelMdRowCount { +public class PhoenixRelMdRowCount implements MetadataHandler<BuiltInMetadata.RowCount> { public static final RelMetadataProvider SOURCE = ReflectiveRelMetadataProvider.reflectiveSource( BuiltInMethod.ROW_COUNT.method, new PhoenixRelMdRowCount()); + + private PhoenixRelMdRowCount() { } + + @Override + public MetadataDef<BuiltInMetadata.RowCount> getDef() { + return BuiltInMetadata.RowCount.DEF; + } public Double getRowCount(Aggregate rel, RelMetadataQuery mq) { if (PhoenixAbstractAggregate.isSingleValueCheckAggregate(rel)) { http://git-wip-us.apache.org/repos/asf/phoenix/blob/760723a1/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdSize.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdSize.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdSize.java index 31ed29f..355de27 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdSize.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMdSize.java @@ -2,6 +2,9 @@ package org.apache.phoenix.calcite.metadata; import org.apache.calcite.plan.volcano.RelSubset; import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.metadata.BuiltInMetadata; +import org.apache.calcite.rel.metadata.MetadataDef; +import org.apache.calcite.rel.metadata.MetadataHandler; import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider; import org.apache.calcite.rel.metadata.RelMetadataProvider; import org.apache.calcite.rel.metadata.RelMetadataQuery; @@ -13,14 +16,19 @@ import org.apache.phoenix.calcite.rel.PhoenixAbstractSemiJoin; import org.apache.phoenix.calcite.rel.PhoenixTableScan; import org.apache.phoenix.calcite.rel.PhoenixUnion; -public class PhoenixRelMdSize { +public class PhoenixRelMdSize implements MetadataHandler<BuiltInMetadata.Size> { /** Source for * {@link org.apache.calcite.rel.metadata.BuiltInMetadata.Size}. */ public static final RelMetadataProvider SOURCE = ReflectiveRelMetadataProvider.reflectiveSource(new PhoenixRelMdSize(), BuiltInMethod.AVERAGE_ROW_SIZE.method); - protected PhoenixRelMdSize() { } + private PhoenixRelMdSize() { } + + @Override + public MetadataDef<BuiltInMetadata.Size> getDef() { + return BuiltInMetadata.Size.DEF; + } public Double averageRowSize(PhoenixUnion rel, RelMetadataQuery mq) { double rowSize = 0; http://git-wip-us.apache.org/repos/asf/phoenix/blob/760723a1/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMetadataProvider.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMetadataProvider.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMetadataProvider.java index 5572952..2bbc237 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMetadataProvider.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/metadata/PhoenixRelMetadataProvider.java @@ -11,7 +11,7 @@ public class PhoenixRelMetadataProvider extends ChainedRelMetadataProvider { PhoenixRelMdRowCount.SOURCE, PhoenixRelMdCollation.SOURCE, PhoenixRelMdSize.SOURCE, - new DefaultRelMetadataProvider())); + DefaultRelMetadataProvider.INSTANCE)); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/760723a1/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b882e0e..009b2f2 100644 --- a/pom.xml +++ b/pom.xml @@ -92,7 +92,7 @@ <jodatime.version>1.6</jodatime.version> <joni.version>2.1.2</joni.version> <avatica.version>1.7.1</avatica.version> - <calcite.version>1.6.0</calcite.version> + <calcite.version>1.8.0-SNAPSHOT</calcite.version> <jettyVersion>8.1.7.v20120910</jettyVersion> <tephra.version>0.7.0</tephra.version> <spark.version>1.5.2</spark.version>