Commit fe8f15d5 authored by Bruce Momjian's avatar Bruce Momjian

Adjust pg_upgrade error message, array freeing, and add error check.

parent f5fc1de5
...@@ -362,8 +362,6 @@ check_new_db_is_empty(void) ...@@ -362,8 +362,6 @@ check_new_db_is_empty(void)
} }
} }
free_db_and_rel_infos(&new_cluster.dbarr);
if (found) if (found)
pg_log(PG_FATAL, "New cluster is not empty; exiting\n"); pg_log(PG_FATAL, "New cluster is not empty; exiting\n");
} }
......
...@@ -104,6 +104,12 @@ create_rel_filename_map(const char *old_data, const char *new_data, ...@@ -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 */ /* new_relfilenode will match old and new pg_class.oid */
map->new_relfilenode = new_rel->relfilenode; 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 */ /* used only for logging and error reporing, old/new are identical */
snprintf(map->nspname, sizeof(map->nspname), "%s", old_rel->nspname); snprintf(map->nspname, sizeof(map->nspname), "%s", old_rel->nspname);
snprintf(map->relname, sizeof(map->relname), "%s", old_rel->relname); snprintf(map->relname, sizeof(map->relname), "%s", old_rel->relname);
...@@ -141,6 +147,9 @@ get_db_and_rel_infos(ClusterInfo *cluster) ...@@ -141,6 +147,9 @@ get_db_and_rel_infos(ClusterInfo *cluster)
{ {
int dbnum; int dbnum;
if (cluster->dbarr)
free_db_and_rel_infos(cluster->dbarr);
get_db_infos(cluster); get_db_infos(cluster);
for (dbnum = 0; dbnum < cluster->dbarr.ndbs; dbnum++) for (dbnum = 0; dbnum < cluster->dbarr.ndbs; dbnum++)
......
...@@ -286,7 +286,6 @@ create_new_objects(void) ...@@ -286,7 +286,6 @@ create_new_objects(void)
check_ok(); check_ok();
/* regenerate now that we have objects in the databases */ /* regenerate now that we have objects in the databases */
free_db_and_rel_infos(&new_cluster.dbarr);
get_db_and_rel_infos(&new_cluster); get_db_and_rel_infos(&new_cluster);
uninstall_support_functions_from_new_cluster(); uninstall_support_functions_from_new_cluster();
......
...@@ -49,7 +49,7 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, ...@@ -49,7 +49,7 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr,
pageCnvCtx *pageConverter = NULL; pageCnvCtx *pageConverter = NULL;
if (strcmp(old_db->db_name, new_db->db_name) != 0) 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); old_db->db_name, new_db->db_name);
n_maps = 0; n_maps = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment