| От | Chana Slutzkin |
|---|---|
| Тема | BUG #2426: perl function that returns setof composite type |
| Дата | |
| Msg-id | 200605090752.k497q59H038494@wwwmaster.postgresql.org обсуждение |
| Список | pgsql-bugs |
The following bug has been logged online:
Bug reference: 2426
Logged by: Chana Slutzkin
Email address: chana@cs.huji.ac.il
PostgreSQL version: 8.1.3
Operating system: FreeBSD 6.1
Description: perl function that returns setof composite type
Details:
The code below works fine on version 8.0.3.
However, on version 8.1.3, the last query returns
the following error:
set-valued function called in context that cannot accept a set
Hence there does not seem to be an way to use
a perl function that returns 'setof composite'
on non-constant input.
------------------------------------------------------
DROP TABLE num CASCADE;
CREATE TABLE num (n int);
COPY num FROM stdin;
1
2
3
\.
CREATE OR REPLACE FUNCTION sqlget(num) RETURNS SETOF num AS $$
SELECT $1.n
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION perlget(num) RETURNS SETOF num AS $$
return [{n=>$_[0]->{n}}];
$$ LANGUAGE plperl;
SELECT (sqlget(num.*)).* FROM num;
SELECT (perlget(num.*)).* FROM num;
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера