pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Justin Pryzby <pryzby@telsasoft.com>
To: Jacob Champion <pchampion@vmware.com>
Cc: tgl@sss.pgh.pa.us
Cc: peter.eisentraut@enterprisedb.com
Cc: pgsql-hackers@lists.postgresql.org
Cc: buschmann@nidsa.net
Cc: andrew@dunslane.net
Cc: noah@leadboat.com
Cc: tomas.vondra@2ndquadrant.com
Cc: bruce@momjian.us
Cc: andres@anarazel.de
Subject: Re: pg_upgrade test for binary compatibility of core data types
Date: Sat, 11 Sep 2021 19:51:16 -0500
Message-ID: <20210912005116.GF26465@telsasoft.com> (raw)
In-Reply-To: <a31d593da98da15fc2302a16b3f3b32e491d3e49.camel@vmware.com>
References: <be693563-def1-2f5a-89c1-f4d3cb2ae716@enterprisedb.com>
	<20210112041352.GY1849@telsasoft.com>
	<20210112171559.GO4320@momjian.us>
	<20210112172753.GC1849@telsasoft.com>
	<20210112175356.GP4320@momjian.us>
	<66753439-83ae-7be5-6e41-9537a6041a39@dunslane.net>
	<d9f14840-9f6e-183d-f43a-9f9b9e1b6d19@enterprisedb.com>
	<1575064.1615060903@sss.pgh.pa.us>
	<20210430183348.GQ27406@telsasoft.com>
	<a31d593da98da15fc2302a16b3f3b32e491d3e49.camel@vmware.com>

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

Attachments:

  [text/x-diff] v5-0001-WIP-pg_upgrade-test.sh-changes-needed-to-allow-te.patch (0B, ../20210912005116.GF26465@telsasoft.com/2-v5-0001-WIP-pg_upgrade-test.sh-changes-needed-to-allow-te.patch)
  download

view thread (36+ messages)  latest in thread

Message-ID: <20210912005116.GF26465@telsasoft.com>
Permalink:  ../20210912005116.GF26465@telsasoft.com/
Also on:    postgresql.org/message-id/20210912005116.GF26465@telsasoft.com

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: pryzby@telsasoft.com, pchampion@vmware.com, tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com, pgsql-hackers@lists.postgresql.org, buschmann@nidsa.net, andrew@dunslane.net, noah@leadboat.com, tomas.vondra@2ndquadrant.com, bruce@momjian.us, andres@anarazel.de
  Subject: Re: pg_upgrade test for binary compatibility of core data types
  In-Reply-To: <20210912005116.GF26465@telsasoft.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox