From: | Luis D(dot) García <ldgarc(at)gmail(dot)com> |
---|---|
To: | Luis D(dot) García <ldgarc(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Sumar TIMESTAMP + TIME desde el código fuente |
Date: | 2007-03-20 12:45:35 |
Message-ID: | 3de424340703200545y2047e0c5y14c7e02303f895bb@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola de nuevo Alvaro, tengo una duda, ya que estuve trabajando y analizando
un poco el código que me diste y no he podido obtener el resultado esperado.
Pienso que el problema puede estar en que los valores tanto del TIME, como
del TIMESTAMP los tengo almacenados como strings (CHAR *) y hasta ahora
no he podido realizar las conversiones adecuadas con la función
text_timestamp
para convertir esta cadena al tipo de dato TIMESTAMP respectivo.
Otra cosa que deseaba saber es qué tratas de hacer aquí:
'1 second' * (1.0 * autovacuum_naptime)
Ya que según como lo entendí lo que haces es convertir el tipo de dato TIME
en un
INTERVAL para luego poder usar la función timestamptz_pl_interval, es esto
correcto?
A partir de esto, y basándome en tú código, en mi caso el código quedó así,
pero
al compilarlo me da algunos problemas los cuales como te mencioné pienso
tienen
que ver con el que tanto el TIME como el TIMESTAMP son *char:
.
.
.
Datum onesec;
Datum my_time;
Datum my_result;
onesec = DirectFunctionCall3(interval_in,
CStringGetDatum("1 second"),
ObjectIdGetDatum(InvalidOid),
Int32GetDatum(-1));
my_time = DirectFunctionCall2(interval_mul,
onesec,
Float8GetDatum(1.0 * TIME_VALUE));
my_result = DirectFunctionCall2(timestamp_pl_interval,
TimestampGetDatum(TIMESTAMP_VALUE),
my_time));
.
.
.
Donde TIME_VALUE y TIMESTAMP_VALUE, son mis valores del TIME y
TIMESTAMP respectivamente.
Espero puedas darme algunas recomendaciones para solucionar esto, pues
te lo agradecería bastante.
Saludos...
PD: otra duda que tenía es ¿ese tiempo autovacuum_naptime también puede
poseer los respectivos valores de Hora, Minutos y Decimales no? Ej: 02:05:
03.456
Lo digo porque en mi caso debo evaluar hasta el último decimal.
--
Luis D. García M.
Telf: (+58) 2418662663
Cel.: (+58) 4143482018
- FACYT - UC -
- Computación -
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-03-20 12:50:55 | Re: Tipo Referencia en PostgreSQL |
Previous Message | Martin Marques | 2007-03-20 11:48:11 | Re: log estraño |