Re: Row IS NULL question

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

In response to

Browse pgsql-hackers by date

  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