Rules, Constraints, and Integrities
If a table has Ingres rules associated with it that results in additional row changes within the same transaction, do not generate undo operations for such dependent changes because it leads to undesirable results. Also, the rules can change between the time of the initial transaction and the time when you want to undo that transaction. Instead, undo only the change in the base table, and let the rules generate the dependent changes.
Journal Analyzer detects the rules, constraints, and integrities that exist in the tables involved in the transaction(s) and displays them on the tabbed pages in the Recover dialog. From this display, you can determine whether some changes in a transaction resulted from rules and if certain constraints cannot be fulfilled. This information helps you determine if you want to use the No Rules option, and possibly disable certain rows within the transaction. You can view the properties for a particular rule, constraint, or integrity by double clicking it. Examine these entities to determine their impact on a restore.
Note: Integrity constraints that are violated are not specifically reported: updates and inserts that violate any integrity constraints are simply not performed.
Scan Journals to End Option
The Scan Journals to the End option provides a warning if the tables have been altered since the time of the initial transaction, in which case the rules for these tables have changed.
If there are rules on a table, you have two choices:
• Disable individual row changes in the undo scripts, by deselecting the corresponding row changes in the Recover dialog. This can be useful, for example, if the current rules cause the desired operation in dependent tables, in which case you must disable the dependent row changes.
• Use the No Rules option to allow you to disable rules while executing the queries. This option allows the reversal of the exact row changes of the initial transaction, regardless of what the rules were at that time, and what they are now. The side effect of this option is that if there are constraints on the corresponding tables, they are not checked if this option is used. This operation must be used very carefully. If the Journal Analyzer previously detected current constraints on those tables, it provides a warning and asks for confirmation before starting the operation.
Last modified date: 08/28/2024