Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL
Дата
Msg-id 18527.1469232321@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Список pgsql-bugs
I wrote:
> Good question.  The existing behavior seems to be traceable as far back as
> 68d9fbeb5511d846ce3a6f66b8955d3ca55a4b76, which implemented the specific
> syntax ROW( ... ) IS [NOT] NULL by dint of breaking the ROW construct into
> its field expressions and applying scalar NullTest to each one.

BTW, thinking about that a bit more, I'm pretty sure that back then we did
not have any robust notion of composite-type datums at all, and thus that
there simply would not have been any other way to implement this syntax.
It would not have worked to treat ROW(...) as a construct that delivered
a single Datum to a standard NullTest expression node.  So it was pretty
convenient for Lockhart that the spec was written the way it was.

Also note the observation in the 2006 thread that the N-scalar-NullTests
implementation didn't get the semantics quite right anyway, which makes it
even less likely that anybody was depending on the spec semantics between
2002 and 2006.

But that still leaves us with ten years of history in which we *were*
conforming to the spec, modulo the very narrow corner case mentioned
in this thread.

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL
Следующее
От: Andrew Gierth
Дата:
Сообщение: Re: BUG #14235: inconsistencies with IS NULL / IS NOT NULL