public abstract class Constraint extends SchemaObjectBase implements Comparable<Constraint>
Modifier and Type | Field and Description |
---|---|
static String |
CHECK
The constraint type name for check constraints.
|
static String |
PRIMARY_KEY
The constraint type name for primary key constraints.
|
static String |
REFERENTIAL
The constraint type name for referential constraints.
|
protected Table |
table
The table for which this constraint is defined.
|
static String |
UNIQUE
The constraint type name for unique constraints.
|
comment, database, trace
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, 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 String |
getConstraintType()
The constraint type name
|
abstract String |
getCreateSQLWithoutIndexes()
Get the SQL statement to create this constraint.
|
String |
getDropSQL()
Build a SQL statement to drop this object.
|
abstract 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, initSchemaObjectBase
getChildren, getComment, getCreateSQL, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, removeChildrenAndResources, rename, setComment, setModified, setObjectName, setTemporary, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getDatabase, getId, getName, isTemporary, removeChildrenAndResources, rename, setComment, setTemporary
public static final String CHECK
public static final String REFERENTIAL
public static final String UNIQUE
public static final String PRIMARY_KEY
protected Table table
public abstract String 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 HashSet<Column> getReferencedColumns(Table table)
table
- the tablepublic abstract 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()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
public int getType()
DbObject
public Table getTable()
public Table getRefTable()
public String getDropSQL()
DbObjectBase
getDropSQL
in interface DbObject
getDropSQL
in class DbObjectBase
public int compareTo(Constraint other)
compareTo
in interface Comparable<Constraint>
public boolean isHidden()
SchemaObject
isHidden
in interface SchemaObject
isHidden
in class SchemaObjectBase
public boolean isEverything(ExpressionVisitor visitor)
visitor
- the visitorCopyright © 2012 JBoss by Red Hat. All Rights Reserved.