Re: Using null or not null in function arguments - Mailing list pgsql-general

From Sam Mason
Subject Re: Using null or not null in function arguments
Date
Msg-id 20090123144539.GJ3008@frubble.xen.chris-lamb.co.uk
Whole thread Raw
In response to Using null or not null in function arguments  (Igor Katson <descentspb@gmail.com>)
Responses Re: Using null or not null in function arguments  (Igor Katson <descentspb@gmail.com>)
List pgsql-general
On Fri, Jan 23, 2009 at 02:16:34PM +0300, Igor Katson wrote:
> a) If the input argument is NULL, then the corresponding select
> statement will change from
>
> column = arg
> to
> column IS NULL

I think you want to use the IS [NOT] DISTINCT FROM operator.  It
works like the = and <> operators. i.e. the following expressions are
equivalent:

  x IS NOT DISTINCT FROM y

and

  CASE WHEN x IS NULL THEN y IS NULL
       ELSE COALESCE(x = y, FALSE) END


> b) If the input argument is NULL, then the corresponding select
> statement will be removed, so if it was not written.

not sure what you mean here, but maybe one of the existing suggestions
may help or the "RETURNS NULL ON NULL INPUT" flag when you're creating
the function may be what you're looking for.


--
  Sam  http://samason.me.uk/

pgsql-general by date:

Previous
From: Howard Cole
Date:
Subject: Re: How to convert ByteA to Large Objects
Next
From: Sam Mason
Date:
Subject: Re: How to convert ByteA to Large Objects