diff options
author | Bruce Momjian <bruce@momjian.us> | 2011-02-15 15:00:07 -0500 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2011-02-15 15:00:47 -0500 |
commit | fe8f15d5d2f42ad1ce6a0114c12fd3da0f14dd4a (patch) | |
tree | b1e981a5311213362688b5fc425b87cc971bf55b | |
parent | f5fc1de501d03f6399670dd16989c5925b9191d2 (diff) | |
download | postgresql-fe8f15d5d2f42ad1ce6a0114c12fd3da0f14dd4a.tar.gz postgresql-fe8f15d5d2f42ad1ce6a0114c12fd3da0f14dd4a.zip |
Adjust pg_upgrade error message, array freeing, and add error check.
-rw-r--r-- | contrib/pg_upgrade/check.c | 2 | ||||
-rw-r--r-- | contrib/pg_upgrade/info.c | 9 | ||||
-rw-r--r-- | contrib/pg_upgrade/pg_upgrade.c | 1 | ||||
-rw-r--r-- | contrib/pg_upgrade/relfilenode.c | 2 |
4 files changed, 10 insertions, 4 deletions
diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index 1103e362a44..2e6400e4cc5 100644 --- a/contrib/pg_upgrade/check.c +++ b/contrib/pg_upgrade/check.c @@ -362,8 +362,6 @@ check_new_db_is_empty(void) } } - free_db_and_rel_infos(&new_cluster.dbarr); - if (found) pg_log(PG_FATAL, "New cluster is not empty; exiting\n"); } diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c index c0412311d9e..dbbc143fa2d 100644 --- a/contrib/pg_upgrade/info.c +++ b/contrib/pg_upgrade/info.c @@ -104,6 +104,12 @@ create_rel_filename_map(const char *old_data, const char *new_data, /* new_relfilenode will match old and new pg_class.oid */ map->new_relfilenode = new_rel->relfilenode; + if (strcmp(old_rel->nspname, new_rel->nspname) != 0 || + strcmp(old_rel->relname, new_rel->relname) != 0) + pg_log(PG_FATAL, "mismatch of relation id: database \"%s\", old rel %s.%s, new rel %s.%s\n", + old_db, old_rel->nspname, old_rel->relname, + new_rel->nspname, new_rel->relname); + /* used only for logging and error reporing, old/new are identical */ snprintf(map->nspname, sizeof(map->nspname), "%s", old_rel->nspname); snprintf(map->relname, sizeof(map->relname), "%s", old_rel->relname); @@ -141,6 +147,9 @@ get_db_and_rel_infos(ClusterInfo *cluster) { int dbnum; + if (cluster->dbarr) + free_db_and_rel_infos(cluster->dbarr); + get_db_infos(cluster); for (dbnum = 0; dbnum < cluster->dbarr.ndbs; dbnum++) diff --git a/contrib/pg_upgrade/pg_upgrade.c b/contrib/pg_upgrade/pg_upgrade.c index 368c0e781a6..e93ac3ba8c5 100644 --- a/contrib/pg_upgrade/pg_upgrade.c +++ b/contrib/pg_upgrade/pg_upgrade.c @@ -286,7 +286,6 @@ create_new_objects(void) check_ok(); /* regenerate now that we have objects in the databases */ - free_db_and_rel_infos(&new_cluster.dbarr); get_db_and_rel_infos(&new_cluster); uninstall_support_functions_from_new_cluster(); diff --git a/contrib/pg_upgrade/relfilenode.c b/contrib/pg_upgrade/relfilenode.c index ca9640794e2..d111b13de90 100644 --- a/contrib/pg_upgrade/relfilenode.c +++ b/contrib/pg_upgrade/relfilenode.c @@ -49,7 +49,7 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, pageCnvCtx *pageConverter = NULL; if (strcmp(old_db->db_name, new_db->db_name) != 0) - pg_log(PG_FATAL, "old and new databases have a different names: old \"%s\", new \"%s\"\n", + pg_log(PG_FATAL, "old and new databases have different names: old \"%s\", new \"%s\"\n", old_db->db_name, new_db->db_name); n_maps = 0; |