pgsql: Fix some more omissions in pg_upgrade's tests for non-upgradable
От | Tom Lane |
---|---|
Тема | pgsql: Fix some more omissions in pg_upgrade's tests for non-upgradable |
Дата | |
Msg-id | E1lcCHT-0008JQ-VE@gemulon.postgresql.org обсуждение исходный текст |
Список | 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 ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/ba86371b9ca048eeffc5f26530b78f64f2884ed5 Modified Files -------------- src/bin/pg_upgrade/check.c | 222 +++++++++++++++------------------------- src/bin/pg_upgrade/pg_upgrade.h | 6 ++ src/bin/pg_upgrade/version.c | 53 ++++++++-- 3 files changed, 133 insertions(+), 148 deletions(-)
В списке pgsql-committers по дате отправления: