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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetDef()
@Nullable Double
getDistinctRowCount
(RelSubset rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Aggregate rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Exchange rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Filter rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Join rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Project rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(Sort rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(TableModify rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(TableScan scan, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate) @Nullable Double
getDistinctRowCount
(Union rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) getDistinctRowCount
(Values rel, RelMetadataQuery mq, ImmutableBitSet groupKey, @Nullable RexNode predicate) @Nullable Double
getDistinctRowCount
(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:
getDef
in 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)
-