Database 从UDF返回表(在C中)

Database 从UDF返回表(在C中),database,postgresql,user-defined-functions,Database,Postgresql,User Defined Functions,我正在尝试用C编写一个UDF,它将值插入一个表并返回这个表。 更大的情况是:我解析一些文档并建立一个“解析表”(本质上这是解析文档的解析树的关系表示)。在将解析信息插入到解析表中之后,我需要UDF返回这个“解析表”,因为它是进一步操作符的输入 如果我使用SPI(SPI_execute),我可以插入数据,但不能通过后续查询(例如,从parseTable中选择*)读取数据,因为后续查询的结果取决于之前的查询(至少我这样理解手册) 我非常感谢你的帮助。我被困在这里了 多谢各位 迪特里希有一些样本 po

我正在尝试用C编写一个UDF,它将值插入一个表并返回这个表。 更大的情况是:我解析一些文档并建立一个“解析表”(本质上这是解析文档的解析树的关系表示)。在将解析信息插入到解析表中之后,我需要UDF返回这个“解析表”,因为它是进一步操作符的输入

如果我使用SPI(SPI_execute),我可以插入数据,但不能通过后续查询(例如,从parseTable中选择*)读取数据,因为后续查询的结果取决于之前的查询(至少我这样理解手册)

我非常感谢你的帮助。我被困在这里了

多谢各位


迪特里希

有一些样本

  • postgresqlsrc/contrib/tablefunc/tablefunc.c
  • 查看PostgreSQL的源代码src/backend/utils/misc/guc.c/show_all_settings()、src/backend/utils/adt/misc.c/pg_get_keywords()