public class ConstraintReferential extends Constraint
Modifier and Type | Field and Description |
---|---|
static int |
CASCADE
The action is to cascade the operation.
|
static int |
RESTRICT
The action is to restrict the operation.
|
static int |
SET_DEFAULT
The action is to set the value to the default value.
|
static int |
SET_NULL
The action is to set the value to NULL.
|
CHECK, PRIMARY_KEY, REFERENTIAL, table, UNIQUE
comment, database, trace
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE
Constructor and Description |
---|
ConstraintReferential(Schema schema,
int id,
String name,
Table table) |
Modifier and Type | Method and Description |
---|---|
void |
checkExistingData(Session session)
Check the existing data.
|
void |
checkRow(Session session,
Table t,
Row oldRow,
Row newRow)
Check if this row fulfils the constraint.
|
IndexColumn[] |
getColumns() |
String |
getConstraintType()
The constraint type name
|
String |
getCreateSQL()
Build a SQL statement to re-create this object.
|
String |
getCreateSQLForCopy(Table forTable,
String quotedName)
Create the SQL statement of this object so a copy of the table can be made.
|
String |
getCreateSQLForCopy(Table forTable,
Table forRefTable,
String quotedName,
boolean internalIndex)
Create the SQL statement of this object so a copy of the table can be made.
|
String |
getCreateSQLWithoutIndexes()
Get the SQL statement to create this constraint.
|
int |
getDeleteAction() |
IndexColumn[] |
getRefColumns() |
HashSet<Column> |
getReferencedColumns(Table table)
Get all referenced columns.
|
Table |
getRefTable() |
Index |
getUniqueIndex()
Get the unique index used to enforce this constraint, or null if no index
is used.
|
int |
getUpdateAction() |
boolean |
isBefore()
Check if this constraint needs to be checked before updating the data.
|
void |
rebuild()
This method is called after a related table has changed
(the table was renamed, or columns have been renamed).
|
void |
removeChildrenAndResources(Session session)
Remove all dependent objects and free all resources (files, blocks in
files) of this object.
|
void |
setColumns(IndexColumn[] cols) |
void |
setDeleteAction(int action)
Set the action to apply (restrict, cascade,...) on a delete.
|
void |
setIndex(Index index,
boolean isOwner)
Set the index to use for this constraint.
|
void |
setIndexOwner(Index index)
This index is now the owner of the specified index.
|
void |
setRefColumns(IndexColumn[] refCols) |
void |
setRefIndex(Index refIndex,
boolean isRefOwner)
Set the index of the referenced table to use for this constraint.
|
void |
setRefTable(Table refTable) |
void |
setUpdateAction(int action)
Set the action to apply (restrict, cascade,...) on an update.
|
boolean |
usesIndex(Index idx)
Check if this constraint needs the specified index.
|
checkRename, compareTo, getDropSQL, getTable, getType, isEverything, isHidden
getSchema, getSQL, initSchemaObjectBase
getChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, rename, setComment, setModified, setObjectName, setTemporary, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChildren, getComment, getDatabase, getId, getName, isTemporary, rename, setComment, setTemporary
public static final int RESTRICT
public static final int CASCADE
public static final int SET_DEFAULT
public static final int SET_NULL
public String getConstraintType()
Constraint
getConstraintType
in class Constraint
public String getCreateSQLForCopy(Table forTable, String quotedName)
forTable
- the table to create the object forquotedName
- the name of this object (quoted if necessary)public String getCreateSQLForCopy(Table forTable, Table forRefTable, String quotedName, boolean internalIndex)
forTable
- the table to create the object forforRefTable
- the referenced tablequotedName
- the name of this object (quoted if necessary)internalIndex
- add the index name to the statementpublic String getCreateSQLWithoutIndexes()
Constraint
getCreateSQLWithoutIndexes
in class Constraint
public String getCreateSQL()
DbObjectBase
getCreateSQL
in interface DbObject
getCreateSQL
in class DbObjectBase
public void setColumns(IndexColumn[] cols)
public IndexColumn[] getColumns()
public HashSet<Column> getReferencedColumns(Table table)
Constraint
getReferencedColumns
in class Constraint
table
- the tablepublic void setRefColumns(IndexColumn[] refCols)
public IndexColumn[] getRefColumns()
public void setRefTable(Table refTable)
public void setIndex(Index index, boolean isOwner)
index
- the indexisOwner
- true if the index is generated by the system and belongs
to this constraintpublic void setRefIndex(Index refIndex, boolean isRefOwner)
refIndex
- the indexisRefOwner
- true if the index is generated by the system and
belongs to this constraintpublic void removeChildrenAndResources(Session session)
DbObjectBase
removeChildrenAndResources
in interface DbObject
removeChildrenAndResources
in class DbObjectBase
session
- the sessionpublic void checkRow(Session session, Table t, Row oldRow, Row newRow)
Constraint
checkRow
in class Constraint
session
- the sessiont
- the tableoldRow
- the old rownewRow
- the new rowpublic int getDeleteAction()
public void setDeleteAction(int action)
action
- the actionpublic int getUpdateAction()
public void setUpdateAction(int action)
action
- the actionpublic void rebuild()
Constraint
rebuild
in class Constraint
public Table getRefTable()
getRefTable
in class Constraint
public boolean usesIndex(Index idx)
Constraint
usesIndex
in class Constraint
idx
- the indexpublic void setIndexOwner(Index index)
Constraint
setIndexOwner
in class Constraint
index
- the indexpublic boolean isBefore()
Constraint
isBefore
in class Constraint
public void checkExistingData(Session session)
Constraint
checkExistingData
in class Constraint
session
- the sessionpublic Index getUniqueIndex()
Constraint
getUniqueIndex
in class Constraint
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.