Возвращение таблицы из UDF (в C) - PullRequest
0 голосов
/ 27 июля 2010

Я пытаюсь написать UDF на C, который вставляет значения в таблицу и возвращает эту таблицу.Более общая картина: я анализирую некоторый документ и создаю «таблицу разбора» (по сути, это реляционное представление дерева разбора проанализированного документа).После вставки информации о синтаксическом анализе в таблицу синтаксического анализа мне нужна UDF, чтобы вернуть эту «таблицу синтаксического анализа», поскольку она необходима в качестве ввода для дальнейших операторов.

Если я использую SPI (SPI_execute), я могу вставить данныено не могу прочитать его с помощью последующего запроса (например, SELECT * from parseTable;), так как результат последующего запроса зависит от запроса раньше (по крайней мере, я так понял руководство).

Я оченьочень ценю любую помощь.Я застрял здесь.

Большое спасибо заранее,

Дитрих

1 Ответ

0 голосов
/ 30 июля 2010

есть несколько примеров

  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 ()
...