Re: XversionUpgrade tests broken by postfix operator removal

Andrew Dunstan <andrew.dunstan@2ndquadrant.com>

From: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, pgbf@twiska.com
Date: 2020-09-20T00:31:25Z
Lists: pgsql-hackers

Attachments

On 9/19/20 12:21 PM, Tom Lane wrote:
> Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes:
>> Here's how cross version upgrade testing works. It uses a cached version of the binaries and data directory. The cache is only refreshed if there's a buildfarm run on that branch. If not, the cached version will just sit there till kingdom come. So all this should normally need for the non-live branches is a one-off adjustment in the cached version of the regression database along the lines I have indicated. My cached versions of 9.2 and 9.3 are two years old.
> Hmm, okay, so patching this on gitmaster wouldn't help anyway.
>
>> But another alternative would be to have the buildfarm module run (on
>> versions older than 9.5):
>>     drop operator @#@ (NONE, bigint);
>>     CREATE OPERATOR @#@ (
>>         PROCEDURE = factorial,
>>         RIGHTARG = bigint
>>     );
>> On reflection I think that's probably the simplest solution. It will avoid any surprises if the cached version is rebuilt, and at the same time preserve testing the prefix operator.
> Works for me.
>
> 			



OK, I rolled back the changes I made in the legacy branch databases, and
this fix worked.


For reference, here is the complete hotfix.


cheers


andrew


-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Commits

  1. In pg_upgrade cross-version test, handle postfix operators.

  2. Use factorial rather than numeric_fac in create_operator.sql.

  3. Remove support for postfix (right-unary) operators.