Hi all,
I'm having trouble with what MAY BE a bug in PL/PGSQL for PG 7.0.3 on
Linux (Mandrake Linux 7.2).
It appears pl/pgsql is munging values. When I pass it a 'time' value,
the value is altered without my code touching it. This is evidenced by
the stripped down function below :
CREATE FUNCTION which_block(time)
RETURNS time
AS 'DECLARE
/* Given a time, this function works out the name of the correct field
in the reservations table for it* Written by : Justin Clift* Date : 1st February 2001* Version : 1.00*/
hours char(3); minutes char(2); result char(5); tempres char(5); curnow datetime;
BEGIN
RETURN $1; END;'
LANGUAGE 'plpgsql';
foobar=# select which_block(time '12:40:00');which_block
-------------12:39:00
(1 row)
foobar=#
Having passed it the time value of '12:40:00', I am immediately
returning that value and it is no longer '12:40:00'.
Being over 1 month into using PostgreSQL 7.0.3 for a particular project,
this is scaring me as I'm now doubting the reliability of things.
Regards and best wishes,
Justin Clift
Database Administrator