XversionUpgrade tests broken by postfix operator removal - Mailing list pgsql-hackers

From Tom Lane
Subject XversionUpgrade tests broken by postfix operator removal
Date
Msg-id 449144.1600439950@sss.pgh.pa.us
Whole thread Raw
Responses Re: XversionUpgrade tests broken by postfix operator removal  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
List pgsql-hackers
Unsurprisingly, commit 1ed6b8956 has led to the buildfarm's
cross-version upgrade tests no longer working, eg

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=tadarida&dt=2020-09-18%2013%3A06%3A52

Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for user-defined postfix operators                 fatal
Your installation contains user-defined postfix operators, which are not
supported anymore.  Consider dropping the postfix operators and replacing
them with prefix operators or function calls.
A list of user-defined postfix operators is in the file:
    postfix_ops.txt

I intentionally let that happen, figuring that it'd be good to get some
buildfarm cycles on the new code in pg_upgrade that does this check.
But now we have to think about updating the test.  I think the best
bet is just to add some DROP OPERATOR commands to the existing
cleanup logic in TestUpgradeXversion.pm.  It looks like this would
do the trick:

drop operator #@# (bigint,NONE);
drop operator #%# (bigint,NONE);
drop operator !=- (bigint,NONE);
drop operator #@%# (bigint,NONE);

We could shorten this list a bit by changing create_operator.sql
in the back branches --- most of these have no particular reason
to be postfix rather than prefix operators.  I would not want to
remove them all, though, since that'd result in loss of test
coverage for postfix operators in the back branches.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: OpenSSL 3.0.0 compatibility
Next
From: Adam Brusselback
Date:
Subject: Re: Feature improvement for pg_stat_statements