Re: HELP: Scarey pl/pgsql problem
От | Justin Clift |
---|---|
Тема | Re: HELP: Scarey pl/pgsql problem |
Дата | |
Msg-id | 3A78D9D5.E9F2E66D@bigpond.net.au обсуждение исходный текст |
Ответ на | Re: pl/pgsql Limits (Jan Wieck <janwieck@Yahoo.com>) |
Список | pgsql-sql |
Hi all, I must apologise as it turns out the 'culprit' wasn't really pl/pgsql. The test box I was testing on is Mandrake Linux 7.2, which comes with PostgreSQL 7.0.2. Everything else has version 7.0.3 installed on it, and I naively assumed that 7.0.3 was installed on the test box. After installing the Postgres 7.0.3 rpms from the PostgreSQL site, pl/pgsql is working consistently again. It looks like the rpms for PostgreSQL supplied with Mandrake Linux 7.2 are broken, I guess they didn't run the supplied tests before packaging. :-( Regards and best wishes, Justin Clift Database Administrator Justin Clift wrote: > > 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
В списке pgsql-sql по дате отправления: