org.apache.derby.impl.sql.execute
Class CreateConstraintConstantAction

java.lang.Object
  extended byorg.apache.derby.impl.sql.execute.GenericConstantAction
      extended byorg.apache.derby.impl.sql.execute.DDLConstantAction
          extended byorg.apache.derby.impl.sql.execute.DDLSingleTableConstantAction
              extended byorg.apache.derby.impl.sql.execute.ConstraintConstantAction
                  extended byorg.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
Author:
Jerry Brenner

Field Summary
private  ClassFactory cf
           
 java.lang.String[] columnNames
           
 java.lang.String constraintText
           
private  boolean enabled
           
private  ConstraintInfo otherConstraintInfo
           
private  ProviderInfo[] providerInfo
           
 
Fields inherited from class org.apache.derby.impl.sql.execute.ConstraintConstantAction
constraintName, constraintType, indexAction, schemaId, schemaName, tableId, tableName
 
Fields inherited from interface org.apache.derby.iapi.sql.execute.ConstantAction
RUNTIMESTATISTICS, STATISTICSTIMING
 
Constructor Summary
(package private) CreateConstraintConstantAction(java.lang.String constraintName, int constraintType, java.lang.String tableName, UUID tableId, java.lang.String schemaName, java.lang.String[] columnNames, IndexConstantAction indexAction, java.lang.String constraintText, boolean enabled, ConstraintInfo otherConstraint, ProviderInfo[] providerInfo)
          Make one of these puppies.
 
Method Summary
 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.
 java.lang.String[] getColumnNames()
          Get the names of the columns touched by this constraint.
 java.lang.String getConstraintText()
          Get the text defining this constraint.
 boolean isForeignKeyConstraint()
          Is the constant action for a foreign key
 java.lang.String toString()
           
 
Methods inherited from class org.apache.derby.impl.sql.execute.ConstraintConstantAction
getConstraintName, getConstraintType, getIndexAction, modifiesTableId, validateConstraint, validateFKConstraint
 
Methods inherited from class org.apache.derby.impl.sql.execute.DDLConstantAction
constructToString, getAndCheckSchemaDescriptor, getSchemaDescriptorForCreate, lockTableForDDL, readExternal, upToDate, writeExternal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

columnNames

public java.lang.String[] columnNames

constraintText

public java.lang.String constraintText

otherConstraintInfo

private ConstraintInfo otherConstraintInfo

cf

private ClassFactory cf

enabled

private boolean enabled

providerInfo

private ProviderInfo[] providerInfo
Constructor Detail

CreateConstraintConstantAction

CreateConstraintConstantAction(java.lang.String constraintName,
                               int constraintType,
                               java.lang.String tableName,
                               UUID tableId,
                               java.lang.String schemaName,
                               java.lang.String[] columnNames,
                               IndexConstantAction indexAction,
                               java.lang.String constraintText,
                               boolean enabled,
                               ConstraintInfo otherConstraint,
                               ProviderInfo[] providerInfo)
Make one of these puppies.

Parameters:
constraintName - Constraint name.
constraintType - Constraint type.
tableName - Table name.
tableId - UUID of table.
schemaName - the schema that table and constraint lives in.
columnNames - String[] for column names
indexAction - IndexConstantAction for constraint (if necessary)
constraintText - Text for check constraint RESOLVE - the next parameter should go away once we use UUIDs (Generated constraint names will be based off of uuids)
enabled - Should the constraint be created as enabled (enabled == true), or disabled (enabled == false).
otherConstraint - information about the constraint that this references
providerInfo - 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.

Parameters:
activation - The execution environment for this constant action.
Throws:
StandardException - Thrown on failure
See Also:
ConstantAction.executeConstantAction(org.apache.derby.iapi.sql.Activation)

isForeignKeyConstraint

public boolean isForeignKeyConstraint()
Is the constant action for a foreign key

Returns:
true/false

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 question
columnsMustBeOrderable - true for primaryKey and unique constraints
Returns:
int[] The column positions.
Throws:
StandardException

getColumnNames

public java.lang.String[] getColumnNames()
Get the names of the columns touched by this constraint.

Returns:
the array of touched column names.

getConstraintText

public java.lang.String getConstraintText()
Get the text defining this constraint.

Returns:
constraint text

toString

public java.lang.String toString()


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.