从UDF返回表(在C中)

时间:2010-07-27 10:37:09

标签: database postgresql user-defined-functions

我正在尝试在C中编写一个UDF,它将值插入表中并返回该表。 更大的图片是:我解析一些文档并设置一个“解析表”(本质上这是解析文档的解析树的关系表示)。在将解析信息插入解析表之后,我需要UDF返回这个“解析表”,因为它需要作为其他操作符的输入。

如果我使用SPI(SPI_execute),我可以插入数据,但无法通过后续查询读取它(例如,来自parseTable的SELECT *;),因为后续查询的结果取决于之前的查询(至少我这样理解手册。)

我非常感谢任何帮助。我有点被困在这里。

非常感谢,

地氏

1 个答案:

答案 0 :(得分:0)

有一些样本

  1. postgresqlsrc /了contrib / tablefunc / tablefunc.c
  2. http://www.pgsql.cz/index.php/Project_of_UDF_and_its_realization_at_C_for_PostgreSQL#Table_functions
  3. 查看PostgreSQL的源代码src / backend / utils / misc / guc.c / show_all_settings(),src / backend / utils / adt / misc.c / pg_get_keywords()