Only predicates marked with the flag 'isSimple' are eligible to be applied as byFunction. The Planner marks predicates that meet the following criteria as simple.
- The predicate is of the form 'col op val' or 'col IS/IS NOT NULL', where col is a simple column reference and not an expression.
- 'op' is one of the comparison operators '=','<','<=','>','>='.'!=','<>' and value is a simple constant.
The Planner may add other kinds of predicates as simple predicates in the future, so the SQL-MapReduce function should rely on the 'isSimple' flag rather than 'op' and 'value' to determine whether a predicate is a simple predicate. If the function classifies a predicate as byFunction, it needs to apply that predicate at execution time by calling the 'evaluate' method on that predicate for each row being output.