public abstract class Constraint extends SchemaObjectBase implements java.lang.Comparable<Constraint>
| Modifier and Type | Class and Description |
|---|---|
static class |
Constraint.Type |
| Modifier and Type | Field and Description |
|---|---|
protected Table |
table
The table for which this constraint is defined.
|
comment, database, traceAGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE| Modifier and Type | Method and Description |
|---|---|
abstract void |
checkExistingData(Session session)
Check the existing data.
|
void |
checkRename()
Check if this object can be renamed.
|
abstract void |
checkRow(Session session,
Table t,
Row oldRow,
Row newRow)
Check if this row fulfils the constraint.
|
int |
compareTo(Constraint other) |
abstract Constraint.Type |
getConstraintType()
The constraint type name
|
abstract java.lang.String |
getCreateSQLWithoutIndexes()
Get the SQL statement to create this constraint.
|
java.lang.String |
getDropSQL()
Build a SQL statement to drop this object.
|
abstract java.util.HashSet<Column> |
getReferencedColumns(Table table)
Get all referenced columns.
|
Table |
getRefTable() |
Table |
getTable() |
int |
getType()
Get the object type.
|
abstract Index |
getUniqueIndex()
Get the unique index used to enforce this constraint, or null if no index
is used.
|
abstract boolean |
isBefore()
Check if this constraint needs to be checked before updating the data.
|
boolean |
isEverything(ExpressionVisitor visitor)
Visit all elements in the constraint.
|
boolean |
isHidden()
Check whether this is a hidden object that doesn't appear in the meta
data and in the script, and is not dropped on DROP ALL OBJECTS.
|
abstract void |
rebuild()
This method is called after a related table has changed
(the table was renamed, or columns have been renamed).
|
abstract void |
setIndexOwner(Index index)
This index is now the owner of the specified index.
|
abstract boolean |
usesIndex(Index index)
Check if this constraint needs the specified index.
|
getSchema, getSQL, initSchemaObjectBasegetChildren, getComment, getCreateSQL, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, isValid, removeChildrenAndResources, rename, setComment, setModified, setObjectName, setTemporary, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetChildren, getComment, getCreateSQL, getCreateSQLForCopy, getDatabase, getId, getName, isTemporary, removeChildrenAndResources, rename, setComment, setTemporaryprotected Table table
public abstract Constraint.Type getConstraintType()
public abstract void checkRow(Session session, Table t, Row oldRow, Row newRow)
session - the sessiont - the tableoldRow - the old rownewRow - the new rowpublic abstract boolean usesIndex(Index index)
index - the indexpublic abstract void setIndexOwner(Index index)
index - the indexpublic abstract java.util.HashSet<Column> getReferencedColumns(Table table)
table - the tablepublic abstract java.lang.String getCreateSQLWithoutIndexes()
public abstract boolean isBefore()
public abstract void checkExistingData(Session session)
session - the sessionpublic abstract void rebuild()
public abstract Index getUniqueIndex()
public void checkRename()
DbObjectBasecheckRename in interface DbObjectcheckRename in class DbObjectBasepublic int getType()
DbObjectpublic Table getTable()
public Table getRefTable()
public java.lang.String getDropSQL()
DbObjectBasegetDropSQL in interface DbObjectgetDropSQL in class DbObjectBasepublic int compareTo(Constraint other)
compareTo in interface java.lang.Comparable<Constraint>public boolean isHidden()
SchemaObjectisHidden in interface SchemaObjectisHidden in class SchemaObjectBasepublic boolean isEverything(ExpressionVisitor visitor)
visitor - the visitor