@@ -275,7 +275,7 @@ lock_backup(pgBackup *backup, bool strict, bool exclusive)
275275
276276 /* save lock metadata for later unlocking */
277277 lock = pgut_malloc (sizeof (LockInfo ));
278- snprintf (lock -> backup_id , 10 , "%s" , base36enc (backup -> backup_id ));
278+ snprintf (lock -> backup_id , 10 , "%s" , backup_id_of (backup ));
279279 snprintf (lock -> backup_dir , MAXPGPATH , "%s" , backup -> root_dir );
280280 lock -> exclusive = exclusive ;
281281
@@ -966,6 +966,9 @@ catalog_get_backup_list(InstanceState *instanceState, time_t requested_backup_id
966966 backup = pgut_new0 (pgBackup );
967967 pgBackupInit (backup );
968968 backup -> start_time = base36dec (data_ent -> d_name );
969+ /* XXX BACKUP_ID change it when backup_id wouldn't match start_time */
970+ Assert (backup -> backup_id == 0 || backup -> backup_id == backup -> start_time );
971+ backup -> backup_id = backup -> start_time ;
969972 }
970973 else if (strcmp (backup_id_of (backup ), data_ent -> d_name ) != 0 )
971974 {
@@ -983,7 +986,6 @@ catalog_get_backup_list(InstanceState *instanceState, time_t requested_backup_id
983986 init_header_map (backup );
984987
985988 /* TODO: save encoded backup id */
986- backup -> backup_id = backup -> start_time ;
987989 if (requested_backup_id != INVALID_BACKUP_ID
988990 && requested_backup_id != backup -> start_time )
989991 {
@@ -1454,7 +1456,7 @@ pgBackupInitDir(pgBackup *backup, const char *backup_instance_path)
14541456 if (create_backup_dir (backup , backup_instance_path ) != 0 )
14551457 {
14561458 /* Clear backup_id as indication of error */
1457- backup -> backup_id = INVALID_BACKUP_ID ;
1459+ reset_backup_id ( backup ) ;
14581460 return ;
14591461 }
14601462
@@ -1506,7 +1508,7 @@ create_backup_dir(pgBackup *backup, const char *backup_instance_path)
15061508 int rc ;
15071509 char path [MAXPGPATH ];
15081510
1509- join_path_components (path , backup_instance_path , base36enc (backup -> backup_id ));
1511+ join_path_components (path , backup_instance_path , backup_id_of (backup ));
15101512
15111513 /* TODO: add wrapper for remote mode */
15121514 rc = dir_create_dir (path , DIR_PERMISSION , true);
@@ -2252,7 +2254,7 @@ pin_backup(pgBackup *target_backup, pgSetBackupParams *set_backup_params)
22522254 /* sanity, backup must have positive recovery-time */
22532255 if (target_backup -> recovery_time <= 0 )
22542256 elog (ERROR , "Failed to set 'expire-time' for backup %s: invalid 'recovery-time'" ,
2255- base36enc (target_backup -> backup_id ));
2257+ backup_id_of (target_backup ));
22562258
22572259 /* Pin comes from ttl */
22582260 if (set_backup_params -> ttl > 0 )
@@ -2714,6 +2716,9 @@ readBackupControlFile(const char *path)
27142716 pgBackupFree (backup );
27152717 return NULL ;
27162718 }
2719+ /* XXX BACKUP_ID change it when backup_id wouldn't match start_time */
2720+ Assert (backup -> backup_id == 0 || backup -> backup_id == backup -> start_time );
2721+ backup -> backup_id = backup -> start_time ;
27172722
27182723 if (backup_mode )
27192724 {
0 commit comments