Class CreateConstraintConstantAction
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.DDLConstantAction
-
- org.apache.derby.impl.sql.execute.DDLSingleTableConstantAction
-
- org.apache.derby.impl.sql.execute.ConstraintConstantAction
-
- org.apache.derby.impl.sql.execute.CreateConstraintConstantAction
-
- All Implemented Interfaces:
ConstantAction
public class CreateConstraintConstantAction extends ConstraintConstantAction
This class describes actions that are ALWAYS performed for a constraint creation at Execution time.- Version:
- 0.1
-
-
Field Summary
Fields Modifier and Type Field Description private ClassFactorycfprivate boolean[]characteristicsprivate java.lang.String[]columnNamesprivate java.lang.StringconstraintTextprivate booleanenabledprivate booleanforCreateTableprivate ConstraintInfootherConstraintInfoprivate ProviderInfo[]providerInfo-
Fields inherited from class org.apache.derby.impl.sql.execute.ConstraintConstantAction
constraintId, constraintName, constraintType, indexAction, schemaId, schemaName, tableName
-
Fields inherited from class org.apache.derby.impl.sql.execute.DDLSingleTableConstantAction
tableId
-
Fields inherited from interface org.apache.derby.iapi.sql.execute.ConstantAction
WHEN_MATCHED_THEN_DELETE, WHEN_MATCHED_THEN_UPDATE, WHEN_NOT_MATCHED_THEN_INSERT
-
-
Constructor Summary
Constructors Constructor Description CreateConstraintConstantAction(java.lang.String constraintName, int constraintType, boolean[] characteristics, boolean forCreateTable, java.lang.String tableName, UUID tableId, java.lang.String schemaName, java.lang.String[] columnNames, IndexConstantAction indexAction, java.lang.String constraintText, ConstraintInfo otherConstraint, ProviderInfo[] providerInfo)Make one of these puppies.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecuteConstantAction(Activation activation)This is the guts of the Execution-time logic for CREATE CONSTRAINT.private int[]genColumnPositions(TableDescriptor td, boolean columnsMustBeOrderable)Generate an array of column positions for the column list in the constraint.(package private) java.lang.StringgetConstraintText()Get the text defining this constraint.(package private) booleanisForeignKeyConstraint()Is the constant action for a foreign key(package private) booleanisInitiallyDeferred()java.lang.StringtoString()-
Methods inherited from class org.apache.derby.impl.sql.execute.ConstraintConstantAction
getConstraintId, getConstraintName, getConstraintType, getIndexAction, validateConstraint, validateFKConstraint
-
Methods inherited from class org.apache.derby.impl.sql.execute.DDLSingleTableConstantAction
dropConglomerate, dropConglomerate, dropConstraint, dropConstraint, dropConstraint, executeConglomReplacement, getConglomReplacementAction, recreateUniqueConstraintBackingIndexAsUniqueWhenNotNull
-
Methods inherited from class org.apache.derby.impl.sql.execute.DDLConstantAction
addColumnDependencies, adjustUDTDependencies, adjustUDTDependencies, constructToString, getAndCheckSchemaDescriptor, getSchemaDescriptorForCreate, lockTableForDDL, storeConstraintDependenciesOnPrivileges, storeViewTriggerDependenciesOnPrivileges
-
-
-
-
Field Detail
-
forCreateTable
private final boolean forCreateTable
-
columnNames
private java.lang.String[] columnNames
-
constraintText
private java.lang.String constraintText
-
otherConstraintInfo
private ConstraintInfo otherConstraintInfo
-
cf
private ClassFactory cf
-
enabled
private boolean enabled
-
characteristics
private boolean[] characteristics
-
providerInfo
private ProviderInfo[] providerInfo
-
-
Constructor Detail
-
CreateConstraintConstantAction
CreateConstraintConstantAction(java.lang.String constraintName, int constraintType, boolean[] characteristics, boolean forCreateTable, java.lang.String tableName, UUID tableId, java.lang.String schemaName, java.lang.String[] columnNames, IndexConstantAction indexAction, java.lang.String constraintText, ConstraintInfo otherConstraint, ProviderInfo[] providerInfo)Make one of these puppies.- Parameters:
constraintName- Constraint name.constraintType- Constraint type.characteristics- Constraint characteristicsforCreateTable- Constraint is being added for a CREATE TABLEtableName- Table name.tableId- UUID of table.schemaName- the schema that table and constraint lives in.columnNames- String[] for column namesindexAction- IndexConstantAction for constraint (if necessary)constraintText- Text for check constraintotherConstraint- information about the constraint that this referencesproviderInfo- Information on all the Providers
-
-
Method Detail
-
executeConstantAction
public void executeConstantAction(Activation activation) throws StandardException
This is the guts of the Execution-time logic for CREATE CONSTRAINT.A constraint is represented as:
- ConstraintDescriptor.
Dependencies are created as:- ConstraintDescriptor depends on all the providers collected at compile time and passed into the constructor.
- For a FOREIGN KEY constraint ConstraintDescriptor depends on the ConstraintDescriptor for the referenced constraints and the privileges required to create the constraint.
- Parameters:
activation- The execution environment for this constant action.- Throws:
StandardException- Thrown on failure- See Also:
ConstraintDescriptor,CreateIndexConstantAction,ConstantAction.executeConstantAction(org.apache.derby.iapi.sql.Activation)
-
isForeignKeyConstraint
boolean isForeignKeyConstraint()
Is the constant action for a foreign key- Returns:
- true/false
-
isInitiallyDeferred
boolean isInitiallyDeferred()
-
genColumnPositions
private int[] genColumnPositions(TableDescriptor td, boolean columnsMustBeOrderable) throws StandardException
Generate an array of column positions for the column list in the constraint.- Parameters:
td- The TableDescriptor for the table in questioncolumnsMustBeOrderable- true for primaryKey and unique constraints- Returns:
- int[] The column positions.
- Throws:
StandardException
-
getConstraintText
java.lang.String getConstraintText()
Get the text defining this constraint.- Returns:
- constraint text
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-