SELECT languages = 2 OR null, languages = 2 AND null FROM test_emp
WHERE emp_no BETWEEN 10018 AND 10020 ORDER BY emp_no;
Returns:
null | null
null | null
null | null
instead of:
true | null
null | false
null | null
The issue is spotted in the BinaryLogicProcessor which doesn't override process() so the process() of BinaryProcessor is called which exits if either left or right evaluates to null.