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-18T20:17:37Z
Lists: pgsql-hackers
On 9/18/20 10:39 AM, Tom Lane wrote: > 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. > > Almost. I had to remove one more operator. Here's the hot fix: <https://github.com/PGBuildFarm/client-code/commit/3844503c8fde134f7cc29b3fb147d590b6d2fcc1> I have been working in recent days towards a release - this will hurry it up. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
In pg_upgrade cross-version test, handle postfix operators.
- fa744697c791 14.0 landed
-
Use factorial rather than numeric_fac in create_operator.sql.
- cc7b27da7fb8 11.10 landed
- a950fb073426 10.15 landed
- 9ab5ed4194f3 13.0 landed
- 760b8fe766bc 9.5.24 landed
- 1e00333ffa2e 9.6.20 landed
- 1af91dc032cf 12.5 landed
-
Remove support for postfix (right-unary) operators.
- 1ed6b895634c 14.0 cited