A merge conflict has arisen, so for simplicity, here is an updated patch.
On 12/20/17 10:08, Peter Eisentraut wrote:
> Updated patch attached.
>
> I have addressed the most recent review comments I believe.
>
> The question about what happens to cursor loops in PL/Perl and PL/Python
> would be addressed by the separate thread "portal pinning". The test
> cases in this patch are currently marked by FIXMEs.
>
> I have changed the SPI API a bit. I got rid of SPI_set_nonatomic() and
> instead introduced SPI_connect_ext() that you can pass flags to. The
> advantage of that is that in the normal case we can continue to use the
> existing memory contexts, so nothing changes for existing uses, which
> seems desirable. (This also appears to address some sporadic test
> failures in PL/Perl.)
>
> I have also cleaned up the changes in portalmem.c further, so the
> changes are now even smaller.
>
> The commit message in this patch contains more details about some of
> these changes.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services