我需要用C为PostgreSQL写一个扩展函数:
1.有一个double类型的3列表作为参数
1.结果是一个double类型的3列表
注意,理想情况下,模式应该是物化模式,因为函数将通过转换整个输入表上的数据来生成新表。
我确实找到了与将结果作为集合(多行)相关的信息。但是函数的测试并没有得到列的值--我只是得到了一个带有(val,val,val)的记录。
有没有人能告诉我一些信息,或者最好是一个简单的例子函数,有这个基本的类型?
谢谢大家!
我试图在PostgreSQL文档中找到信息,但并不清楚,特别是当谈到表作为输入参数和在物化模式下返回时。
1条答案
按热度按时间muk1a3rh1#
根据LaurenzAlbe的建议,我创建了如下内容。
请注意,我并没有确切地找到如何接收一个表作为函数的输入。这里的想法是将其 Package 到SQL函数中,以便它将创建一个临时表,填充这个临时表,然后将这个临时表的名称传递给C函数。
对于我的应用来说,这就足够了。但如果其他人愿意帮忙的话,我很乐意讨论这一点并加以改进。
谢啦
然后,要将link此扩展添加到postgresql中,请使用以下代码:
要调用函数:
这将返回所有值都递增的表。