This comes from a commit in Drill's forked Calcite (https://github.com/dremio/calcite/commit/a29f007f4f4017368b6f41bf8c3aba4490a1cee8).
ReduceExpressionRule will transform a false filter into VALUES with empty input. This only works in the case of schema-aware scenario. In schema-on-read scenario like Drill, VALUES would not provide the schema type at the planning time; schema has to be propagate during execution time.
We should allow ReduceExpressionRule extensible so that different behavior would be allowed to handle false filter in both schema-aware case and schema-on-read case.