I've replied on the JIRA case,
https://issues.apache.org/jira/browse/CALCITE-1531. Can we move
discussion there?

Julian


On Tue, Dec 6, 2016 at 10:43 AM, Serhii Harnyk <[email protected]> wrote:
> Julian,
>
> I found some notes from SQL Standard  - ISO/IEC 9075:2011 4.5.1:
>
> "This specification does not make a distinction between the null value of
> the boolean data type and the truth value Unknown that is the result of an
> SQL <predicate>, <search condition>, or <boolean value expression>; they
> may be used interchangeably to mean exactly the same thing."
>
> When Postgres executes this query:
> SELECT (CASE WHEN true or not null then 1 else 0 end) from (VALUES(1)) foo;
> it returns correct result.
>
> So do I use old specification?  And what SQL standard are you mentioned?
>
> Kind regards,
> Serhii Harnyk
>
> 2016-12-06 17:39 GMT+00:00 Julian Hyde <[email protected]>:
>
>> We (and the SQL standard) don't allow raw NULLs. I'm not convinced
>> that BOOLEAN should be treated differently from other types. The only
>> difference between BOOLEAN and other types is that BOOLEAN allows
>> UNKNOWN as a synonym for NULL; none of your examples use UNKNOWN.
>>
>> On Tue, Dec 6, 2016 at 8:18 AM, Serhii Harnyk <[email protected]>
>> wrote:
>> > Hello,
>> >
>> > I have created pull request to CALCITE-1531
>> > <https://issues.apache.org/jira/browse/CALCITE-1531>:
>> > https://github.com/apache/calcite/pull/335.
>> > NULL in boolean operators in Calcite corresponds to Boolean type UNKNOWN,
>> > so when NULL is used in this operators, we shouldn't throw exception and
>> > continue query execution.
>> >
>> > Could anyone please review it?
>> >
>> > Kind regards,
>> > Serhii Harnyk
>>

Reply via email to