pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (5+ messages)  latest in thread

Message-ID: <200309081309.16255.dev@archonet.com>
Permalink:  ../200309081309.16255.dev@archonet.com/
Also on:    postgresql.org/message-id/200309081309.16255.dev@archonet.com

 · 

reply

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