Class CreateTriggerConstantAction
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.DDLConstantAction
-
- org.apache.derby.impl.sql.execute.DDLSingleTableConstantAction
-
- org.apache.derby.impl.sql.execute.CreateTriggerConstantAction
-
- All Implemented Interfaces:
ConstantAction
class CreateTriggerConstantAction extends DDLSingleTableConstantAction
This class describes actions that are ALWAYS performed for a CREATE TRIGGER Statement at Execution time.
-
-
Field Summary
Fields Modifier and Type Field Description private UUID
actionSPSId
private java.lang.String
actionText
private int
eventMask
private boolean
isBefore
private boolean
isEnabled
private boolean
isRow
private java.lang.String
newReferencingName
private java.lang.String
oldReferencingName
private java.lang.String
originalActionText
private java.lang.String
originalWhenText
private ProviderInfo[]
providerInfo
private int[]
referencedCols
private int[]
referencedColsInTriggerAction
private boolean
referencingNew
private boolean
referencingOld
private UUID
spsCompSchemaId
private java.lang.String
triggerName
private java.lang.String
triggerSchemaName
private TableDescriptor
triggerTable
private UUID
triggerTableId
private UUID
whenSPSId
private java.lang.String
whenText
-
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 CreateTriggerConstantAction(java.lang.String triggerSchemaName, java.lang.String triggerName, int eventMask, boolean isBefore, boolean isRow, boolean isEnabled, TableDescriptor triggerTable, UUID whenSPSId, java.lang.String whenText, UUID actionSPSId, java.lang.String actionText, UUID spsCompSchemaId, int[] referencedCols, int[] referencedColsInTriggerAction, java.lang.String originalWhenText, java.lang.String originalActionText, boolean referencingOld, boolean referencingNew, java.lang.String oldReferencingName, java.lang.String newReferencingName, ProviderInfo[] providerInfo)
Make the ConstantAction for a CREATE TRIGGER statement.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private SPSDescriptor
createSPS(LanguageConnectionContext lcc, DataDescriptorGenerator ddg, DataDictionary dd, TransactionController tc, UUID triggerId, SchemaDescriptor sd, UUID spsId, UUID compSchemaId, java.lang.String text, boolean isWhen, TableDescriptor triggerTable)
void
executeConstantAction(Activation activation)
This is the guts of the Execution-time logic for CREATE TRIGGER.private java.sql.Timestamp
makeCreationTimestamp(DataDictionary dd)
Construct the creation timestamp for the trigger.java.lang.String
toString()
-
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
-
triggerName
private java.lang.String triggerName
-
triggerSchemaName
private java.lang.String triggerSchemaName
-
triggerTable
private TableDescriptor triggerTable
-
triggerTableId
private UUID triggerTableId
-
eventMask
private int eventMask
-
isBefore
private boolean isBefore
-
isRow
private boolean isRow
-
isEnabled
private boolean isEnabled
-
referencingOld
private boolean referencingOld
-
referencingNew
private boolean referencingNew
-
whenSPSId
private UUID whenSPSId
-
whenText
private java.lang.String whenText
-
actionSPSId
private UUID actionSPSId
-
actionText
private java.lang.String actionText
-
originalWhenText
private final java.lang.String originalWhenText
-
originalActionText
private java.lang.String originalActionText
-
oldReferencingName
private java.lang.String oldReferencingName
-
newReferencingName
private java.lang.String newReferencingName
-
spsCompSchemaId
private UUID spsCompSchemaId
-
referencedCols
private int[] referencedCols
-
referencedColsInTriggerAction
private int[] referencedColsInTriggerAction
-
providerInfo
private final ProviderInfo[] providerInfo
-
-
Constructor Detail
-
CreateTriggerConstantAction
CreateTriggerConstantAction(java.lang.String triggerSchemaName, java.lang.String triggerName, int eventMask, boolean isBefore, boolean isRow, boolean isEnabled, TableDescriptor triggerTable, UUID whenSPSId, java.lang.String whenText, UUID actionSPSId, java.lang.String actionText, UUID spsCompSchemaId, int[] referencedCols, int[] referencedColsInTriggerAction, java.lang.String originalWhenText, java.lang.String originalActionText, boolean referencingOld, boolean referencingNew, java.lang.String oldReferencingName, java.lang.String newReferencingName, ProviderInfo[] providerInfo)
Make the ConstantAction for a CREATE TRIGGER statement.- Parameters:
triggerSchemaName
- name for the schema that trigger lives in.triggerName
- Name of triggereventMask
- TriggerDescriptor.TRIGGER_EVENT_XXXXisBefore
- is this a before (as opposed to after) triggerisRow
- is this a row trigger or statement triggerisEnabled
- is this trigger enabled or disabledtriggerTable
- the table upon which this trigger is definedwhenSPSId
- the sps id for the when clause (may be null)whenText
- the text of the when clause (may be null)actionSPSId
- the spsid for the trigger action (may be null)actionText
- the text of the trigger actionspsCompSchemaId
- the compilation schema for the action and when spses. If null, will be set to the current default schemareferencedCols
- what columns does this trigger reference (may be null)referencedColsInTriggerAction
- what columns does the trigger action reference through old/new transition variables (may be null)originalWhenText
- The original user text of the WHEN clause (may be null)originalActionText
- The original user text of the trigger actionreferencingOld
- whether or not OLD appears in REFERENCING clausereferencingNew
- whether or not NEW appears in REFERENCING clauseoldReferencingName
- old referencing table name, if any, that appears in REFERENCING clausenewReferencingName
- new referencing table name, if any, that appears in REFERENCING clauseproviderInfo
- array of providers that the trigger depends on
-
-
Method Detail
-
executeConstantAction
public void executeConstantAction(Activation activation) throws StandardException
This is the guts of the Execution-time logic for CREATE TRIGGER.- Parameters:
activation
- The execution environment for this constant action.- Throws:
StandardException
- Thrown on failure- See Also:
ConstantAction.executeConstantAction(org.apache.derby.iapi.sql.Activation)
-
createSPS
private SPSDescriptor createSPS(LanguageConnectionContext lcc, DataDescriptorGenerator ddg, DataDictionary dd, TransactionController tc, UUID triggerId, SchemaDescriptor sd, UUID spsId, UUID compSchemaId, java.lang.String text, boolean isWhen, TableDescriptor triggerTable) throws StandardException
- Throws:
StandardException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
makeCreationTimestamp
private java.sql.Timestamp makeCreationTimestamp(DataDictionary dd) throws StandardException
Construct the creation timestamp for the trigger. DERBY-5866: Also make sure the creation timestamp is higher than any timestamp on an existing trigger on the same table. Otherwise, the triggers may not fire in the correct order.- Throws:
StandardException
-
-