public abstract class Constraint extends SchemaObjectBase implements 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, trace
AGGREGATE, 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 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, isValid, 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
protected 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 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 © 2020 JBoss by Red Hat. All rights reserved.