On Fri, Mar 20, 2015 at 10:54 AM, David Christensen <[email protected]> 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. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
