I want to be able to pass NULL as a parameter to a function I've defined,
but I'm not allowed to do it. I believe this is a bug.

The example follows:

CREATE TABLE test_func(                    
  func_sun      int4,
  surname       varchar(30),
  value         int2            NOT NULL,
  
  CONSTRAINT p01_test_func PRIMARY KEY(func_sun)
);

This insert works as one would expect.

INSERT INTO test_func(func_sun, surname, value)
VALUES(1234,null,99);

Now create the function that will insert rows into my table test_func.

CREATE FUNCTION insert_row(int4,varchar,int2)
RETURNS int4 AS
  'INSERT INTO test_func(func_sun, surname, value)
   VALUES($1,$2,$3);
   SELECT 1 AS ignore;'
 LANGUAGE 'sql';

Now if I try to do the same thing but via my function,
        SELECT insert_row(1235,null,100);
I get the following error
        ERROR:  typeidTypeRelid: Invalid type - oid = 0

Why wont the function allow me to pass a 'null' parm?

Cheers...Gordon
~~~~~~~~~~~~~~ 4ZzZ Brisbane's First Community FM Station ~~~~~~~~~~~~~~
         The Demo Show - Supporting Australian Unsigned Artists
            Mon nights 6-7pm (0800-0900UTC) on 4ZzZ 102.1 FM
                  http://www.4zzzfm.org.au/zed (RA feed)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Reply via email to