From: Richard Huxton <dev@archonet.com>
To: newsy@lewczuk.com
To: Lista dyskusyjna pgsql-general <pgsql-general@postgresql.org>
To: Lista dyskusyjna pgsql-sql <pgsql-sql@postgresql.org>
To: Lista dyskusyjna pgsql-bugs <pgsql-bugs@postgresql.org>
Subject: Re: [GENERAL] plPGSQL bug in function creation
Date: Mon, 8 Sep 2003 13:09:16 +0100
Message-ID: <200309081309.16255.dev@archonet.com> (raw)
In-Reply-To: <004901c375e3$bd31f660$4701a8c0@marek>
References: <004901c375e3$bd31f660$4701a8c0@marek>
On Monday 08 September 2003 09:32, Marek Lewczuk wrote:
> Hello,
> I think that there is a bug in plPGSQL - or maybe I don't know something
> about this language. Try to create this function
[snip]
> And when i execute: SELECT test(NULL, 'buuu'); -> it returns me NULL
> value, when it should return "buuu". Well I think that something is
> wrong here.
>
> If I will modify this function again to this:
>
> CREATE FUNCTION "public"."test" (varchar, varchar) RETURNS text AS'
[snip]
> Everything is working OK.. So the problem is in TEXT type definition.
>
> I'm using PG 7.3.1 on Win/Cyg
Can't reproduce here:
CREATE OR REPLACE FUNCTION functest1(varchar, varchar) RETURNS varchar AS '
BEGIN
IF $1 THEN
RETURN $1;
ELSE
RETURN $2;
END IF;
END;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
CREATE OR REPLACE FUNCTION functest2(text, text) RETURNS varchar AS '
BEGIN
IF $1 THEN
RETURN $1;
ELSE
RETURN $2;
END IF;
END;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
SELECT functest1('A','B'), functest1(null,'B'), functest2('A','B'),
functest2(null,'B');
CREATE FUNCTION
CREATE FUNCTION
functest1 | functest1 | functest2 | functest2
-----------+-----------+-----------+-----------
A | B | A | B
(1 row)
richardh=# select version();
version
-------------------------------------------------------------
PostgreSQL 7.3.2 on i686-pc-linux-gnu, compiled by GCC 2.96
Not sure whether this is because of the change 7.3.1->7.3.2 or cygwin vs
linux. Don't have a copy of 7.3.1 to check against, sorry. Perhaps check the
changes list to see if it mentions something like this.
--
Richard Huxton
Archonet Ltd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: dev@archonet.com, newsy@lewczuk.com, pgsql-general@postgresql.org, pgsql-bugs@postgresql.org
Subject: Re: [GENERAL] plPGSQL bug in function creation
In-Reply-To: <200309081309.16255.dev@archonet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox