-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
To my knowledge, there isn't explicit documentation on how null slots in an array should be interpreted. SQL uses Kleene logic, wherein a null is explicitly an unknown rather than a special value. This yields for example (null AND false) -> false, since (x AND false) -> false for all possible values of x. This is also the behavior of Gandiva's boolean expressions.
By contrast the boolean kernels implement something closer to the behavior of NaN: (null AND false) -> null. I think this is simply an error in the boolean kernels but in any case I think explicit documentation should be added to prevent future confusion.
Reporter: Ben Kietzman / @bkietz
Assignee: Ben Kietzman / @bkietz
Related issues:
- [C++] Add ResolveNullOptions to Logical kernels (is fixed by)
PRs and other links:
Note: This issue was originally created as ARROW-6386. Please see the migration documentation for further details.