[HACKERS] BUG: type of xxxx does not match that when preparing the plan

2008-01-31 Thread Hubert FONGARNAND
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.



Re: [HACKERS] BUG: type of xxxx does not match that when preparing the plan

2008-01-31 Thread Tom Lane
Hubert FONGARNAND [EMAIL PROTECTED] writes:
 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 :

Really?  I get the 'does not match' error in every release back to 7.3.

regards, tom lane

---(end of broadcast)---
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate


Re: [HACKERS] BUG: type of xxxx does not match that when preparing the plan

2008-01-31 Thread Hubert FONGARNAND
I'm sorry, you're right it fails too with older version of postgresql


Le jeudi 31 janvier 2008 à 10:35 -0500, Tom Lane a écrit :

 Hubert FONGARNAND [EMAIL PROTECTED] writes:
  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 :
 
 Really?  I get the 'does not match' error in every release back to 7.3.
 
   regards, tom lane

_

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.