BUG: type of "xxxx" does not match that when preparing the plan

Поиск
Список
Период
Сортировка
От Hubert FONGARNAND
Тема BUG: type of "xxxx" does not match that when preparing the plan
Дата
Msg-id 1201766986.13802.12.camel@hublinux.fidudev.fr
обсуждение исходный текст
Ответы Re: BUG: type of "xxxx" does not match that when preparing the plan  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,<br /><br /> We are testing PostGreSQL 8.3 RC2 on our beta plateform and we are facing some problems with plpgsql
function.<br/><br /> Here's a failing test case, which worked well on postgresql 8.1 :<br /><br /><pre>
 
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) THENquery := '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 labeltest 
------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

</pre><br /> _________________________________________________ <br /> Ce message et les eventuels documents joints
peuventcontenir des informations confidentielles. Au cas ou il ne vous serait pas destine, nous vous remercions de bien
vouloirle 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.
Lescommunications sur internet n'etant pas securisees, l'integrite de ce message n'est pas assuree et la societe
emettricene peut etre tenue pour responsable de son contenu.  

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Truncate Triggers
Следующее
От: "Dave Page"
Дата:
Сообщение: Re: Oops - BF:Mastodon just died