Re: ISSTRICT behavior

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Don Y <pgsql(at)DakotaCom(dot)Net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: ISSTRICT behavior
Date: 2006-05-04 07:36:43
Message-ID: 20060504073643.GE4752@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, May 04, 2006 at 12:29:30AM -0700, Don Y wrote:
> OTOH, if the function could *abort* it's invocation, then
> I don't have to worry about return values. It is a closer
> model to the STRICT behavior -- instead of aborting the
> function invocation BEFORE (which STRICT essentially does),
> I could abort it AFTER invocation (once I had detected
> the NULL argument)

Are you sure you understand what STRICT does? STRICT doesn't abort
anything. STRICT means "if this function gets called with any NULL
arguments, the result is NULL". Since this is correct behaviour for the
vast majority of functions, it's implemented as a flag rather than
requiring each and every function to check.

Also, anything that calls a function must be prepared to handle a NULL
return value. Any function can return NULL, even if only because it is
declared strict and you passed a null argument...

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Don Y 2006-05-04 07:43:58 Re: ISSTRICT behavior
Previous Message Martijn van Oosterhout 2006-05-04 07:29:33 Re: ISSTRICT behavior