From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix some more omissions in pg_upgrade's tests for non-upgradable |
Date: | 2021-04-29 19:24:59 |
Message-ID: | E1lcCHT-0008JM-UP@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix some more omissions in pg_upgrade's tests for non-upgradable types.
Commits 29aeda6e4 et al closed up some oversights involving not checking
for non-upgradable types within container types, such as arrays and
ranges. However, I only looked at version.c, failing to notice that
there were substantially-equivalent tests in check.c. (The division
of responsibility between those files is less than clear...)
In addition, because genbki.pl does not guarantee that auto-generated
rowtype OIDs will hold still across versions, we need to consider that
the composite type associated with a system catalog or view is
non-upgradable. It seems unlikely that someone would have a user
column declared that way, but if they did, trying to read it in another
PG version would likely draw "no such pg_type OID" failures, thanks
to the type OID embedded in composite Datums.
To support the composite and reg*-type cases, extend the recursive
query that does the search to allow any base query that returns
a column of pg_type OIDs, rather than limiting it to exactly one
starting type.
As before, back-patch to all supported branches.
Discussion: https://postgr.es/m/2798740.1619622555@sss.pgh.pa.us
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/57c081de0afcd01bf47c46f015bf8886b01c2c21
Modified Files
--------------
src/bin/pg_upgrade/check.c | 223 +++++++++++++++-------------------------
src/bin/pg_upgrade/pg_upgrade.h | 6 ++
src/bin/pg_upgrade/version.c | 53 ++++++++--
3 files changed, 133 insertions(+), 149 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-04-29 19:25:00 | pgsql: Fix some more omissions in pg_upgrade's tests for non-upgradable |
Previous Message | Alvaro Herrera | 2021-04-29 15:35:50 | pgsql: Improve documentation for default_tablespace on partitioned tabl |