@@ -48,7 +48,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
4848for (relnum = 0 ;relnum < old_db -> rel_arr .nrels ;relnum ++ )
4949{
5050RelInfo * old_rel = & old_db -> rel_arr .rels [relnum ];
51- RelInfo * new_rel = & old_db -> rel_arr .rels [relnum ];
51+ RelInfo * new_rel = & new_db -> rel_arr .rels [relnum ];
5252
5353if (old_rel -> reloid != new_rel -> reloid )
5454pg_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)
147147{
148148int dbnum ;
149149
150- free_db_and_rel_infos (& cluster -> dbarr );
150+ if (cluster -> dbarr .dbs != NULL )
151+ free_db_and_rel_infos (& cluster -> dbarr );
151152
152153get_db_infos (cluster );
153154
@@ -156,7 +157,7 @@ get_db_and_rel_infos(ClusterInfo *cluster)
156157
157158if (log_opts .debug )
158159{
159- pg_log (PG_DEBUG ,"%s databases\n" ,CLUSTER_NAME (cluster ));
160+ pg_log (PG_DEBUG ,"\n %s databases: \n" ,CLUSTER_NAME (cluster ));
160161print_db_infos (& cluster -> dbarr );
161162}
162163}
@@ -319,6 +320,7 @@ free_db_and_rel_infos(DbInfoArr *db_arr)
319320for (dbnum = 0 ;dbnum < db_arr -> ndbs ;dbnum ++ )
320321free_rel_infos (& db_arr -> dbs [dbnum ].rel_arr );
321322pg_free (db_arr -> dbs );
323+ db_arr -> dbs = NULL ;
322324db_arr -> ndbs = 0 ;
323325}
324326