Sam Mason wrote:
> I've just realized another case where it's not consistent; why does the
> following return true:
>
> SELECT row(null) IS NULL;
>
> and yet the following false:
>
> SELECT row(row(null)) IS NULL;
You're intentionally assuming that row(null) IS NULL evaluating to true
implies that row(null) can be replaced by NULL. As discussed upthread, this
is not the case.
> I think I'm saying that PG should be deliberately breaking specified
> behavior and go back to pre-8.2 behavior in this regard.
But let's run your example with 8.1:
# SELECT row(null) IS NULL;
?column?
----------
t
# SELECT row(row(null)) IS NULL;
?column?
----------
f
These are the same results that you say are inconsistant, so pre-8.2 behavior
doesn't help here...
Best regards,
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org