Check eligibility inside a consumer transaction
What It Does
A consumer checks qualification while preparing a database transaction, using either the recorded transaction evaluator or the stored SQL-only check.
The Flow
Prepare the binding, release and plan, and fetch required provider facts before the evaluator transaction callback. Read subjects and predicates through rolled-back savepoints, fold results, apply policy and insert the decision transactionally. Alternatively execute a stored SQL-only plan with bound workspace, subjects and day under the caller’s row policy, returning state, reasons and trace without history insertion.
When Something Fails
Missing uses, suspension or no effective release raises to the consumer. No caller business commit has occurred. Failed reads can yield uncertainty; a cold dataset description can disrupt the read path. Only the caller transaction determines the business outcome. Missing use, release or plan and unsupported constructs raise; the plan must have been stored through Platform first. The failing SQL statement supplies no qualification result.
Open Design Questions
The internal in-process evaluator also exists and does not record history, but its consumer package is unpublished.