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.