Re: Declaring a strict function returns not null / eval speed
От | Tels |
---|---|
Тема | Re: Declaring a strict function returns not null / eval speed |
Дата | |
Msg-id | 65ed6d964aac3c42813bfed056171a98@bloodgate.com обсуждение исходный текст |
Ответ на | Re: Declaring a strict function returns not null / eval speed (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Moin, On 2019-10-20 16:27, Tom Lane wrote: > Tels <nospam-pg-abuse@bloodgate.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. Hm, yes, that would be a good compromise on verbosity and align even better the other "RETURNS ..." variants. > 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 :-( Maybe it would be possible to simulate the effect somehow? Or at least we could try to find practical queries where the additional information results in a much better plan if RETRUNS NOT NULL was set. Best regards, Tels
В списке pgsql-hackers по дате отправления: