Class ConstraintCheck

All Implemented Interfaces:
Comparable<Constraint>, HasSQL

public class ConstraintCheck extends Constraint
A check constraint.
  • Field Details

  • Constructor Details

    • ConstraintCheck

      public ConstraintCheck(Schema schema, int id, String name, Table table)
  • Method Details

    • getConstraintType

      public Constraint.Type getConstraintType()
      Description copied from class: Constraint
      The constraint type name
      Specified by:
      getConstraintType in class Constraint
      Returns:
      the name
    • setTableFilter

      public void setTableFilter(TableFilter filter)
    • setExpression

      public void setExpression(Expression expr)
    • getCreateSQLForCopy

      public String getCreateSQLForCopy(Table forTable, 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
    • getShortDescription

      private String getShortDescription()
    • getCreateSQLWithoutIndexes

      public 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 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
    • 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 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