Joshua D. Drake wrote: > Peter Fein wrote: > >> 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 am not an everyday python programmer but I am pretty sure that you are > trying to return a list in arf(). You can't return a list you have to > return the array type which is why arf2 works. Ok. How does one convert a python list to a PGSql array then? Is there a better way to do it than what I did in arf2? > The reasons srf works is because you are just returning text in general > regardless that it is formatting to a list. How does one return a set then? I want as my output: SELECT * FROM srf(); srf ------------------------- 'one' 'two' 'three' (3 rows) -- Peter Fein pfein@xxxxxxxxx 773-575-0694 Basically, if you're not a utopianist, you're a schmuck. -J. Feldman ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend