[Pgsql-ayuda] Problema en función al usar "timestamp + interval '$1 seconds' "

Sebastián Villalba sebastian@fcm.unc.edu.ar
Tue, 21 Oct 2003 10:36:51 -0300


Hola a todos. Tengo un problema en PG 7.3.2 cuando en una función, 
básicamente para manejar "timeouts", quiero sumarle al valor de una 
tabla tipo timestamp un número que representa segundos. La función es la 
siguiente:

create or replace function checktimeout(char, integer) returns integer as '
    update conexiones
    set sessionFinish = now()
    where sessionId like $1
    and sessionLastAction + interval '$2 seconds' < now();
select 1;
' language sql;

Siendo "$2" la cantidad de segundos después de la cual hay que cerrar la 
sesión del usuario (ej. 180 segs.). El asunto es que no me lo toma al $2 
como parámetro. Me toma solamente el "2" como valor y después de los 2 
segundos de inactividad me cierra la sesión. Cómo puedo hacer para que 
me tome el valor que recibe por parámetro?. Probé con una función con 
plpgsql (nunca usé y puedo tener errores) pero me dá un error de parseo 
(en "timeout) cuando en el "define" hago "timeout alias for $2;". Espero 
que me puedan ayudar. Saludos y disculpas por quitarles su tiempo.

Sebastián Villalba