Thread: RAISE function misuse ?
Hi, I obtain the following output: idns_target=# select test(); INFO: hello ! CONTEXT: SQL statement "SELECT hello()" PL/pgSQL function "test" line 2 at perform Using the two following functions: CREATE OR REPLACE FUNCTION hello() RETURNS void AS $$ BEGIN RAISE INFO 'hello !'; RETURN; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION test() RETURNS void AS $$ BEGIN PERFORM hello(); RETURN; END; $$ LANGUAGE plpgsql; I would like to know: 1. Is there anything wrong using RAISE this way. 2. Is there a way to get rid of the output: CONTEXT: SQL statement "SELECT hello()" PL/pgSQL function "test" line 2 at perform I use PostgreSQL/psql 8.1.0 Thanks, Patrick
On Mon, Apr 03, 2006 at 05:44:18PM +0200, Patrick Refondini wrote: > idns_target=# select test(); > INFO: hello ! > CONTEXT: SQL statement "SELECT hello()" > PL/pgSQL function "test" line 2 at perform [...] > 1. Is there anything wrong using RAISE this way. Not in the sense of the code doing something it shouldn't. > 2. Is there a way to get rid of the output: > CONTEXT: SQL statement "SELECT hello()" > PL/pgSQL function "test" line 2 at perform test=> \set VERBOSITY terse test=> select test(); INFO: hello ! test ------ (1 row) -- Michael Fuhr
Michael Fuhr wrote: > On Mon, Apr 03, 2006 at 05:44:18PM +0200, Patrick Refondini wrote: > >>idns_target=# select test(); >>INFO: hello ! >>CONTEXT: SQL statement "SELECT hello()" >>PL/pgSQL function "test" line 2 at perform > > > [...] > > >>1. Is there anything wrong using RAISE this way. > > > Not in the sense of the code doing something it shouldn't. Is there a better way to output text from within a function ? > > >>2. Is there a way to get rid of the output: >>CONTEXT: SQL statement "SELECT hello()" >>PL/pgSQL function "test" line 2 at perform > > > test=> \set VERBOSITY terse Great ! Exactely what I was looking for. Thanks, Patrick > test=> select test(); > INFO: hello ! > test > ------ > > (1 row) >