Tom Lane wrote:
> Neil Conway <neilc@samurai.com> writes:
>
>> This works, but it seems overly verbose. It occurred to me that we could
>> easily add a new PL/PgSQL statement that evaluates a set-returning
>> expression and adds *all* the resulting rows to the function's result
>> set. For example:
>>
>
> I think we've got something isomorphic to that in the patch queue
> already --- take a look at Pavel's "table function" patch. It's in
> need of cleanup but I think it will make it in.
>
>
>
Interesting - I haven't followed that one. In pl/perl the equivalent
will use one tuplestore on the way in and another on the way out, with
return_next() copying between the two. If we had some mechanism like
this there is thus a potential for substantial savings, as well as
improved clarity.
cheers
andrew