Class ConstraintDomain

  • All Implemented Interfaces:
    java.lang.Comparable<Constraint>, HasSQL

    public class ConstraintDomain
    extends Constraint
    A domain constraint.
    • Constructor Detail

      • ConstraintDomain

        public ConstraintDomain​(Schema schema,
                                int id,
                                java.lang.String name,
                                Domain domain)
    • Method Detail

      • getDomain

        public Domain getDomain()
        Returns the domain of this constraint.
        Returns:
        the domain
      • setExpression

        public void setExpression​(SessionLocal session,
                                  Expression expr)
        Set the expression.
        Parameters:
        session - the session
        expr - the expression
      • getCreateSQLForCopy

        public java.lang.String getCreateSQLForCopy​(Table forTable,
                                                    java.lang.String quotedName)
        Description copied from class: DbObject
        Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table
        Specified by:
        getCreateSQLForCopy in class DbObject
        Parameters:
        forTable - the new table
        quotedName - the quoted name
        Returns:
        the SQL statement
      • getCreateSQLWithoutIndexes

        public java.lang.String getCreateSQLWithoutIndexes()
        Description copied from class: Constraint
        Get the SQL statement to create this constraint.
        Specified by:
        getCreateSQLWithoutIndexes in class Constraint
        Returns:
        the SQL statement
      • getCreateSQL

        public java.lang.String getCreateSQL()
        Description copied from class: DbObject
        Construct the CREATE ... SQL statement for this object.
        Specified by:
        getCreateSQL in class DbObject
        Returns:
        the SQL statement
      • removeChildrenAndResources

        public void removeChildrenAndResources​(SessionLocal session)
        Description copied from class: DbObject
        Delete all dependent children objects and resources of this object.
        Specified by:
        removeChildrenAndResources in class DbObject
        Parameters:
        session - the session
      • checkRow

        public void checkRow​(SessionLocal session,
                             Table t,
                             Row oldRow,
                             Row newRow)
        Description copied from class: Constraint
        Check if this row fulfils the constraint. This method throws an exception if not.
        Specified by:
        checkRow in class Constraint
        Parameters:
        session - the session
        t - the table
        oldRow - the old row
        newRow - the new row
      • check

        public void check​(SessionLocal session,
                          Value value)
        Check the specified value.
        Parameters:
        session - the session
        value - the value to check
      • getCheckConstraint

        public Expression getCheckConstraint​(SessionLocal session,
                                             java.lang.String columnName)
        Get the check constraint expression for this column.
        Parameters:
        session - the session
        columnName - the column name
        Returns:
        the expression
      • usesIndex

        public boolean usesIndex​(Index index)
        Description copied from class: Constraint
        Check if this constraint needs the specified index.
        Specified by:
        usesIndex in class Constraint
        Parameters:
        index - the index
        Returns:
        true if the index is used
      • setIndexOwner

        public void setIndexOwner​(Index index)
        Description copied from class: Constraint
        This index is now the owner of the specified index.
        Specified by:
        setIndexOwner in class Constraint
        Parameters:
        index - the index
      • getReferencedColumns

        public java.util.HashSet<Column> getReferencedColumns​(Table table)
        Description copied from class: Constraint
        Get all referenced columns.
        Specified by:
        getReferencedColumns in class Constraint
        Parameters:
        table - the table
        Returns:
        the set of referenced columns
      • getExpression

        public Expression getExpression()
        Description copied from class: Constraint
        Returns the CHECK expression or null.
        Overrides:
        getExpression in class Constraint
        Returns:
        the CHECK expression or null.
      • isBefore

        public boolean isBefore()
        Description copied from class: Constraint
        Check if this constraint needs to be checked before updating the data.
        Specified by:
        isBefore in class Constraint
        Returns:
        true if it must be checked before updating
      • checkExistingData

        public void checkExistingData​(SessionLocal session)
        Description copied from class: Constraint
        Check the existing data. This method is called if the constraint is added after data has been inserted into the table.
        Specified by:
        checkExistingData in class Constraint
        Parameters:
        session - the session
      • rebuild

        public void rebuild()
        Description copied from class: Constraint
        This method is called after a related table has changed (the table was renamed, or columns have been renamed).
        Specified by:
        rebuild in class Constraint
      • isEverything

        public boolean isEverything​(ExpressionVisitor visitor)
        Description copied from class: Constraint
        Visit all elements in the constraint.
        Overrides:
        isEverything in class Constraint
        Parameters:
        visitor - the visitor
        Returns:
        true if every visited expression returned true, or if there are no expressions