(
expr_builder: &mut PruningExpressionBuilder,
)
| 1764 | } |
| 1765 | |
| 1766 | fn build_is_distinct_from( |
| 1767 | expr_builder: &mut PruningExpressionBuilder, |
| 1768 | ) -> Result<Arc<dyn PhysicalExpr>> { |
| 1769 | let scalar_expr = Arc::clone(expr_builder.scalar_expr()); |
| 1770 | |
| 1771 | Ok(or_expr( |
| 1772 | and_expr( |
| 1773 | Arc::new(phys_expr::IsNullExpr::new(Arc::clone(&scalar_expr))), |
| 1774 | column_has_non_nulls_expr(expr_builder)?, |
| 1775 | ), |
| 1776 | and_expr( |
| 1777 | Arc::new(phys_expr::IsNotNullExpr::new(scalar_expr)), |
| 1778 | or_expr( |
| 1779 | column_has_nulls_expr(expr_builder)?, |
| 1780 | build_ne_statistics_expr(expr_builder)?, |
| 1781 | ), |
| 1782 | ), |
| 1783 | )) |
| 1784 | } |
| 1785 | |
| 1786 | fn build_is_not_distinct_from( |
| 1787 | expr_builder: &mut PruningExpressionBuilder, |
no test coverage detected
searching dependent graphs…