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 Object
implements MetadataHandler<BuiltInMetadata.DistinctRowCount>
RelMdDistinctRowCount supplies a default implementation of
 
RelMetadataQuery.getDistinctRowCount(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.rex.RexNode) for the standard logical
 algebra.- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptiongetDef()@Nullable DoublegetDistinctRowCount(RelSubset rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Aggregate rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Exchange rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Filter rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Join rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Project rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(Sort rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(TableModify rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(TableScan scan, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate) @Nullable DoublegetDistinctRowCount(Union rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) getDistinctRowCount(Values rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable DoublegetDistinctRowCount(RelNode rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) Catch-all implementation forBuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode), invoked using reflection. 
- 
Field Details
- 
SOURCE
 
 - 
 - 
Constructor Details
- 
RelMdDistinctRowCount
protected RelMdDistinctRowCount() 
 - 
 - 
Method Details
- 
getDef
- Specified by:
 getDefin interfaceMetadataHandler<BuiltInMetadata.DistinctRowCount>
 - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(RelNode rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) Catch-all implementation forBuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode), invoked using reflection. - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(TableScan scan, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Union rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Sort rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(TableModify rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Exchange rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Filter rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Join rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Aggregate rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public Double getDistinctRowCount(Values rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(Project rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  - 
getDistinctRowCount
public @Nullable Double getDistinctRowCount(RelSubset rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate)  
 -