Benjamin Kietzman created ARROW-6386:
----------------------------------------

             Summary: [C++][Documentation] Explicit documentation of null slot 
interpretation
                 Key: ARROW-6386
                 URL: https://issues.apache.org/jira/browse/ARROW-6386
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++, Documentation
            Reporter: Benjamin Kietzman
            Assignee: Benjamin Kietzman


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.





--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to