XversionUpgrade tests broken by postfix operator removal

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, pgbf(at)twiska(dot)com
Subject: XversionUpgrade tests broken by postfix operator removal
Date: 2020-09-18 14:39:10
Message-ID: 449144.1600439950@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Unsurprisingly, commit 1ed6b8956 has led to the buildfarm's
cross-version upgrade tests no longer working, eg


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:

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 #(at)# (bigint,NONE);
drop operator #%# (bigint,NONE);
drop operator !=- (bigint,NONE);
drop operator #(at)%# (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


Browse pgsql-hackers by date

  From Date Subject
Next Message Adam Brusselback 2020-09-18 14:50:34 Re: Feature improvement for pg_stat_statements
Previous Message Daniel Gustafsson 2020-09-18 14:11:13 Re: OpenSSL 3.0.0 compatibility