Re: XversionUpgrade tests broken by postfix operator removal

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Cc: pgsql-hackers@lists.postgresql.org, pgbf@twiska.com
Date: 2020-09-19T16:21:03Z
Lists: pgsql-hackers
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.

			regards, tom lane



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.