RAISE function misuse ?

Started by Patrick Refondiniabout 20 years ago3 messagesgeneral
Jump to latest
#1Patrick Refondini
patrick.refondini@pobox.com

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

#2Michael Fuhr
mike@fuhr.org
In reply to: Patrick Refondini (#1)
Re: RAISE function misuse ?

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

#3Patrick Refondini
patrick.refondini@pobox.com
In reply to: Michael Fuhr (#2)
Re: RAISE function misuse ?

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

Show quoted text

test=> select test();
INFO: hello !
test
------

(1 row)