diff --git a/dask_planner/src/expression.rs b/dask_planner/src/expression.rs index 6af9c719e..e67ca208b 100644 --- a/dask_planner/src/expression.rs +++ b/dask_planner/src/expression.rs @@ -277,6 +277,7 @@ impl PyExpr { PyExpr::from(*low.clone(), self.input_plan.clone()), PyExpr::from(*high.clone(), self.input_plan.clone()), ]), + Expr::IsNotNull(expr) => Ok(vec![PyExpr::from(*expr.clone(), self.input_plan.clone())]), _ => Err(PyErr::new::(format!( "unknown Expr type {:?} encountered", &self.expr @@ -296,6 +297,7 @@ impl PyExpr { Expr::Cast { .. } => Ok("cast".to_string()), Expr::Between { .. } => Ok("between".to_string()), Expr::Case { .. } => Ok("case".to_string()), + Expr::IsNotNull(..) => Ok("is not null".to_string()), _ => Err(PyErr::new::(format!( "Catch all triggered for get_operator_name: {:?}", &self.expr diff --git a/tests/integration/test_join.py b/tests/integration/test_join.py index 8831cc03d..f35bffb31 100644 --- a/tests/integration/test_join.py +++ b/tests/integration/test_join.py @@ -203,9 +203,6 @@ def test_join_literal(c): assert_eq(return_df, expected_df, check_dtype=False, check_index=False) -@pytest.mark.skip( - reason="WIP DataFusion - https://github.com/dask-contrib/dask-sql/issues/530" -) def test_conditional_join(c): df1 = pd.DataFrame({"a": [1, 2, 2, 5, 6], "b": ["w", "x", "y", None, "z"]}) df2 = pd.DataFrame({"c": [None, 3, 2, 5], "d": ["h", "i", "j", "k"]}) @@ -230,9 +227,6 @@ def test_conditional_join(c): assert_eq(actual_df, expected_df, check_index=False, check_dtype=False) -@pytest.mark.skip( - reason="WIP DataFusion - https://github.com/dask-contrib/dask-sql/issues/530" -) def test_join_on_unary_cond_only(c): df1 = pd.DataFrame({"a": [1, 2, 2, 5, 6], "b": ["w", "x", "y", None, "z"]}) df2 = pd.DataFrame({"c": [None, 3, 2, 5], "d": ["h", "i", "j", "k"]})