From: Erik Wienhold <ewie@ewie.name>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David G. Johnston <david.g.johnston@gmail.com>
Cc: Chris BSomething <xpusostomos@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #18715: replace() function silently fails if 3rd argument is null
Date: Tue, 19 Nov 2024 23:34:23 +0100
Message-ID: <c4804767-5c7e-4103-9d1e-0c6c2e3433d3@ewie.name> (raw)
In-Reply-To: <3778528.1732034860@sss.pgh.pa.us>
References: <18715-7035b5d78571887e@postgresql.org>
<CAKFQuwaFtdrDPryMUfBy_+DnsrGishCuXHc+doVLjdczhWWP1w@mail.gmail.com>
<CADrHaBGAgjGCG_d0=myn+Rq1qNSduDA=_f=B8bLRzQm=E-sL4g@mail.gmail.com>
<CAKFQuwZ8HCXZF+dFhW809Zuv+Z6AStQ10kkFiYTC-f79d5U1Ug@mail.gmail.com>
<3778528.1732034860@sss.pgh.pa.us>
On 2024-11-19 17:47 +0100, Tom Lane wrote:
> "David G. Johnston" <david.g.johnston@gmail.com> writes:
> > On Tue, Nov 19, 2024 at 8:08 AM Chris BSomething <xpusostomos@gmail.com>
> > wrote:
> >> Nowhere (that I can see) does any documentation "define" that replace
> >> returns null on null input to arg 3. Nor is it obvious that any "strict"
> >> application of any principle should have it return null.
>
> > Fair, I keep forgetting that we don't document the "strict" property of a
> > function definition. Absent that, I agree it's a documentation bug that we
> > don't adequately explain the strictness behavior of this function.
>
> I thought we documented somewhere that built-in functions are strict
> unless explicitly stated otherwise ... but I sure can't find that
> statement right now.
Perhaps this one?:
> (Most internal functions expect to be declared “strict”.)
https://www.postgresql.org/docs/current/xfunc-internal.html
--
Erik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: ewie@ewie.name, tgl@sss.pgh.pa.us, david.g.johnston@gmail.com, xpusostomos@gmail.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #18715: replace() function silently fails if 3rd argument is null
In-Reply-To: <c4804767-5c7e-4103-9d1e-0c6c2e3433d3@ewie.name>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox