@@ -152,7 +152,7 @@ write_backup_status(pgBackup *backup, BackupStatus status,
152
152
153
153
/* lock backup in exclusive mode */
154
154
if (!lock_backup (tmp , strict , true))
155
- elog (ERROR , "Cannot lock backup %s directory" , base36enc (backup -> start_time ));
155
+ elog (ERROR , "Cannot lock backup %s directory" , backup_id_of (backup ));
156
156
157
157
write_backup (tmp , strict );
158
158
@@ -192,7 +192,7 @@ lock_backup(pgBackup *backup, bool strict, bool exclusive)
192
192
193
193
join_path_components (lock_file , backup -> root_dir , BACKUP_LOCK_FILE );
194
194
195
- rc = grab_excl_lock_file (backup -> root_dir , base36enc (backup -> start_time ), strict );
195
+ rc = grab_excl_lock_file (backup -> root_dir , backup_id_of (backup ), strict );
196
196
197
197
if (rc == LOCK_FAIL_TIMEOUT )
198
198
return false;
@@ -257,7 +257,7 @@ lock_backup(pgBackup *backup, bool strict, bool exclusive)
257
257
* freed some space on filesystem, thanks to unlinking of BACKUP_RO_LOCK_FILE.
258
258
* If somebody concurrently acquired exclusive lock file first, then we should give up.
259
259
*/
260
- if (grab_excl_lock_file (backup -> root_dir , base36enc (backup -> start_time ), strict ) == LOCK_FAIL_TIMEOUT )
260
+ if (grab_excl_lock_file (backup -> root_dir , backup_id_of (backup ), strict ) == LOCK_FAIL_TIMEOUT )
261
261
return false;
262
262
263
263
return true;
@@ -523,7 +523,7 @@ grab_excl_lock_file(const char *root_dir, const char *backup_id, bool strict)
523
523
}
524
524
525
525
// elog(LOG, "Acquired exclusive lock for backup %s after %ds",
526
- // base36enc (backup->start_time ),
526
+ // backup_id_of (backup),
527
527
// LOCK_TIMEOUT - ntries + LOCK_STALE_TIMEOUT - empty_tries);
528
528
529
529
return LOCK_OK ;
@@ -563,7 +563,7 @@ wait_shared_owners(pgBackup *backup)
563
563
{
564
564
if (interrupted )
565
565
elog (ERROR , "Interrupted while locking backup %s" ,
566
- base36enc (backup -> start_time ));
566
+ backup_id_of (backup ));
567
567
568
568
if (encoded_pid == my_pid )
569
569
break ;
@@ -575,10 +575,10 @@ wait_shared_owners(pgBackup *backup)
575
575
if ((ntries % LOG_FREQ ) == 0 )
576
576
{
577
577
elog (WARNING , "Process %lld is using backup %s in shared mode, and is still running" ,
578
- (long long )encoded_pid , base36enc (backup -> start_time ));
578
+ (long long )encoded_pid , backup_id_of (backup ));
579
579
580
580
elog (WARNING , "Waiting %u seconds on lock for backup %s" , ntries ,
581
- base36enc (backup -> start_time ));
581
+ backup_id_of (backup ));
582
582
}
583
583
584
584
sleep (1 );
@@ -606,7 +606,7 @@ wait_shared_owners(pgBackup *backup)
606
606
if (ntries <= 0 )
607
607
{
608
608
elog (WARNING , "Cannot to lock backup %s in exclusive mode, because process %llu owns shared lock" ,
609
- base36enc (backup -> start_time ), (long long )encoded_pid );
609
+ backup_id_of (backup ), (long long )encoded_pid );
610
610
return 1 ;
611
611
}
612
612
@@ -979,15 +979,15 @@ catalog_get_backup_list(InstanceState *instanceState, time_t requested_backup_id
979
979
980
980
if (!backup )
981
981
{
982
- backup = pgut_new (pgBackup );
982
+ backup = pgut_new0 (pgBackup );
983
983
pgBackupInit (backup );
984
984
backup -> start_time = base36dec (data_ent -> d_name );
985
985
}
986
- else if (strcmp (base36enc (backup -> start_time ), data_ent -> d_name ) != 0 )
986
+ else if (strcmp (backup_id_of (backup ), data_ent -> d_name ) != 0 )
987
987
{
988
988
/* TODO there is no such guarantees */
989
989
elog (WARNING , "backup ID in control file \"%s\" doesn't match name of the backup folder \"%s\"" ,
990
- base36enc (backup -> start_time ), backup_conf_path );
990
+ backup_id_of (backup ), backup_conf_path );
991
991
}
992
992
993
993
backup -> root_dir = pgut_strdup (data_path );
@@ -1026,7 +1026,7 @@ catalog_get_backup_list(InstanceState *instanceState, time_t requested_backup_id
1026
1026
{
1027
1027
pgBackup * curr = parray_get (backups , i );
1028
1028
pgBackup * * ancestor ;
1029
- pgBackup key ;
1029
+ pgBackup key = { 0 } ;
1030
1030
1031
1031
if (curr -> backup_mode == BACKUP_MODE_FULL )
1032
1032
continue ;
@@ -1202,7 +1202,7 @@ get_backup_filelist(pgBackup *backup, bool strict)
1202
1202
1203
1203
/* redundant sanity? */
1204
1204
if (!files )
1205
- elog (strict ? ERROR : WARNING , "Failed to get file list for backup %s" , base36enc (backup -> start_time ));
1205
+ elog (strict ? ERROR : WARNING , "Failed to get file list for backup %s" , backup_id_of (backup ));
1206
1206
1207
1207
return files ;
1208
1208
}
@@ -1228,7 +1228,7 @@ catalog_lock_backup_list(parray *backup_list, int from_idx, int to_idx, bool str
1228
1228
pgBackup * backup = (pgBackup * ) parray_get (backup_list , i );
1229
1229
if (!lock_backup (backup , strict , exclusive ))
1230
1230
elog (ERROR , "Cannot lock backup %s directory" ,
1231
- base36enc (backup -> start_time ));
1231
+ backup_id_of (backup ));
1232
1232
}
1233
1233
}
1234
1234
@@ -1241,7 +1241,6 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
1241
1241
int i ;
1242
1242
pgBackup * full_backup = NULL ;
1243
1243
pgBackup * tmp_backup = NULL ;
1244
- char * invalid_backup_id ;
1245
1244
1246
1245
/* backup_list is sorted in order of descending ID */
1247
1246
for (i = 0 ; i < parray_num (backup_list ); i ++ )
@@ -1262,7 +1261,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
1262
1261
return NULL ;
1263
1262
1264
1263
elog (LOG , "Latest valid FULL backup: %s" ,
1265
- base36enc (full_backup -> start_time ));
1264
+ backup_id_of (full_backup ));
1266
1265
1267
1266
/* FULL backup is found, lets find his latest child */
1268
1267
for (i = 0 ; i < parray_num (backup_list ); i ++ )
@@ -1277,20 +1276,14 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
1277
1276
{
1278
1277
/* broken chain */
1279
1278
case ChainIsBroken :
1280
- invalid_backup_id = base36enc_dup (tmp_backup -> parent_backup );
1281
-
1282
1279
elog (WARNING , "Backup %s has missing parent: %s. Cannot be a parent" ,
1283
- base36enc (backup -> start_time ), invalid_backup_id );
1284
- pg_free (invalid_backup_id );
1280
+ backup_id_of (backup ), base36enc (tmp_backup -> parent_backup ));
1285
1281
continue ;
1286
1282
1287
1283
/* chain is intact, but at least one parent is invalid */
1288
1284
case ChainIsInvalid :
1289
- invalid_backup_id = base36enc_dup (tmp_backup -> start_time );
1290
-
1291
1285
elog (WARNING , "Backup %s has invalid parent: %s. Cannot be a parent" ,
1292
- base36enc (backup -> start_time ), invalid_backup_id );
1293
- pg_free (invalid_backup_id );
1286
+ backup_id_of (backup ), backup_id_of (tmp_backup ));
1294
1287
continue ;
1295
1288
1296
1289
/* chain is ok */
@@ -1309,7 +1302,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
1309
1302
else
1310
1303
{
1311
1304
elog (WARNING , "Backup %s has status: %s. Cannot be a parent." ,
1312
- base36enc (backup -> start_time ), status2str (backup -> status ));
1305
+ backup_id_of (backup ), status2str (backup -> status ));
1313
1306
}
1314
1307
}
1315
1308
@@ -1395,7 +1388,7 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list,
1395
1388
return NULL ;
1396
1389
else
1397
1390
elog (LOG , "Latest valid full backup: %s, tli: %i" ,
1398
- base36enc (ancestor_backup -> start_time ), ancestor_backup -> tli );
1391
+ backup_id_of (ancestor_backup ), ancestor_backup -> tli );
1399
1392
1400
1393
/* At this point we found suitable full backup,
1401
1394
* now we must find his latest child, suitable to be
@@ -1908,7 +1901,7 @@ catalog_get_timelines(InstanceState *instanceState, InstanceConfig *instance)
1908
1901
{
1909
1902
elog (LOG , "Pinned backup %s is ignored for the "
1910
1903
"purpose of WAL retention" ,
1911
- base36enc (backup -> start_time ));
1904
+ backup_id_of (backup ));
1912
1905
continue ;
1913
1906
}
1914
1907
@@ -2094,7 +2087,7 @@ catalog_get_timelines(InstanceState *instanceState, InstanceConfig *instance)
2094
2087
elog (LOG , "Archive backup %s to stay consistent "
2095
2088
"protect from purge WAL interval "
2096
2089
"between %s and %s on timeline %i" ,
2097
- base36enc (backup -> start_time ),
2090
+ backup_id_of (backup ),
2098
2091
begin_segno_str , end_segno_str , backup -> tli );
2099
2092
2100
2093
if (tlinfo -> keep_segments == NULL )
@@ -2303,7 +2296,7 @@ pin_backup(pgBackup *target_backup, pgSetBackupParams *set_backup_params)
2303
2296
if (target_backup -> expire_time == 0 )
2304
2297
{
2305
2298
elog (WARNING , "Backup %s is not pinned, nothing to unpin" ,
2306
- base36enc (target_backup -> start_time ));
2299
+ backup_id_of (target_backup ));
2307
2300
return ;
2308
2301
}
2309
2302
target_backup -> expire_time = 0 ;
@@ -2323,11 +2316,11 @@ pin_backup(pgBackup *target_backup, pgSetBackupParams *set_backup_params)
2323
2316
char expire_timestamp [100 ];
2324
2317
2325
2318
time2iso (expire_timestamp , lengthof (expire_timestamp ), target_backup -> expire_time , false);
2326
- elog (INFO , "Backup %s is pinned until '%s'" , base36enc (target_backup -> start_time ),
2319
+ elog (INFO , "Backup %s is pinned until '%s'" , backup_id_of (target_backup ),
2327
2320
expire_timestamp );
2328
2321
}
2329
2322
else
2330
- elog (INFO , "Backup %s is unpinned" , base36enc (target_backup -> start_time ));
2323
+ elog (INFO , "Backup %s is unpinned" , backup_id_of (target_backup ));
2331
2324
2332
2325
return ;
2333
2326
}
@@ -2347,7 +2340,7 @@ add_note(pgBackup *target_backup, char *note)
2347
2340
{
2348
2341
target_backup -> note = NULL ;
2349
2342
elog (INFO , "Removing note from backup %s" ,
2350
- base36enc (target_backup -> start_time ));
2343
+ backup_id_of (target_backup ));
2351
2344
}
2352
2345
else
2353
2346
{
@@ -2362,7 +2355,7 @@ add_note(pgBackup *target_backup, char *note)
2362
2355
2363
2356
target_backup -> note = note_string ;
2364
2357
elog (INFO , "Adding note to backup %s: '%s'" ,
2365
- base36enc (target_backup -> start_time ), target_backup -> note );
2358
+ backup_id_of (target_backup ), target_backup -> note );
2366
2359
}
2367
2360
2368
2361
/* Update backup.control */
@@ -2684,7 +2677,7 @@ write_backup_filelist(pgBackup *backup, parray *files, const char *root,
2684
2677
static pgBackup *
2685
2678
readBackupControlFile (const char * path )
2686
2679
{
2687
- pgBackup * backup = pgut_new (pgBackup );
2680
+ pgBackup * backup = pgut_new0 (pgBackup );
2688
2681
char * backup_mode = NULL ;
2689
2682
char * start_lsn = NULL ;
2690
2683
char * stop_lsn = NULL ;
@@ -3094,7 +3087,7 @@ find_parent_full_backup(pgBackup *current_backup)
3094
3087
base36enc (base_full_backup -> parent_backup ));
3095
3088
else
3096
3089
elog (WARNING , "Failed to find parent FULL backup for %s" ,
3097
- base36enc (current_backup -> start_time ));
3090
+ backup_id_of (current_backup ));
3098
3091
return NULL ;
3099
3092
}
3100
3093
0 commit comments