Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Resolved
-
None
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.
Attachments
Issue Links
- is fixed by
-
ARROW-6396 [C++] Add ResolveNullOptions to Logical kernels
- Resolved
- links to