Tom Lane writes:

"Dennis" <[EMAIL PROTECTED]> writes:
I am trying to return an array from a function and don't seem to be having
luck.

Seems to work for me ... what PG version are you using?

pg 7.4.1


I should have listed the source for the function. Here is a simplified parseString function and the foo that calls it.

dennis=# create or replace function parseString (varchar, varchar)
dennis-#         RETURNS varchar[] AS '
dennis'#         DECLARE
dennis'#                 pParsed         varchar[];
dennis'#                 pString         ALIAS FOR $1;
dennis'#                 pSeparator      ALIAS FOR $2;
dennis'#         begin
dennis'#
dennis'#                 -- example simplified
dennis'#                 pParsed[1] = ''blah'';
dennis'#                 pParsed[2] = ''hrmmph'';
dennis'#
dennis'#                 return pParsed;
dennis'# END;
dennis'# ' language plpgsql;
CREATE FUNCTION
dennis=#
dennis=# create or replace function foo() returns varchar as '
dennis'#  declare
dennis'#    results varchar[];
dennis'#    tmpv varchar;
dennis'#  begin
dennis'#    results := parseString(''asdf'',''asdf'');
dennis'#    tmpv := results[1];
dennis'#    RAISE NOTICE '' tmpv = % '',tmpv;
dennis'#    return tmpv;
dennis'#  end' language plpgsql;
CREATE FUNCTION
dennis=# select foo();
NOTICE:   tmpv = <NULL>
foo
-----

(1 row)


Dennis
[EMAIL PROTECTED]




---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to