From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | Jacob Champion <pchampion(at)vmware(dot)com> |
Cc: | tgl(at)sss(dot)pgh(dot)pa(dot)us, peter(dot)eisentraut(at)enterprisedb(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org, buschmann(at)nidsa(dot)net, andrew(at)dunslane(dot)net, noah(at)leadboat(dot)com, tomas(dot)vondra(at)2ndquadrant(dot)com, bruce(at)momjian(dot)us, andres(at)anarazel(dot)de |
Subject: | Re: pg_upgrade test for binary compatibility of core data types |
Date: | 2021-09-12 00:51:16 |
Message-ID: | 20210912005116.GF26465@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Fri, Jul 16, 2021 at 06:02:18PM +0000, Jacob Champion wrote:
> On Fri, 2021-04-30 at 13:33 -0500, Justin Pryzby wrote:
> > On Sat, Mar 06, 2021 at 03:01:43PM -0500, Tom Lane wrote:
> > > v4-0001 mostly teaches test.sh about specific changes that have to be
> > > made to historic versions of the regression database to allow them
> > > to be reloaded into current servers. As already discussed, this is
> > > really duplicative of knowledge that's been embedded into the buildfarm
> > > client over time. It'd be better if we could refactor that so that
> > > the buildfarm shares a common database of these actions with test.sh.
> > > And said database ought to be in our git tree, so committers could
> > > fix problems without having to get Andrew involved every time.
> > > I think this could be represented as a psql script, at least in
> > > versions that have psql \if (but that came in in v10, so maybe
> > > we're there already).
> >
> > I started this. I don't know if it's compatible with the buildfarm client, but
> > I think any issues maybe can be avoided by using "IF EXISTS".
>
> Here are the differences I see on a first pass (without putting too
> much thought into how significant the differences are). Buildfarm code
> I'm comparing against is at [1].
>
> - Both versions drop @#@ and array_cat_accum, but the buildfarm
> additionally replaces them with a new operator and aggregate,
> respectively.
>
> - The buildfarm's dropping of table OIDs is probably more resilient,
> since it loops over pg_class looking for relhasoids.
These are all "translated" from test.sh, so follow its logic.
Maybe it should be improved, but that's separate from this patch - which is
already doing a few unrelated things.
> - The buildfarm adjusts pg_proc for the location of regress.so; I see
> there's a commented placeholder for this at the end of the psql script
> but it's not yet implemented.
I didn't understand why this was done here, but it turns out it has to be done
*after* calling pg_dump. So it has to stay where it is.
> - Some version ranges are different between the two. For example,
> abstime_/reltime_/tinterval_tbl are dropped by the buildfarm if the old
> version is < 9.3, while the psql script drops them for old versions <=
> 10.
This was an error. Thanks.
> - The buildfarm drops the public.=> operator for much older versions of
> Postgres. I assume we don't need that here.
> As an aside, I think the "fromv10" naming scheme for the "old version
> <= 10" condition is unintuitive. If the old version is e.g. 9.6, we're
> not upgrading "from 10".
I renamed the version vars - feel free to suggest something better.
I'll solicit suggestions what else to do to progresss these.
@Andrew: did you have any comment on this part ?
|Subject: buildfarm xversion diff
|Forking https://www.postgresql.org/message-id/20210328231433.GI15100@telsasoft.com
|
|I gave suggestion how to reduce the "lines of diff" metric almost to nothing,
|allowing a very small "fudge factor", and which I think makes this a pretty
|good metric rather than a passable one.
--
Justin
Attachment | Content-Type | Size |
---|---|---|
v5-0001-WIP-pg_upgrade-test.sh-changes-needed-to-allow-te.patch | text/x-diff | 3.9 KB |
v5-0002-More-changes-needed-to-allow-upgrade-testing.patch | text/x-diff | 2.9 KB |
v5-0004-Move-pg_upgrade-kludges-to-sql-script.patch | text/x-diff | 6.1 KB |
v5-0003-pg_upgrade-test-to-exercise-binary-compatibility.patch | text/x-diff | 8.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-09-12 17:29:58 | Re: BUG #15293: Stored Procedure Triggered by Logical Replication is Unable to use Notification Events |
Previous Message | Tom Lane | 2021-09-11 22:16:09 | Re: BUG #15293: Stored Procedure Triggered by Logical Replication is Unable to use Notification Events |
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2021-09-12 02:13:38 | Re: Schema variables - new implementation for Postgres 15 |
Previous Message | Tom Lane | 2021-09-11 22:16:09 | Re: BUG #15293: Stored Procedure Triggered by Logical Replication is Unable to use Notification Events |