No, actually both variants work for me right now at 9.5.3 on Mac - On Wed, Aug 10, 2016 at 8:31 PM, Adrian Klaver <adrian.kla...@aklaver.com> wrote:
> >> Given what you are doing, RETURN TABLE it will not work there for the > same reason it does not work in 9.5: > > https://www.postgresql.org/docs/9.6/static/plpgsql-control- > structures.html#PLPGSQL-STATEMENTS-RETURNING > > "If you declared the function with output parameters, write just RETURN > NEXT with no expression. On each execution, the current values of the > output parameter variable(s) will be saved for eventual return as a row of > the result. Note that you must declare the function as returning SETOF > record when there are multiple output parameters, or SETOF sometype when > there is just one output parameter of type sometype, in order to create a > set-returning function with output parameters." > Either: CREATE OR REPLACE FUNCTION words_check_words( IN in_uid integer, IN in_gid integer, IN in_tiles jsonb OUT out_word varchar, OUT out_score integer ) RETURNS SETOF RECORD AS $func$ Or: CREATE OR REPLACE FUNCTION words_check_words( IN in_uid integer, IN in_gid integer, IN in_tiles jsonb ) RETURNS TABLE (out_word varchar, out_score integer) AS $func$ And then I assign values to the variables and call RETURN NEXT: out_word := ... ; out_score := ... ; RETURN NEXT; Regards Alex