"Nate Carson" <nate1001@gmail.com> writes:
> Description: Composite Type Handles Null Incorrectly
So far as I can see, this script just shows that is null/is not null
on a composite value behave as specified in the manual:
Note: If the expression is row-valued, then IS NULL is true when the
row expression itself is null or when all the row's fields are null,
while IS NOT NULL is true when the row expression itself is non-null
and all the row's fields are non-null. Because of this behavior, IS
NULL and IS NOT NULL do not always return inverse results for
row-valued expressions, i.e., a row-valued expression that contains
both NULL and non-null values will return false for both tests. This
definition conforms to the SQL standard, and is a change from the
inconsistent behavior exhibited by PostgreSQL versions prior to 8.2.
http://www.postgresql.org/docs/8.4/static/functions-comparison.html
regards, tom lane