PL/PgSQL bug? - Mailing list pgsql-general

From Nikola Milutinovic
Subject PL/PgSQL bug?
Date
Msg-id 000f01c11512$03872e30$0a3ea8c0@ev.co.yu
Whole thread Raw
Responses Re: PL/PgSQL bug?  (Joel Burton <jburton@scw.org>)
List pgsql-general
Hi all.

I have noticed a strange bug/feature in PL/PgSQL language. Whenever I pass 'null' as one of the parameters, every
argumentbecomes 'null'. 

For example:

CREATE FUNCTION div_mod( int4, text, int4, bool, int2 ) RETURNS int4 AS '
BEGIN
IF $1 ISNULL THEN
  RETURN 2;
END IF;
RETURN 0;
END;
' LANGUAGE 'plpgsql';

Now perform:
mercury# select div_mod( 1, 'Test', null, 't' 10 );
 div_mod
-----------
             2

Although the function is called with $1 = 1, it is 'null' in this case. Actually all $n parameters are 'null'.
PostgreSQLversion is: 

mercury=# select version();
                        version
--------------------------------------------------------
 PostgreSQL 7.0.2 on alpha-dec-osf4.0f, compiled by cc
(1 row)

Is this a bug or a feature?

Nix.

pgsql-general by date:

Previous
From: Morgan Curley
Date:
Subject: Re: Inserts in triggers Follow Up
Next
From: Tom Lane
Date:
Subject: Re: More.. Re: Changes to C interface from 7.0 to 7.1