Class UniqueIndexSortObserver

  • All Implemented Interfaces:
    SortObserver

    class UniqueIndexSortObserver
    extends BasicSortObserver
    Unique index aggregator. Enforces uniqueness when creating a unique index or constraint.
    • Field Detail

      • deferrable

        private final boolean deferrable
      • deferred

        private final boolean deferred
      • indexOrConstraintName

        private final java.lang.String indexOrConstraintName
      • tableName

        private final java.lang.String tableName
      • constraintId

        private final UUID constraintId
    • Constructor Detail

      • UniqueIndexSortObserver

        public UniqueIndexSortObserver​(LanguageConnectionContext lcc,
                                       UUID constraintId,
                                       boolean doClone,
                                       boolean deferrable,
                                       boolean deferred,
                                       java.lang.String indexOrConstraintName,
                                       ExecRow execRow,
                                       boolean reuseWrappers,
                                       java.lang.String tableName)
    • Method Detail

      • deferred

        public boolean deferred()
        Description copied from interface: SortObserver
        Overridden by subclasses that observe sorters with uniqueness checking.
        Specified by:
        deferred in interface SortObserver
        Overrides:
        deferred in class BasicSortObserver
        Returns:
        true if constraint mode of the index's constraint is effectively deferred. Any SortObserver implementations that implement uniqueness checking need to keep track of this information.
      • deferrable

        public boolean deferrable()
        Description copied from interface: SortObserver
        Overridden by subclasses that observe sorters with uniqueness checking.
        Specified by:
        deferrable in interface SortObserver
        Overrides:
        deferrable in class BasicSortObserver
        Returns:
        true if the index's constraint is deferrable. Any SortObserver implementations that implement uniqueness checking need to keep track of this information.
      • rememberDuplicate

        public void rememberDuplicate​(DataValueDescriptor[] row)
                               throws StandardException
        Description copied from interface: SortObserver
        Overridden by subclasses that observe sorters with uniqueness checking. Will be called by sorters iff deferrable() and deferred() and uniqueness violation, so implementations that sometimes return true to these must implement this method to save duplicate information till commit time.
        Specified by:
        rememberDuplicate in interface SortObserver
        Overrides:
        rememberDuplicate in class BasicSortObserver
        Parameters:
        row - data of offending key
        Throws:
        StandardException - standard error policy