@@ -615,7 +615,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
615615 switch (scan_parent_chain (backup , & tmp_backup ))
616616 {
617617 /* broken chain */
618- case 0 :
618+ case ChainIsBroken :
619619 invalid_backup_id = base36enc_dup (tmp_backup -> parent_backup );
620620
621621 elog (WARNING , "Backup %s has missing parent: %s. Cannot be a parent" ,
@@ -624,7 +624,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
624624 continue ;
625625
626626 /* chain is intact, but at least one parent is invalid */
627- case 1 :
627+ case ChainIsInvalid :
628628 invalid_backup_id = base36enc_dup (tmp_backup -> start_time );
629629
630630 elog (WARNING , "Backup %s has invalid parent: %s. Cannot be a parent" ,
@@ -633,7 +633,7 @@ catalog_get_last_data_backup(parray *backup_list, TimeLineID tli, time_t current
633633 continue ;
634634
635635 /* chain is ok */
636- case 2 :
636+ case ChainIsOk :
637637 /* Yes, we could call is_parent() earlier - after choosing the ancestor,
638638 * but this way we have an opportunity to detect and report all possible
639639 * anomalies.
@@ -755,13 +755,14 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list,
755755 /* Optimistically, look on current timeline for valid incremental backup, child of ancestor */
756756 if (my_tlinfo -> backups )
757757 {
758+ /* backups are sorted in descending order and we need latest valid */
758759 for (i = 0 ; i < parray_num (my_tlinfo -> backups ); i ++ )
759760 {
760761 pgBackup * tmp_backup = NULL ;
761762 pgBackup * backup = (pgBackup * ) parray_get (my_tlinfo -> backups , i );
762763
763764 /* found suitable parent */
764- if (scan_parent_chain (backup , & tmp_backup ) == 2 &&
765+ if (scan_parent_chain (backup , & tmp_backup ) == ChainIsOk &&
765766 is_parent (ancestor_backup -> start_time , backup , false))
766767 return backup ;
767768 }
@@ -786,7 +787,7 @@ get_multi_timeline_parent(parray *backup_list, parray *tli_list,
786787 if (backup -> stop_lsn > tmp_tlinfo -> switchpoint )
787788 continue ;
788789
789- if (scan_parent_chain (backup , & tmp_backup ) == 2 &&
790+ if (scan_parent_chain (backup , & tmp_backup ) == ChainIsOk &&
790791 is_parent (ancestor_backup -> start_time , backup , true))
791792 return backup ;
792793 }
@@ -2382,18 +2383,18 @@ scan_parent_chain(pgBackup *current_backup, pgBackup **result_backup)
23822383 {
23832384 /* Set oldest child backup in chain */
23842385 * result_backup = target_backup ;
2385- return 0 ;
2386+ return ChainIsBroken ;
23862387 }
23872388
23882389 /* chain is ok, but some backups are invalid */
23892390 if (invalid_backup )
23902391 {
23912392 * result_backup = invalid_backup ;
2392- return 1 ;
2393+ return ChainIsInvalid ;
23932394 }
23942395
23952396 * result_backup = target_backup ;
2396- return 2 ;
2397+ return ChainIsOk ;
23972398}
23982399
23992400/*
0 commit comments