When Constraints Are Evaluated

Previous Next

A constraint is evaluated if any of the columns referred to in the constraint's WHERE clause is manipulated. This means that constraints are evaluated at different moments during application processing, depending on their scope (domain, single-record, multi-record), their type (restrictive, corrective), whether or not they are transitional, and whether or not they are deferred.

The most common reason for a constraint to be evaluated is as a direct result of user actions such as pressing a key (to move to the next field, for example), closing a window, or choosing a menu option such as File, Save. These user actions not only cause constraint evaluation, but may also cause execution of other actions (defined by the developer), and these actions in turn can lead to further data manipulation and constraint evaluation.

If a restrictive constraint is violated, the cursor will remain in the field until the user has corrected the data.

If a record is affected by a corrective constraint, the Rules Engine performs the correction, which is a data manipulation and can therefore activate other constraints, or even itself (recursive constraint).

See Also:

Constraint Evaluation: Overview

Corrective Domain Constraints: When Evaluated

Restrictive Domain Constraints: When Evaluated

Corrective Table Constraints: When Evaluated

Restrictive Single-Record Constraints: When Evaluated

Deferred Corrective Multi-Record Constraints: When Evaluated

Restrictive Multi-Record Constraints: When Evaluated

Constraint Evaluation and Field Validation

Constraint Evaluation, Record Validation and Record Storage

Constraint Evaluation and Commit