aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2011-02-15 19:01:33 -0500
committerBruce Momjian <bruce@momjian.us>2011-02-15 19:01:33 -0500
commit1cc19cc358c23e3c4e04f9f38776b625d5e13965 (patch)
tree63cd949e2b26648054dbe80ee0c3699a0168efef
parent89c29c033154b717b16db2ee3c87bdec4393b0d4 (diff)
downloadpostgresql-1cc19cc358c23e3c4e04f9f38776b625d5e13965.tar.gz
postgresql-1cc19cc358c23e3c4e04f9f38776b625d5e13965.zip
Fix bug in 9.1 pg_upgrade processing of old/new relations; adjust debug
output.
-rw-r--r--contrib/pg_upgrade/info.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c
index 74c9da13c67..0c518a2d1b4 100644
--- a/contrib/pg_upgrade/info.c
+++ b/contrib/pg_upgrade/info.c
@@ -48,7 +48,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
for (relnum = 0; relnum < old_db->rel_arr.nrels; relnum++)
{
RelInfo *old_rel = &old_db->rel_arr.rels[relnum];
- RelInfo *new_rel = &old_db->rel_arr.rels[relnum];
+ RelInfo *new_rel = &new_db->rel_arr.rels[relnum];
if (old_rel->reloid != new_rel->reloid)
pg_log(PG_FATAL, "mismatch of relation id: database \"%s\", old relid %d, new relid %d\n",
@@ -147,7 +147,8 @@ get_db_and_rel_infos(ClusterInfo *cluster)
{
int dbnum;
- free_db_and_rel_infos(&cluster->dbarr);
+ if (cluster->dbarr.dbs != NULL)
+ free_db_and_rel_infos(&cluster->dbarr);
get_db_infos(cluster);
@@ -156,7 +157,7 @@ get_db_and_rel_infos(ClusterInfo *cluster)
if (log_opts.debug)
{
- pg_log(PG_DEBUG, "%s databases\n", CLUSTER_NAME(cluster));
+ pg_log(PG_DEBUG, "\n%s databases:\n", CLUSTER_NAME(cluster));
print_db_infos(&cluster->dbarr);
}
}
@@ -319,6 +320,7 @@ free_db_and_rel_infos(DbInfoArr *db_arr)
for (dbnum = 0; dbnum < db_arr->ndbs; dbnum++)
free_rel_infos(&db_arr->dbs[dbnum].rel_arr);
pg_free(db_arr->dbs);
+ db_arr->dbs = NULL;
db_arr->ndbs = 0;
}