From: | Hubert FONGARNAND <informatique(dot)internet(at)fiducial(dot)fr> |
---|---|
To: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Arnaud Balandras <a(dot)balandras(at)fiducial(dot)fr>, Frederic Mestayer <f(dot)mestayer(at)fiducial(dot)fr> |
Subject: | BUG: type of "xxxx" does not match that when preparing the plan |
Date: | 2008-01-31 08:09:46 |
Message-ID: | 1201766986.13802.12.camel@hublinux.fidudev.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
We are testing PostGreSQL 8.3 RC2 on our beta plateform and we are
facing some problems with plpgsql function.
Here's a failing test case, which worked well on postgresql 8.1 :
Create this function :
CREATE OR REPLACE FUNCTION test(param integer)
RETURNS text AS
$BODY$DECLARE
attribute TEXT:='';
query TEXT;
curs REFCURSOR;
rec RECORD;
BEGIN
if (param=1) THEN
query := 'SELECT ''test''::varchar AS label';
ELSE
query := 'SELECT ''test''::text AS label';
END IF;
RAISE NOTICE '%',query;
OPEN curs for EXECUTE query;
FETCH curs into rec;
attribute=rec.label;
CLOSE curs;
RETURN attribute;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
Execute this function, and this sql :
postgres=# SELECT test(1);
NOTICE: SELECT 'test'::varchar AS label
test
------
test
(1 ligne)
and now :
postgres=# SELECT test(2);
NOTICE: SELECT 'test'::text AS label
ERROR: type of "rec.label" does not match that when preparing the plan
CONTEXT: PL/pgSQL function "test" line 15 at assignment
It seems that if the type of "label" changes from varchar to text it crashes...
Thanks for fixing this!
Hubert FONGARNAND
_________________________________________________
Ce message et les eventuels documents joints peuvent contenir des informations confidentielles.
Au cas ou il ne vous serait pas destine, nous vous remercions de bien vouloir le supprimer et en aviser immediatement l'expediteur. Toute utilisation de ce message non conforme a sa destination, toute diffusion ou publication, totale ou partielle et quel qu'en soit le moyen est formellement interdite.
Les communications sur internet n'etant pas securisees, l'integrite de ce message n'est pas assuree et la societe emettrice ne peut etre tenue pour responsable de son contenu.
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2008-01-31 08:28:21 | Re: Oops - BF:Mastodon just died |
Previous Message | Simon Riggs | 2008-01-31 08:08:43 | Re: Truncate Triggers |