Re: BUG #18999: Equivalent queries processing WHERE IS NULL & WHERE IS NOT NULL produce mutually exclusive results - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #18999: Equivalent queries processing WHERE IS NULL & WHERE IS NOT NULL produce mutually exclusive results
Date
Msg-id 1923877.1753456847@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #18999: Equivalent queries processing WHERE IS NULL & WHERE IS NOT NULL produce mutually exclusive results  ("Jinhui Lai" <jinhui-lai@foxmail.com>)
List pgsql-bugs
"=?utf-8?B?SmluaHVpIExhaQ==?=" <jinhui-lai@foxmail.com> writes:
> Thanks for your reply, I get your detailed explanation. I also agree that is weird. Especially, the the c0's
constraintis NOT NULL. 

Yeah.  We have adopted the policy that the spec's definition of this
applies only to the specific SQL expression constructs "c IS NULL"
and "c IS NOT NULL".  Elsewhere we generally take the position that
nullness is a simple boolean property: there is a value there, or
there isn't.  Whether a row value contains some null columns doesn't
change that: if the container is there then it's not null.

Legalistic reading of the spec text offers some support for this
position, but I don't know whether the committee members actually
think that way or just have failed to clarify the text enough.
In any case, that's our position and we're quite unlikely to change
it, for reasons of backwards compatibility and performance.

            regards, tom lane



pgsql-bugs by date:

Previous
From: "Jinhui Lai"
Date:
Subject: Re: BUG #18999: Equivalent queries processing WHERE IS NULL & WHERE IS NOT NULL produce mutually exclusive results
Next
From: Fujii Masao
Date:
Subject: Re: Unexpected Standby Shutdown on sync_replication_slots change