Package org.apache.calcite.rel.metadata
Class RelMdDistinctRowCount
- java.lang.Object
-
- org.apache.calcite.rel.metadata.RelMdDistinctRowCount
-
- All Implemented Interfaces:
MetadataHandler<BuiltInMetadata.DistinctRowCount>
public class RelMdDistinctRowCount extends java.lang.Object implements MetadataHandler<BuiltInMetadata.DistinctRowCount>
RelMdDistinctRowCount supplies a default implementation ofRelMetadataQuery.getDistinctRowCount(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.rex.RexNode)
for the standard logical algebra.
-
-
Field Summary
Fields Modifier and Type Field Description static RelMetadataProvider
SOURCE
-
Constructor Summary
Constructors Modifier Constructor Description protected
RelMdDistinctRowCount()
-
Method Summary
-
-
-
Field Detail
-
SOURCE
public static final RelMetadataProvider SOURCE
-
-
Method Detail
-
getDef
public MetadataDef<BuiltInMetadata.DistinctRowCount> getDef()
- Specified by:
getDef
in interfaceMetadataHandler<BuiltInMetadata.DistinctRowCount>
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(RelNode rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
Catch-all implementation forBuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)
, invoked using reflection.
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Union rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Sort rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Exchange rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Filter rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Join rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(SemiJoin rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Aggregate rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Values rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(Project rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
getDistinctRowCount
public java.lang.Double getDistinctRowCount(RelSubset rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)
-
-