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
