Package org.apache.calcite.rel.metadata
Class RelMdUniqueKeys
- java.lang.Object
-
- org.apache.calcite.rel.metadata.RelMdUniqueKeys
-
- All Implemented Interfaces:
MetadataHandler<BuiltInMetadata.UniqueKeys>
public class RelMdUniqueKeys extends Object implements MetadataHandler<BuiltInMetadata.UniqueKeys>
RelMdUniqueKeys supplies a default implementation ofRelMetadataQuery.getUniqueKeys(org.apache.calcite.rel.RelNode)
for the standard logical algebra.
-
-
Field Summary
Fields Modifier and Type Field Description static RelMetadataProvider
SOURCE
-
Method Summary
-
-
-
Field Detail
-
SOURCE
public static final RelMetadataProvider SOURCE
-
-
Method Detail
-
getDef
public MetadataDef<BuiltInMetadata.UniqueKeys> getDef()
- Specified by:
getDef
in interfaceMetadataHandler<BuiltInMetadata.UniqueKeys>
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(Filter rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(Sort rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(Correlate rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(TableModify rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public Set<ImmutableBitSet> getUniqueKeys(Project rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(Calc rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(Join rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public Set<ImmutableBitSet> getUniqueKeys(Aggregate rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public Set<ImmutableBitSet> getUniqueKeys(Union rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public Set<ImmutableBitSet> getUniqueKeys(Intersect rel, RelMetadataQuery mq, boolean ignoreNulls)
Any unique key of any input of Intersect is an unique key of the Intersect.
-
getUniqueKeys
public Set<ImmutableBitSet> getUniqueKeys(Minus rel, RelMetadataQuery mq, boolean ignoreNulls)
The unique keys of Minus are precisely the unique keys of its first input.
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(TableScan rel, RelMetadataQuery mq, boolean ignoreNulls)
-
getUniqueKeys
public @Nullable Set<ImmutableBitSet> getUniqueKeys(RelNode rel, RelMetadataQuery mq, boolean ignoreNulls)
-
-