From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Michael Rasmussen <michaelr(at)porch(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: maintaining backwards compatibility for to_regclass argument type change from cstring to text |
Date: | 2016-12-01 04:49:42 |
Message-ID: | 15698.1480567782@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Michael Rasmussen <michaelr(at)porch(dot)com> writes:
> I have encountered an issue in testing our upgrade from 9.4.4 to 9.6.1. Per the changes detailed in https://www.postgresql.org/message-id/E1aGVwY-0002Pu-Uk%40gemulon.postgresql.org, the argument types of the to_reg*() functions were changed from cstring to text.
Right.
> I am now faced with having to support both 9.4 and 9.6 as we will not be upgrading all servers simultaneously. The solution I have come up with is to use if-else statements that check the numeric version of the cluster the function is installed on. An example:
Personally, I'd try to convert everything to new style, and put a shim
function into pre-9.6 deployments only. This seems to work:
create function to_regclass(text) returns regclass
language sql as 'select to_regclass($1::cstring)';
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | George | 2016-12-01 08:07:36 | Re: Index is not used for "IN (non-correlated subquery)" |
Previous Message | Joseph Brenner | 2016-12-01 04:48:41 | No select privileges when not connecting from login postgres |