Re: [SQL] CONTEXT on PL/pgSQL

2004-05-07 Thread Gaetano Mendola
Martin Marques wrote:

> El Vie 23 Abr 2004 11:18, Tom Lane escribió:
>
>>Martin Marques <[EMAIL PROTECTED]> writes:
>>
>>>I have a simple function made with PL/pgSQL and when I call it I get this
>>>in the logs:
>>>
>>>2004-04-23 10:15:32 [30669] LOG:  statement: SELECT nodoSuperior(22) AS
>>>sup 2004-04-23 10:15:32 [30669] LOG:  statement: SELECT  $1
>>>CONTEXT:  PL/pgSQL function "nodosuperior" line 7 at assignment
>>
>>log_statement currently logs everything the parser sees, which includes
>>SQL commands generated by plpgsql.
>>
>>Arguably these facilities should be separated, but until someone
>>makes a serious effort to provide plpgsql debugging features,
>>it's likely that nothing will be done about it.  Right now this is
>>almost the only technique available for seeing what's going on inside
>>a plpgsql function, and crummy as it is, it's better than nothing...
>
>
> So the CONTEXT line just tells where the statement was made?
U'r right, you can get rid of that CONTEXT configuring postgresql
with
   log_error_verbosity = terse





Regards
Gaetano Mendola


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: [SQL] CONTEXT on PL/pgSQL

2004-04-23 Thread Martin Marques
El Vie 23 Abr 2004 11:18, Tom Lane escribió:
> Martin Marques <[EMAIL PROTECTED]> writes:
> > I have a simple function made with PL/pgSQL and when I call it I get this
> > in the logs:
> >
> > 2004-04-23 10:15:32 [30669] LOG:  statement: SELECT nodoSuperior(22) AS
> > sup 2004-04-23 10:15:32 [30669] LOG:  statement: SELECT  $1
> > CONTEXT:  PL/pgSQL function "nodosuperior" line 7 at assignment
>
> log_statement currently logs everything the parser sees, which includes
> SQL commands generated by plpgsql.
>
> Arguably these facilities should be separated, but until someone
> makes a serious effort to provide plpgsql debugging features,
> it's likely that nothing will be done about it.  Right now this is
> almost the only technique available for seeing what's going on inside
> a plpgsql function, and crummy as it is, it's better than nothing...

So the CONTEXT line just tells where the statement was made?

-- 
 12:06:01 up 45 days, 16:30,  2 users,  load average: 0.50, 0.46, 0.45
-
Martín Marqués| select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica  |  DBA, Programador, Administrador
 Universidad Nacional
  del Litoral
-


---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


Re: [SQL] CONTEXT on PL/pgSQL

2004-04-23 Thread Tom Lane
Martin Marques <[EMAIL PROTECTED]> writes:
> I have a simple function made with PL/pgSQL and when I call it I get this in 
> the logs:

> 2004-04-23 10:15:32 [30669] LOG:  statement: SELECT nodoSuperior(22) AS sup
> 2004-04-23 10:15:32 [30669] LOG:  statement: SELECT  $1
> CONTEXT:  PL/pgSQL function "nodosuperior" line 7 at assignment

log_statement currently logs everything the parser sees, which includes
SQL commands generated by plpgsql.

Arguably these facilities should be separated, but until someone
makes a serious effort to provide plpgsql debugging features,
it's likely that nothing will be done about it.  Right now this is
almost the only technique available for seeing what's going on inside
a plpgsql function, and crummy as it is, it's better than nothing...

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


[SQL] CONTEXT on PL/pgSQL

2004-04-23 Thread Martin Marques
I have a simple function made with PL/pgSQL and when I call it I get this in 
the logs:

2004-04-23 10:15:32 [30669] LOG:  statement: SELECT nodoSuperior(22) AS sup
2004-04-23 10:15:32 [30669] LOG:  statement: SELECT  $1
CONTEXT:  PL/pgSQL function "nodosuperior" line 7 at assignment
2004-04-23 10:15:32 [30669] LOG:  statement: SELECT  codigo,padre,nombre FROM 
procesos WHERE codigo= $1
CONTEXT:  PL/pgSQL function "nodosuperior" line 10 at select into variables
2004-04-23 10:15:32 [30669] LOG:  statement: SELECT   $1  IS NULL
CONTEXT:  PL/pgSQL function "nodosuperior" line 12 at exit
2004-04-23 10:15:32 [30669] LOG:  statement: SELECT   $1
CONTEXT:  PL/pgSQL function "nodosuperior" line 16 at return

What does CONTEXT mean, and is everything ok?

The function is this:

CREATE OR REPLACE FUNCTION nodoSuperior(INT) RETURNS VARCHAR AS '
DECLARE
COD INT;
SUP RECORD;

BEGIN

COD:=$1;

LOOP
SELECT INTO SUP codigo,padre,nombre 
FROM procesos WHERE codigo=COD;
EXIT WHEN SUP.padre IS NULL;
COD:=SUP.padre;
END LOOP;

RETURN SUP.nombre;
END;
' LANGUAGE 'plpgsql';

-- 
 10:16:01 up 45 days, 14:40,  3 users,  load average: 0.54, 0.61, 0.63
-
Martín Marqués| select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica  |  DBA, Programador, Administrador
 Universidad Nacional
  del Litoral
-


---(end of broadcast)---
TIP 8: explain analyze is your friend