Daniel Caune wrote: > Is there any suggestion against using OUT parameter for local > calculation such as using a local variable? > > CREATE OR REPLACE FUNCTION foo(a IN int, > b1 OUT int, > b2 OUT int) > AS $$ > BEGIN > FOR (...) LOOP > b1 = (...); > b2 = (...); > END LOOP; > END; > $$ LANGUAGE PLPGSQL;
I'd say there's no problem with this, PROVIDED you can ensure you'll never abort before completing the computation. It's not a good idea to modify out parameters partway; programmers (myself included) have this nasty habit of assuming, rightly or wrongly, that a failed function call won't have destroyed the parameters. If you can't ensure you'll always complete, use locals. -Owen ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster