From: | Gevik Babakhani <pgdev(at)xs4all(dot)nl> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Teodor Sigaev <teodor(at)sigaev(dot)ru>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Row IS NULL question |
Date: | 2006-09-28 18:49:59 |
Message-ID: | 1159469399.17359.2.camel@voyager.truesoftware.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thank you for the explanation.
On Thu, 2006-09-28 at 12:06 -0400, Tom Lane wrote:
> Gevik Babakhani <pgdev(at)xs4all(dot)nl> writes:
> > Does this have anything to do with ExecEvalWholeRowVar?
>
> Yeah, the construct
>
> >> Seq Scan on int8_tbl x (cost=0.00..1.05 rows=1 width=16)
> >> Filter: (x.* IS NULL)
>
> is really ExecEvalNullTest applied to the result of ExecEvalWholeRowVar.
>
> If we simply push makeRowNullTest() to later in the parser, this case
> will work as expected, but there is still the issue of IS [NOT] NULL
> applied to rowtype values that are not coming from ROW() constructs,
> such as the result of a rowtype-returning function. Likewise, null
> tests on arrays really would have to be handled in the executor to
> work per spec --- we can hardly break them down into scalar isnull
> tests at parse time, which is what makeRowNullTest() is trying to do.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
--
Regards,
Gevik Babakhani
http://www.postgresql.nl
http://www.truesoftware.nl
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2006-09-28 18:53:15 | Re: New version of money type |
Previous Message | Henry B. Hotz | 2006-09-28 18:48:29 | Paging Phil Dodderidge |