Class AndNoShortCircuitNode

All Implemented Interfaces:
Visitable

class AndNoShortCircuitNode extends AndNode
Used for deferrable CHECK constraint. When we evaluate check constraints for a row where at least one constraint is deferrable, we need to know exactly which set of constraints violated the checks. The normal evaluation of check constraints is generated as one big (NOT c1) AND (NOT c2) AND ... AND (NOT cn) using short-circuited (McCarthy) boolean evaluation.

This kind of evaluation of the expression can only tell us the first failing constraint, so we use full evaluation instead, as embodied in this node. See also BooleanDataValue.throwExceptionIfImmediateAndFalse(java.lang.String, java.lang.String, java.lang.String, org.apache.derby.iapi.sql.Activation, int).