HELP: Scarey pl/pgsql problem

From: Justin Clift <aa2(at)bigpond(dot)net(dot)au>
To: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Cc: Jan Wieck <janwieck(at)Yahoo(dot)com>
Subject: HELP: Scarey pl/pgsql problem
Date: 2001-02-01 02:50:55
Message-ID: 3A78CF0F.AD0F7A6F@bigpond.net.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Justin Clift 2001-02-01 03:36:53 Re: HELP: Scarey pl/pgsql problem
Previous Message Albert REINER 2001-01-31 21:39:06 PL/pgSQL: possible parsing or documentation bug?