------=_Part_16630_22639601.1207659704863
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On Tue, Apr 8, 2008 at 3:29 AM, Julius Tuskenis <julius@[EMAIL PROTECTED]
> wrote:
> Hello.
>
> What do you mean saying CONTEXT messages? Could you give an example what
> you get and what you want to get from your functions?
>
>
>
Sure. I have made a simple example to show this with 2 functions: f_outer
which loops through a recordset and calls f_inner for each record.
Context messages appear immediately after the f_inner function logs.
The output I'm getting when executing f_outer is:
NOTICE: f_outer: 3
NOTICE: f_inner: 3 = [HEVIA]
CONTEXT: SQL statement "SELECT f_inner( $1 )"
PL/pgSQL function "f_outer" line 9 at perform
NOTICE: f_outer: 6
NOTICE: f_inner: 6 = [GUIDARA]
CONTEXT: SQL statement "SELECT f_inner( $1 )"
PL/pgSQL function "f_outer" line 9 at perform
NOTICE: f_outer: 7
NOTICE: f_inner: 7 = [MASTROIANI]
CONTEXT: SQL statement "SELECT f_inner( $1 )"
PL/pgSQL function "f_outer" line 9 at perform f_outer
I want to get rid of the CONTEXT messages:
CONTEXT: SQL statement "SELECT f_inner( $1 )"
PL/pgSQL function "f_outer" line 9 at perform f_outer
--- Function declaration follows in case it helps ---
CREATE OR REPLACE FUNCTION f_inner(p_client numeric(10)) RETURNS void AS
$BODY$
DECLARE
r_clients clientes%ROWTYPE;
BEGIN
SELECT * INTO r_clients FROM clientes WHERE id_cliente = p_client;
RAISE NOTICE 'f_inner: % = [%]', p_client, r_clients.apellido;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE OR REPLACE FUNCTION f_outer() RETURNS void AS
$BODY$
DECLARE
r_clients clientes%ROWTYPE;
BEGIN
FOR r_clients IN SELECT * FROM CLIENTES
LOOP
RAISE NOTICE 'f_outer: %', r_clients.id_cliente;
PERFORM f_inner(r_clients.id_cliente);
END LOOP;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Regards,
Fernando.
------=_Part_16630_22639601.1207659704863
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
<br><div class="gmail_quote">On Tue, Apr 8, 2008 at 3:29 AM, Julius
Tuskenis <<a href="mailto:julius@[EMAIL PROTECTED]
">julius@[EMAIL PROTECTED]
>>
wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello.<br>
<br>
What do you mean saying CONTEXT messages? Could you give an example what
you get and what you want to get from your functions?<br>
<br>
<br></blockquote></div><br>Sure. I have made a simple example to show this
with 2 functions: f_outer which loops through a recordset and calls f_inner
for each record.<br> <br>Context messages appear immediately after the
f_inner function logs.<br>
The output I'm getting when executing f_outer
is:<br> <br>NOTICE: f_outer: 3<br>NOTICE: f_inner: 3 =
[HEVIA]<br>CONTEXT: SQL statement "SELECT f_inner( $1
)"<br>PL/pgSQL function "f_outer" line 9 at perform<br>
NOTICE: f_outer: 6<br>NOTICE: f_inner: 6 =
[GUIDARA]<br>CONTEXT: SQL statement "SELECT f_inner( $1
)"<br>PL/pgSQL function "f_outer" line 9 at
perform<br>NOTICE: f_outer: 7<br>NOTICE: f_inner: 7 =
[MASTROIANI]<br>
CONTEXT: SQL statement "SELECT f_inner( $1
)"<br>PL/pgSQL function "f_outer" line 9 at perform
f_outer<br> <br><br>I want to get rid of the CONTEXT messages:<br>
CONTEXT: SQL statement "SELECT f_inner( $1 )"<br>
PL/pgSQL function "f_outer" line 9 at perform
f_outer<br> <br> <br>--- Function declaration follows in case it
helps --- <br>CREATE OR REPLACE FUNCTION f_inner(p_client numeric(10))
RETURNS void AS $BODY$ <br>
DECLARE<br> r_clients clientes%ROWTYPE;<br>BEGIN<br> SELECT *
INTO r_clients FROM clientes WHERE id_cliente = p_client;<br> RAISE
NOTICE 'f_inner: % = [%]', p_client, r_clients.apellido; <br>END;
<br>$BODY$ <br>
LANGUAGE 'plpgsql' VOLATILE;<br> <br>CREATE OR REPLACE
FUNCTION f_outer() RETURNS void AS <br>$BODY$ <br>DECLARE<br>
r_clients clientes%ROWTYPE;<br>BEGIN<br> FOR r_clients IN SELECT *
FROM CLIENTES<br> LOOP<br>
RAISE NOTICE 'f_outer: %',
r_clients.id_cliente;<br> PERFORM
f_inner(r_clients.id_cliente);<br> END
LOOP;<br>END;<br>$BODY$<br>LANGUAGE 'plpgsql'
VOLATILE;<br><br>Regards,<br>Fernando.<br>
------=_Part_16630_22639601.1207659704863--


|