Class InferNonNullAggConstraint


The vast majority of aggs ignore null entries - this rule adds a pushable filter, as it is cheap to execute, to filter these entries out to begin with. STATS x = min(a), y = sum(b) becomes | WHERE a IS NOT NULL OR b IS NOT NULL | STATS x = min(a), y = sum(b)
Unfortunately this optimization cannot be applied when grouping is necessary since it can filter out groups containing only null values