Skip site navigation (1) Skip section navigation (2)

Issue with passing NULL for function parameter

From: Archana Sachin Ghag <Archana_Ghag(at)infosys(dot)com>
To: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Issue with passing NULL for function parameter
Date: 2011-11-03 11:32:52
Message-ID: EECE843AE50D6E4E85BE16173C1E84EB097579D1F7@PUNITPMBX01.ad.infosys.com (view raw or flat)
Thread:
Lists: pgsql-bugs
I have wriiten following simple function in postgresql

CREATE OR REPLACE FUNCTION "MySchema".add_user(p_name character varying, p_email1 character varying, p_email2 character varying)
  RETURNS bigint AS
$BODY$
DECLARE
                userId bigint;
BEGIN
                INSERT INTO "MySchema"."User"("Name" ,"EMail1" , "EMail2")
                                VALUES ($1 , $2, $3) ;

                Select CURRVAL('"MySchema".user_seq_userid') into userId;

                return userid;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE STRICT

Function works absoolutely fine if I provide values for all three parameters. Record gets inserted too.

But if I pass NULL for say last parameter, using  SELECT "MySchema".add_user('A' , 'A', NULL)
function does not do anything and return zero.
No error is shown. But record is not inserted in table.
All columns in table can have NULL value.

**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify the sender by e-mail and delete the original message. Further, you are not 
to copy, disclose, or distribute this e-mail or its contents to any other person and 
any such actions are unlawful. This e-mail may contain viruses. Infosys has taken 
every reasonable precaution to minimize this risk, but is not liable for any damage 
you may sustain as a result of any virus in this e-mail. You should carry out your 
own virus checks before opening the e-mail or attachment. Infosys reserves the 
right to monitor and review the content of all messages sent to or from this e-mail 
address. Messages sent to or from this e-mail address may be stored on the 
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***

Responses

pgsql-bugs by date

Next:From: Heikki LinnakangasDate: 2011-11-03 11:40:38
Subject: Re: Issue with passing NULL for function parameter
Previous:From: Tom LaneDate: 2011-11-02 16:38:03
Subject: Re: BUG #6283: About the behavior of indexscan in case there are some NULL values.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group