IIUC it's not about sanitizing to false.  Ben explained it in more
detail in private to me, perhaps he want to copy that explanation here ;-)

Regards

Antoine.


Le 29/08/2019 à 19:05, Wes McKinney a écrit :
> hi Ben,
> 
> My instinct is that always propagating null (at least by default) is
> the safest choice. Applications can choose to sanitize null to false
> if that's what they want semantically.
> 
> - Wes
> 
> On Thu, Aug 29, 2019 at 8:37 AM Ben Kietzman <[email protected]> wrote:
>>
>> 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.
>>
>> https://issues.apache.org/jira/browse/ARROW-6386

Reply via email to