> ... c) would be very bad since it
> doesn't give me any chance to release the resources that
> where used in order to produce the rows.
You are supposed to free resources used to produce the rows before srf_return_next();
The actual rows are pfree()'d by pg. (an dso are any other palloc()'d resources, but I'd recommend freeing them anyway,
especiallyif youre going to use the function in an index or transactions, since resources a not freed till the end of
thetransaction)
... JOhn