From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Strict Set Returning Functions |
Date: | 2011-06-15 19:29:57 |
Message-ID: | BANLkTikY=b1VdpgHRtFhctv9zkKaiDJqXg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Jun 15, 2011 at 8:05 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
>> STRICT functions return NULL if any of their inputs are NULL according
>> to the manual, so that they need not be executed at all.
>
>> Unless it is a Set Returning Function, in which case a NULL input is
>> not reduced nor does it to appear to be handled as a special case in
>> the executor function scan code.
>
>> So a function that is both STRICT and SET RETURNING will return rows.
>
> Really? The case behaves as expected for me.
Seems that's the wrong question. Let me return to why I raised this:
Why does evaluate_function() specifically avoid returning NULL for a
set returning function?
It could easily do the NULL test first, so it was applied to all
function types. That seems strange.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2011-06-15 19:59:25 | Re: pg_upgrade using appname to lock out other users |
Previous Message | Alvaro Herrera | 2011-06-15 19:21:09 | Re: creating CHECK constraints as NOT VALID |