Re: maintaining backwards compatibility for to_regclass argument type change from cstring to text - Mailing list pgsql-general

From Tom Lane
Subject Re: maintaining backwards compatibility for to_regclass argument type change from cstring to text
Date
Msg-id 15698.1480567782@sss.pgh.pa.us
Whole thread Raw
In response to maintaining backwards compatibility for to_regclass argument type change from cstring to text  (Michael Rasmussen <michaelr@porch.com>)
List pgsql-general
Michael Rasmussen <michaelr@porch.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*()
functionswere 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
solutionI have come up with is to use if-else statements that check the numeric version of the cluster the function is
installedon. 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


pgsql-general by date:

Previous
From: George Weaver
Date:
Subject: Re: Logging for 2 instances of PostgreSQL
Next
From: George
Date:
Subject: Re: Index is not used for "IN (non-correlated subquery)"