Interface BuiltInMetadata.UniqueKeys

All Superinterfaces:
Enclosing class:

public static interface BuiltInMetadata.UniqueKeys extends Metadata
Metadata about which combinations of columns are unique identifiers.
  • Field Details

  • Method Details

    • getUniqueKeys

      @Nullable Set<ImmutableBitSet> getUniqueKeys(boolean ignoreNulls)
      Determines the set of unique minimal keys for this expression. A key is represented as an ImmutableBitSet, where each bit position represents a 0-based output column ordinal.

      Note that a unique key plus other columns is still unique. Therefore, all columns are unique in a table with a unique key consisting of the empty set, as is the case for zero-row and single-row tables. The converse is not true: a table with all columns unique does necessary have the empty set as a key - that is never true with multi-row tables.

      Nulls can be ignored if the relational expression has filtered out null values.

      ignoreNulls - if true, ignore null values when determining whether the keys are unique
      set of keys, or null if this information cannot be determined (whereas empty set indicates definitely no keys at all, and a set containing the empty set implies every column is unique)