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 UUIDactionSPSIdprivate java.lang.StringactionTextprivate inteventMaskprivate booleanisBeforeprivate booleanisEnabledprivate booleanisRowprivate java.lang.StringnewReferencingNameprivate java.lang.StringoldReferencingNameprivate java.lang.StringoriginalActionTextprivate java.lang.StringoriginalWhenTextprivate ProviderInfo[]providerInfoprivate int[]referencedColsprivate int[]referencedColsInTriggerActionprivate booleanreferencingNewprivate booleanreferencingOldprivate UUIDspsCompSchemaIdprivate java.lang.StringtriggerNameprivate java.lang.StringtriggerSchemaNameprivate TableDescriptortriggerTableprivate UUIDtriggerTableIdprivate UUIDwhenSPSIdprivate java.lang.StringwhenText-
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 SPSDescriptorcreateSPS(LanguageConnectionContext lcc, DataDescriptorGenerator ddg, DataDictionary dd, TransactionController tc, UUID triggerId, SchemaDescriptor sd, UUID spsId, UUID compSchemaId, java.lang.String text, boolean isWhen, TableDescriptor triggerTable)voidexecuteConstantAction(Activation activation)This is the guts of the Execution-time logic for CREATE TRIGGER.private java.sql.TimestampmakeCreationTimestamp(DataDictionary dd)Construct the creation timestamp for the trigger.java.lang.StringtoString()-
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:
toStringin 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
-
-