On Fri, Mar 20, 2015 at 9:04 AM, Robert Haas <robertmh...@gmail.com> wrote:

> On Fri, Mar 20, 2015 at 10:54 AM, David Christensen <da...@endpoint.com>
> wrote:
> > In that case, the other thought I had here is that we change the
> function signature of current_setting() to be a two-arg form where the
> second argument is a boolean "throw_error", with a default argument of true
> to preserve existing semantics, and returning NULL if that argument is
> false.  However, I'm not sure if there are some issues with changing the
> signature of an existing function (e.g., with pg_upgrade, etc.).
> >
> > My *impression* is that since pg_upgrade rebuilds the system tables for
> a new install it shouldn't be an issue, but not sure if having the same
> pg_proc OID with different values or an alternate pg_proc OID would cause
> issues down the line; anyone know if this is a dead-end?
>
> I think if the second argument is defaulted it would be OK.  However
> it might make sense to instead add a new two-argument function and
> leave the existing one-argument function alone, because setting
> default arguments for functions defined in pg_proc.h is kind of a
> chore.
>

​Isn't there some other update along this whole error-vs-null choice going
around where a separate name was chosen for the new null-returning function
instead of adding a boolean switch argument?

​David J.

Reply via email to