Salesforce

Does adding a database trigger affect the CRC of a table or field in the schema?

« Go Back

Information

 
TitleDoes adding a database trigger affect the CRC of a table or field in the schema?
URL NameP22525
Article Number000140768
EnvironmentProduct: Progress OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
Does adding a database trigger affect the CRC of a Table or field in the Schema?
Is another compile needed after adding a database trigger?
What happens when the "Check CRC" check-box is checked?
What is the effect of selecting "check CRC" box on the table triggers?
When should the "check CRC" box be checked?
Can the CRC of a table to be checked be avoided when running triggers.
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
When the application is already running in production mode and triggers need to be added at the table or field level, you do not have to recompile your application code. Schema triggers are not used in calculating Table or Index CRCs. Therefore, adding the triggers will not cause the CRCs to change .r code will not be affected. For further information refer to Article:
 

There are however Trigger CRC values, that can be involved with schema triggers. 
  1. When the triggers are first created, a choice of whether or not CRCs need to be used to manage trigger code. 
  2. When the "Check CRC" check-box on the Table Triggers dialog  is selected, Progress will verify before running the trigger if CRC of the associated table has changed. If CRC of the table changed, the trigger will not be fired.
  3. These CRCs are separate CRC values that are computed for the trigger routines themselves
  4. The Data Dictionary calculates these r-code CRC values and stores them in the the following metaschema tables:
  •  _File-Trig (for table triggers) and 
  •  _Field-Trig (for field triggers).  
When a database event occurs that causes a schema trigger to fire, when CRC checking is enabled, 
the CRC value of the trigger code is compared to the CRC value stored in the metaschema file. When they do not match, Progress returns a run-time error. In which case the trigger-code needs to be recompiled against the current application schema.
Workaround
Notes

References to Other Documentation:

Progress Documentation:
Progress Programming Handbook, "Schema Triggers" 

Progress Articles:

How to update database schema to reflect changed trigger procedures programatically   
What are the different types of CRC stored in the database's metaschema ?   
 Cyclic Redundancy Check Explained  

Keyword Phrase
Last Modified Date11/20/2020 7:30 AM

Powered by