Re: Declaring a strict function returns not null / eval speed

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Tels <nospam-pg-abuse(at)bloodgate(dot)com>
Cc: Andreas Karlsson <andreas(at)proxel(dot)se>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Declaring a strict function returns not null / eval speed
Date: 2019-10-20 14:27:19
Message-ID: 13658.1571581639@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tels <nospam-pg-abuse(at)bloodgate(dot)com> writes:
> On 2019-10-20 13:30, Andreas Karlsson wrote:
>> Agreed, this sounds like something useful to do since virtually all
>> strict functions cannot return NULL, especially the ones which are
>> used in tight loops. The main design issue seems to be to think up a
>> name for this new level of strictness which is not too confusing for
>> end users.

> STRICT NONULL? That way you could do

> CREATE FUNCTION f1 ... STRICT;
> CREATE FUNCTION f2 ... STRICT NONULL;
> CREATE FUNCTION f3 ... NONULL;

> and the last wold throw "not implementet yet"? "NEVER RETURNS NULL"
> would also ryme with the existing "RETURNS NULL ON NULL INPUT", but I
> find the verbosity too high.

"RETURNS NOT NULL", perhaps? That'd have the advantage of not requiring
any new keyword.

I'm a little bit skeptical of the actual value of adding this additional
level of complexity, but I suppose we can't determine that reliably
without doing most of the work :-(

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tels 2019-10-20 16:02:02 Re: Declaring a strict function returns not null / eval speed
Previous Message Isaac Morland 2019-10-20 13:42:59 Re: jsonb_set() strictness considered harmful to data