Re: Recursive calls to functions that return sets - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Recursive calls to functions that return sets
Date
Msg-id 44218645.2080602@dunslane.net
Whole thread Raw
In response to Re: Recursive calls to functions that return sets  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Recursive calls to functions that return sets  (Thomas Hallgren <thomas@tada.se>)
List pgsql-hackers
Tom Lane wrote:

>
>plpgsql and similar languages will return a tuplestore anyway, so it has
>to handle that case, and it was convenient to make all the cases look
>alike for starters.  Nobody's yet gone back to improve it for the case
>of languages that return a tuple per call.
>
>  
>



This would be hard to do in the plperl case, at least, and I would be 
surprised if it weren't in most others too. So what plperl does is to 
fetch the whole set on the first call and then fudges all the other 
calls to get the next element from the result set. We save out the 
intermediate tuple store on each call and restore it afterwards, so I 
think recursion shouldn't be a difficulty.

cheers

andrew


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Recursive calls to functions that return sets
Next
From: "Adrian Maier"
Date:
Subject: Re: How to put back??