Description
We should add an optimizer rule that attempts to eliminate reading (unnecessary) NULL values if they are not required for correctness by inserting isNotNull filters is the query plan. These filters should be inserted beneath existing Filters and Join operators and are inferred based on their data constraints.
For example, if we have filter on a = 10, we know that null values will not pass this predicate. So, we can add a IsNotNull below it.