@@ -410,22 +410,18 @@ Status ArrayDirectory::load() {
410
410
consolidated_commit_uris_set_);
411
411
} else {
412
412
// Process root dir.
413
- auto && [st2, fragment_uris_v1_v11] =
414
- load_root_dir_uris_v1_v11 (root_dir_uris);
415
- RETURN_NOT_OK (st2);
413
+ auto fragment_uris_v1_v11 = load_root_dir_uris_v1_v11 (root_dir_uris);
416
414
417
415
// Process commit dir.
418
- auto && [st3, fragment_uris_v12_or_higher] =
419
- load_commits_dir_uris_v12_or_higher (
420
- commits_dir_uris, consolidated_commit_uris.value ());
421
- RETURN_NOT_OK (st3);
416
+ auto fragment_uris_v12_or_higher = load_commits_dir_uris_v12_or_higher (
417
+ commits_dir_uris, consolidated_commit_uris.value ());
422
418
423
419
// Append the two fragment URI vectors together
424
- unfiltered_fragment_uris_ = std::move (fragment_uris_v1_v11. value () );
420
+ unfiltered_fragment_uris_ = std::move (fragment_uris_v1_v11);
425
421
unfiltered_fragment_uris_.insert (
426
422
unfiltered_fragment_uris_.end (),
427
- fragment_uris_v12_or_higher.value (). begin (),
428
- fragment_uris_v12_or_higher.value (). end ());
423
+ fragment_uris_v12_or_higher.begin (),
424
+ fragment_uris_v12_or_higher.end ());
429
425
430
426
// Merge the fragment meta URIs.
431
427
std::copy (
@@ -451,18 +447,15 @@ Status ArrayDirectory::load() {
451
447
const ArrayDirectory::FilteredFragmentUris
452
448
ArrayDirectory::filtered_fragment_uris (const bool full_overlap_only) const {
453
449
// Compute fragment URIs and the vacuum file URIs to vacuum
454
- auto && [st, fragment_uris_to_vacuum, fragment_vac_uris_to_vacuum] =
450
+ auto && [fragment_uris_to_vacuum, fragment_vac_uris_to_vacuum] =
455
451
compute_uris_to_vacuum (full_overlap_only, unfiltered_fragment_uris_);
456
- if (!st.ok ()) {
457
- throw std::logic_error (st.message ());
458
- }
459
452
460
453
// Compute commit URIs to vacuum, which only need to be done for fragment
461
454
// vacuuming mode.
462
455
std::vector<URI> commit_uris_to_vacuum;
463
456
std::vector<URI> commit_uris_to_ignore;
464
457
if (mode_ == ArrayDirectoryMode::VACUUM_FRAGMENTS) {
465
- for (auto & uri : fragment_uris_to_vacuum. value () ) {
458
+ for (auto & uri : fragment_uris_to_vacuum) {
466
459
auto commit_uri = get_commit_uri (uri);
467
460
if (consolidated_commit_uris_set_.count (commit_uri.c_str ()) == 0 ) {
468
461
commit_uris_to_vacuum.emplace_back (commit_uri);
@@ -473,20 +466,15 @@ ArrayDirectory::filtered_fragment_uris(const bool full_overlap_only) const {
473
466
}
474
467
475
468
// Compute filtered fragment URIs
476
- auto && [st2, fragment_filtered_uris] = compute_filtered_uris (
477
- full_overlap_only,
478
- unfiltered_fragment_uris_,
479
- fragment_uris_to_vacuum.value ());
480
- if (!st2.ok ()) {
481
- throw std::logic_error (st.message ());
482
- }
469
+ auto fragment_filtered_uris = compute_filtered_uris (
470
+ full_overlap_only, unfiltered_fragment_uris_, fragment_uris_to_vacuum);
483
471
484
472
return FilteredFragmentUris (
485
- std::move (fragment_uris_to_vacuum. value () ),
473
+ std::move (fragment_uris_to_vacuum),
486
474
std::move (commit_uris_to_vacuum),
487
475
std::move (commit_uris_to_ignore),
488
- std::move (fragment_vac_uris_to_vacuum. value () ),
489
- std::move (fragment_filtered_uris. value () ));
476
+ std::move (fragment_vac_uris_to_vacuum),
477
+ std::move (fragment_filtered_uris));
490
478
}
491
479
492
480
const std::vector<URI>& ArrayDirectory::fragment_meta_uris () const {
@@ -610,16 +598,14 @@ std::vector<URI> ArrayDirectory::list_root_dir_uris() {
610
598
return ls (uri_);
611
599
}
612
600
613
- tuple<Status, optional<std::vector<URI>>>
614
- ArrayDirectory::load_root_dir_uris_v1_v11 (
601
+ std::vector<URI> ArrayDirectory::load_root_dir_uris_v1_v11 (
615
602
const std::vector<URI>& root_dir_uris) {
616
603
// Compute the fragment URIs
617
- auto && [st1, fragment_uris] = compute_fragment_uris_v1_v11 (root_dir_uris);
618
- RETURN_NOT_OK_TUPLE (st1, nullopt);
604
+ auto fragment_uris = compute_fragment_uris_v1_v11 (root_dir_uris);
619
605
620
606
fragment_meta_uris_ = compute_fragment_meta_uris (root_dir_uris);
621
607
622
- return { Status::Ok (), fragment_uris. value ()} ;
608
+ return fragment_uris;
623
609
}
624
610
625
611
std::vector<URI> ArrayDirectory::list_commits_dir_uris () {
@@ -628,8 +614,7 @@ std::vector<URI> ArrayDirectory::list_commits_dir_uris() {
628
614
return ls (uri_.join_path (constants::array_commits_dir_name));
629
615
}
630
616
631
- tuple<Status, optional<std::vector<URI>>>
632
- ArrayDirectory::load_commits_dir_uris_v12_or_higher (
617
+ std::vector<URI> ArrayDirectory::load_commits_dir_uris_v12_or_higher (
633
618
const std::vector<URI>& commits_dir_uris,
634
619
const std::vector<URI>& consolidated_uris) {
635
620
std::vector<URI> fragment_uris;
@@ -682,7 +667,7 @@ ArrayDirectory::load_commits_dir_uris_v12_or_higher(
682
667
}
683
668
}
684
669
685
- return { Status::Ok (), fragment_uris} ;
670
+ return fragment_uris;
686
671
}
687
672
688
673
std::vector<URI>
@@ -827,18 +812,12 @@ void ArrayDirectory::load_array_meta_uris() {
827
812
}
828
813
829
814
// Compute array metadata URIs and vacuum URIs to vacuum. */
830
- auto && [st1, array_meta_uris_to_vacuum, array_meta_vac_uris_to_vacuum] =
815
+ std::tie (array_meta_uris_to_vacuum_, array_meta_vac_uris_to_vacuum_) =
831
816
compute_uris_to_vacuum (true , array_meta_dir_uris);
832
- throw_if_not_ok (st1);
833
- array_meta_uris_to_vacuum_ = std::move (array_meta_uris_to_vacuum.value ());
834
- array_meta_vac_uris_to_vacuum_ =
835
- std::move (array_meta_vac_uris_to_vacuum.value ());
836
817
837
818
// Compute filtered array metadata URIs
838
- auto && [st2, array_meta_filtered_uris] = compute_filtered_uris (
819
+ array_meta_uris_ = compute_filtered_uris (
839
820
true , array_meta_dir_uris, array_meta_uris_to_vacuum_);
840
- throw_if_not_ok (st2);
841
- array_meta_uris_ = std::move (array_meta_filtered_uris.value ());
842
821
array_meta_dir_uris.clear ();
843
822
}
844
823
@@ -901,8 +880,7 @@ void ArrayDirectory::load_commits_uris_to_consolidate(
901
880
}
902
881
}
903
882
904
- tuple<Status, optional<std::vector<URI>>>
905
- ArrayDirectory::compute_fragment_uris_v1_v11 (
883
+ std::vector<URI> ArrayDirectory::compute_fragment_uris_v1_v11 (
906
884
const std::vector<URI>& array_dir_uris) const {
907
885
std::vector<URI> fragment_uris;
908
886
@@ -937,7 +915,7 @@ ArrayDirectory::compute_fragment_uris_v1_v11(
937
915
}
938
916
}
939
917
940
- return { Status::Ok (), fragment_uris} ;
918
+ return fragment_uris;
941
919
}
942
920
943
921
std::vector<URI> ArrayDirectory::compute_fragment_meta_uris (
@@ -994,7 +972,7 @@ bool ArrayDirectory::timestamps_overlap(
994
972
}
995
973
}
996
974
997
- tuple<Status, optional< std::vector<URI>>, optional< std::vector<URI> >>
975
+ tuple<std::vector<URI>, std::vector<URI>>
998
976
ArrayDirectory::compute_uris_to_vacuum (
999
977
const bool full_overlap_only, const std::vector<URI>& uris) const {
1000
978
// Get vacuum URIs
@@ -1095,19 +1073,18 @@ ArrayDirectory::compute_uris_to_vacuum(
1095
1073
vac_uris_to_vacuum.emplace_back (vac_files[i]);
1096
1074
}
1097
1075
1098
- return {Status::Ok (), uris_to_vacuum, vac_uris_to_vacuum};
1076
+ return {uris_to_vacuum, vac_uris_to_vacuum};
1099
1077
}
1100
1078
1101
- tuple<Status, optional<std::vector<TimestampedURI>>>
1102
- ArrayDirectory::compute_filtered_uris (
1079
+ std::vector<TimestampedURI> ArrayDirectory::compute_filtered_uris (
1103
1080
const bool full_overlap_only,
1104
1081
const std::vector<URI>& uris,
1105
1082
const std::vector<URI>& to_ignore) const {
1106
1083
std::vector<TimestampedURI> filtered_uris;
1107
1084
1108
1085
// Do nothing if there are not enough URIs
1109
1086
if (uris.empty ()) {
1110
- return { Status::Ok (), filtered_uris} ;
1087
+ return filtered_uris;
1111
1088
}
1112
1089
1113
1090
// Get the URIs that must be ignored
@@ -1156,7 +1133,7 @@ ArrayDirectory::compute_filtered_uris(
1156
1133
// Sort the names based on the timestamps
1157
1134
std::sort (filtered_uris.begin (), filtered_uris.end ());
1158
1135
1159
- return { Status::Ok (), filtered_uris} ;
1136
+ return filtered_uris;
1160
1137
}
1161
1138
1162
1139
Status ArrayDirectory::compute_array_schema_uris (
0 commit comments