Return SETOF or array from pl/python

Поиск
Список
Период
Сортировка
От Peter Fein
Тема Return SETOF or array from pl/python
Дата
Msg-id 42D7E147.6060305@pobox.com
обсуждение исходный текст
Ответы Re: Return SETOF or array from pl/python  ("Joshua D. Drake" <jd@commandprompt.com>)
Список pgsql-general
Is it possible to return a SETOF text or a text[] from pl/python?

I've got the following test cases:

CREATE OR REPLACE FUNCTION arf()
RETURNS text[] LANGUAGE plpythonu AS
$$return ["one", "two", "three"]$$;

SELECT arf();

ERROR:  missing dimension value

CREATE OR REPLACE FUNCTION arf2()
RETURNS text[] LANGUAGE plpythonu AS
$$return '{"one", "two", "three"}'$$;

SELECT arf2();

       arf2
-----------------
 {one,two,three}
(1 row)

CREATE OR REPLACE FUNCTION srf()
RETURNS SETOF text LANGUAGE plpythonu AS
$$return ["one", "two", "three"]$$;

SELECT * FROM srf();

            srf
-------------------------
 ['one', 'two', 'three']
(1 row)

SELECT srf();
Never returns.

I can obviously use something like arf2 (manually stringifying w/i
python) but this seems ugly.  I'd really prefer to return a set, rather
than an array.

--
Peter Fein                 pfein@pobox.com                 773-575-0694

Basically, if you're not a utopianist, you're a schmuck. -J. Feldman

В списке pgsql-general по дате отправления:

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: How to create unique constraint on NULL columns
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: CVS - psql segfault