From dbd786bc4f497210551a7640ee2f6afe877cc3e9 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 19 Nov 2013 15:00:49 -0500 Subject: [PATCH] pg_upgrade: avoid ALTER COLUMN TYPE on inherited columns This only affects upgrades from 8.3 currently, and is harmless as the child just generates an error in the script, but we should get it right in case we ever need this for more complex uses. Per report from Peter Eisentraut --- contrib/pg_upgrade/version_old_8_3.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c index 84a47eec59..e8438b6cb0 100644 --- a/contrib/pg_upgrade/version_old_8_3.c +++ b/contrib/pg_upgrade/version_old_8_3.c @@ -325,6 +325,8 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) "WHERE c.relkind = 'r' AND " " c.oid = a.attrelid AND " " NOT a.attisdropped AND " + /* child attribute changes are processed by the parent */ + " a.attinhcount = 0 AND " " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " " c.relnamespace = n.oid AND " /* exclude possible orphaned temp tables */ @@ -346,6 +348,8 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) "WHERE c.relkind = 'r' AND " \ " c.oid = a.attrelid AND " \ " NOT a.attisdropped AND " \ + /* child attribute changes are processed by the parent */ \ + " a.attinhcount = 0 AND " \ " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " \ " c.relnamespace = n.oid AND " \ " n.nspname !~ '^pg_' AND " \