Constraints

Previous Next

Constraints are business rules of which the logic is specified in SQL. One type of constraint, the restrictive constraint, specifies which data is allowed to go into the database, and which not. The Rules Engine checks validity of database transactions against the USoft Developer repository containing the constraint specification. If a transaction violates the rule it is rejected.

Another type of constraint is the corrective constraint. Corrective constraints themselves manipulate data in the database. These manipulation attempts are also checked by the Rules Engine.

SQL select statements executed in the process of constraint evaluation are executed by the Rules Engine regardless of the authorization settings.

On the other hand, insert, delete and update statements are only actually executed if appropriate manipulation rights have been specified.

In short, you need data manipulation rights (delete, insert, and update rights) to have the Rules Engine perform manipulations on the data as a result of corrective constraint firing, but you do not need rights to have the Rules Engine evaluate restrictive constraints.

For more information on constraints, read the chapter on "Constraints" in the USoft Definer Guide.