-
Notifications
You must be signed in to change notification settings - Fork 868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider adding is_distinct_from
kernels
#960
Comments
I can try it |
Hi @tustvold would you like me to add and test the code from apache/datafusion#4560 (comment) |
If you could that would be awesome, one detail I omitted there is consistently handling floats using total ordering. I suspect this will involve comparing primitives using ArrowNativeTypeOp instead of PartialEq. I have some half-baked ideas on how to do this, so if you just want to add and test the PartialEq based impl, that would also be fine 😀 |
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Several databases have
is distinct from
andis not distinct from
operators in addition to=
and!=
.We have added this function in DataFusion -- see apache/datafusion#1117 from @Dandandan and apache/datafusion#1163
The
is distinct from
operator differs in how nulls are handledFrom the Postgres manual
https://www.postgresql.org/docs/14/functions-comparison.html
Describe the solution you'd like
We propose bringing the implementations from DataFusion into the arrow-rs crate
This would look like implementing kernels
is_distinct_from
,is_distinct_from_scalar
,is_not_distinct_from
, andis_not_distinct_from_scalar
Ideally starting from the implementatons in apache/datafusion#1117 and apache/datafusion#1163 and modifying them to follow the pattern demonstrated in @Dandandan 's pr for
eq_bool
#844 -- namely doing the comparisons in 64-bit chunks when possible.Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: