Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Closes #703.
Rationale for this change
The conversion for
IsNull
had a bug.datafusion-python
users requestedpyarrow
predicate pushdown support for temporal types.What changes are included in this PR?
IsNull
bugThe conversion was incorrectly passing the
column-expression
as an argument to thepyarrow
methodis_null
. This would silently fail and the predicate would be excluded from the plan.The argument should be a scalar for
nan_is_null
. I do not currently have a way for users to pass that in, so please suggest how I might do so.Temporal Scalars
Similar to #731, I used
ScalarValue::to_pyarrow
for the scalar conversion.pyarrow
filters can now accept anything that already has an upstream conversion.Are there any user-facing changes?
A bugfix and expanded functionality.
Additional Context
I tested the predicate pushdown in two separate ways.
explain
plan contains the appropriate string.Both of these seem non-ideal. If you have a suggestion for more efficiently testing this, please share!