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 ClassFactory
cf
private boolean[]
characteristics
private java.lang.String[]
columnNames
private java.lang.String
constraintText
private boolean
enabled
private boolean
forCreateTable
private ConstraintInfo
otherConstraintInfo
private 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 void
executeConstantAction(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.String
getConstraintText()
Get the text defining this constraint.(package private) boolean
isForeignKeyConstraint()
Is the constant action for a foreign key(package private) boolean
isInitiallyDeferred()
java.lang.String
toString()
-
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:
toString
in classjava.lang.Object
-
-