Folks, Two corrections:
The second example was the wrong code, it should have been this function: create function return_test_2 ( vuser INT, vsession INT ) returns return_value as $fnc$ begin return row( -1, 'bad' ); end; $fnc$ language plpgsql; Also, this issue is documented, but I believe that it still needs fixing, as current behavior is cumbersome and unintuitive: "When returning a scalar type, any expression can be used. The expression's result will be automatically cast into the function's return type as described for assignments. To return a composite (row) value, you must write a record or row variable as the expression." -- --Josh Josh Berkus Aglio Database Solutions San Francisco ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster