From: Bruce Momjian Date: Thu, 7 Apr 2011 10:22:40 +0000 (-0400) Subject: Simplify structure of query used to gather database object information X-Git-Tag: REL9_1_BETA1~147 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e69d32158c18069840130f62c5597ca1ef656175;p=postgresql Simplify structure of query used to gather database object information in pg_upgrade. --- diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c index 9f74493e1f..ceb1601cc6 100644 --- a/contrib/pg_upgrade/info.c +++ b/contrib/pg_upgrade/info.c @@ -255,27 +255,25 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo) snprintf(query, sizeof(query), "SELECT c.oid, n.nspname, c.relname, " " c.relfilenode, t.spclocation " - "FROM pg_catalog.pg_class c JOIN " - " pg_catalog.pg_namespace n " - " ON c.relnamespace = n.oid " - " LEFT OUTER JOIN pg_catalog.pg_tablespace t " - " ON c.reltablespace = t.oid " - "WHERE (( n.nspname NOT IN ('pg_catalog', 'information_schema', 'binary_upgrade') " - " AND c.oid >= %u " - " ) OR ( " - " n.nspname = 'pg_catalog' " - " AND relname IN " - " ('pg_largeobject', 'pg_largeobject_loid_pn_index'%s) )) " - " AND relkind IN ('r','t', 'i'%s) " + "FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n " + " ON c.relnamespace = n.oid " + " LEFT OUTER JOIN pg_catalog.pg_tablespace t " + " ON c.reltablespace = t.oid " + "WHERE relkind IN ('r','t', 'i'%s) AND " + " ((n.nspname NOT IN ('pg_catalog', 'information_schema', 'binary_upgrade') AND " + " c.oid >= %u) " + " OR (n.nspname = 'pg_catalog' AND " + " relname IN ('pg_largeobject', 'pg_largeobject_loid_pn_index'%s) )) " /* we preserve pg_class.oid so we sort by it to match old/new */ "ORDER BY 1;", + /* see the comment at the top of old_8_3_create_sequence_script() */ + (GET_MAJOR_VERSION(old_cluster.major_version) <= 803) ? + "" : ", 'S'", + /* this oid allows us to skip system toast tables */ FirstNormalObjectId, /* does pg_largeobject_metadata need to be migrated? */ (GET_MAJOR_VERSION(old_cluster.major_version) <= 804) ? - "" : ", 'pg_largeobject_metadata', 'pg_largeobject_metadata_oid_index'", - /* see the comment at the top of old_8_3_create_sequence_script() */ - (GET_MAJOR_VERSION(old_cluster.major_version) <= 803) ? - "" : ", 'S'"); + "" : ", 'pg_largeobject_metadata', 'pg_largeobject_metadata_oid_index'"); res = executeQueryOrDie(conn, query);