I'm going to rewrite it to use your tuplestore suggestion.
OK, so SPI is only suitable for single-call functions, right? If another function in the query attempted to use SPI, I assume there would be a deadlock?
Ian Campbell <ianrc72@gmail.com> writes: > Thanks for personally replying, Tom. I appreciate it. > You are correct. In the interim, I found the following change solved the > issue:
> SPI_finish(); // move to here > SRF_RETURN_DONE(funcctx);
That might work under light usage, but the problem with it is you're blocking any other function in the same query from using SPI, since you're leaving your own connection active when returning. Sooner or later that's gonna be a problem.