On Sun, Feb 14, 2021 at 7:56 PM Michael Paquier <mich...@paquier.xyz> wrote:
> On Sun, Feb 14, 2021 at 09:29:08AM +0800, Andy Fan wrote: > > Thank you tom for the reply. What would be the difference between the > > SPI and "write a pure SQL UDF" and call it with DirectFunctionCall1? I > > just ran into a similar situation some days before. Currently I think > > DirectFunctionCall1 doesn't need to maintain a connection but SPI has to > > do that. > > Hard to say without knowing your use case. A PL function is more > simple to maintain than a C function, though usually less performant > from the pure point of view of its operations. A SQL function could > finish by being inlined, allowing the planner to apply optimizations > as it would know the function body. Going with SPI has the advantage > to have code able to work without any changes across major versions, > which is a no-brainer when it comes to long-term maintenance. > -- > Michael > Thank you Michael for the response. -- Best Regards Andy Fan (https://www.aliyun.com/)