Subject Odp: [firebird-support] Bug? Come back
Author liviuslivius@poczta.onet.pl
Hi,

I back with this question. Is this really correct because after discussion with team i have now doubt.

We have here parenthesis. Any expression in parenthesis should be first calculated
Then this is not test
NOT NULL - > NULL only
Not ( NULL -> NULL)

Regards,
Karol Bieniaszewski

----- Reply message -----
Od: "Ivan Přenosil" <Ivan.Prenosil@...>
Do: <firebird-support@yahoogroups.com>
Temat: [firebird-support] Bug?
Data: pon., maj 5, 2014 13:44


 

> this query return 0
>
> SELECT count(*) FROM RDB$DATABASE WHERE ((CAST(NULL AS INTEGER) IS NULL AND CAST(123 AS INTEGER) IS NULL) OR
> (CAST(NULL AS INTEGER)=1))
>
> when i add "NOT" this query return also 0
>
> SELECT count(*) FROM RDB$DATABASE WHERE NOT ((CAST(NULL AS INTEGER) IS NULL AND CAST(123 AS INTEGER) IS NULL) OR
> (CAST(NULL AS INTEGER)=1))
>
>
> is this a bug?

No. Where clause of the first select is
True and False or Null -> Null
So the second select is
Not Null -> Null

Ivan