@@ -48,7 +48,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
48
48
for (relnum = 0 ;relnum < old_db -> rel_arr .nrels ;relnum ++ )
49
49
{
50
50
RelInfo * 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 ];
52
52
53
53
if (old_rel -> reloid != new_rel -> reloid )
54
54
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)
147
147
{
148
148
int dbnum ;
149
149
150
- free_db_and_rel_infos (& cluster -> dbarr );
150
+ if (cluster -> dbarr .dbs != NULL )
151
+ free_db_and_rel_infos (& cluster -> dbarr );
151
152
152
153
get_db_infos (cluster );
153
154
@@ -156,7 +157,7 @@ get_db_and_rel_infos(ClusterInfo *cluster)
156
157
157
158
if (log_opts .debug )
158
159
{
159
- pg_log (PG_DEBUG ,"%s databases\n" ,CLUSTER_NAME (cluster ));
160
+ pg_log (PG_DEBUG ,"\n %s databases: \n" ,CLUSTER_NAME (cluster ));
160
161
print_db_infos (& cluster -> dbarr );
161
162
}
162
163
}
@@ -319,6 +320,7 @@ free_db_and_rel_infos(DbInfoArr *db_arr)
319
320
for (dbnum = 0 ;dbnum < db_arr -> ndbs ;dbnum ++ )
320
321
free_rel_infos (& db_arr -> dbs [dbnum ].rel_arr );
321
322
pg_free (db_arr -> dbs );
323
+ db_arr -> dbs = NULL ;
322
324
db_arr -> ndbs = 0 ;
323
325
}
324
326