Re: strange IS NULL behaviour - Mailing list pgsql-hackers

From Tom Lane
Subject Re: strange IS NULL behaviour
Date
Msg-id 28090.1372969760@sss.pgh.pa.us
Whole thread Raw
In response to Re: strange IS NULL behaviour  (Bruce Momjian <bruce@momjian.us>)
Responses Re: strange IS NULL behaviour
Re: strange IS NULL behaviour
List pgsql-hackers
Bruce Momjian <bruce@momjian.us> writes:
> I developed the attached patch which properly recurses into ROW()
> records checking for NULLs;  you can see it returns the right answer in
> all cases (and constant folds too):

My recollection of the previous discussion is that we didn't have
consensus on what the "right" behavior is, so I'm not sure you can just
assert that this patch is right.  In any case this is only touching the
tip of the iceberg.  If we intend that rows of nulls should be null,
then we have got issues with, for example, NOT NULL column constraint
checks, which don't have any such recursion built into them.  I think
the same is true for plpgsql variable NOT NULL restrictions, and there
are probably some other places.

> The optimizer seems like the right place to fix this, per my patch.

No, it isn't, or at least it's far from the only place.  If we're going
to change this, we would also want to change the behavior of tests on
RECORD values, which is something that would have to happen at runtime.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: [PATCH] big test separation POC
Next
From: Alvaro Herrera
Date:
Subject: Re: strange IS NULL behaviour