@@ -94,7 +94,7 @@ SparseGlobalOrderReader<BitmapType>::SparseGlobalOrderReader(
9494
9595template <class BitmapType >
9696bool SparseGlobalOrderReader<BitmapType>::incomplete() const {
97- return !read_state_.done_adding_result_tiles_ ||
97+ return !read_state_.done_adding_result_tiles () ||
9898 memory_used_for_coords_total_ != 0 ;
9999}
100100
@@ -131,7 +131,7 @@ Status SparseGlobalOrderReader<BitmapType>::dowork() {
131131
132132 // Handle empty array.
133133 if (fragment_metadata_.empty ()) {
134- read_state_.done_adding_result_tiles_ = true ;
134+ read_state_.set_done_adding_result_tiles ( true ) ;
135135 return Status::Ok ();
136136 }
137137
@@ -416,7 +416,7 @@ SparseGlobalOrderReader<BitmapType>::create_result_tiles(
416416 auto tile_num = fragment_metadata_[f]->tile_num ();
417417
418418 // Figure out the start index.
419- auto start = read_state_.frag_idx_ [f].tile_idx_ ;
419+ auto start = read_state_.frag_idx () [f].tile_idx_ ;
420420 if (!result_tiles[f].empty ()) {
421421 start = std::max (start, result_tiles[f].back ().tile_idx () + 1 );
422422 }
@@ -470,7 +470,7 @@ SparseGlobalOrderReader<BitmapType>::create_result_tiles(
470470 logger_->debug (" All result tiles loaded" );
471471 }
472472
473- read_state_.done_adding_result_tiles_ = done_adding_result_tiles;
473+ read_state_.set_done_adding_result_tiles ( done_adding_result_tiles) ;
474474
475475 // Return the list of tiles added.
476476 std::vector<ResultTile*> created_tiles;
@@ -789,8 +789,8 @@ bool SparseGlobalOrderReader<BitmapType>::add_next_cell_to_queue(
789789 // Increment the tile index, which should clear all tiles in
790790 // end_iteration.
791791 if (!result_tiles[frag_idx].empty ()) {
792- read_state_.frag_idx_ [frag_idx].tile_idx_ ++ ;
793- read_state_.frag_idx_ [ frag_idx]. cell_idx_ = 0 ;
792+ uint64_t new_tile_idx = read_state_.frag_idx () [frag_idx].tile_idx_ + 1 ;
793+ read_state_.set_frag_idx ( frag_idx, FragIdx (new_tile_idx, 0 )) ;
794794 }
795795
796796 // This fragment has more tiles potentially.
@@ -876,11 +876,11 @@ void SparseGlobalOrderReader<BitmapType>::compute_hilbert_values(
876876template <class BitmapType >
877877void SparseGlobalOrderReader<BitmapType>::update_frag_idx(
878878 GlobalOrderResultTile<BitmapType>* tile, uint64_t c) {
879- auto & frag_idx = read_state_.frag_idx_ [tile->frag_idx ()];
879+ auto & frag_idx = read_state_.frag_idx () [tile->frag_idx ()];
880880 auto t = tile->tile_idx ();
881881 if ((t == frag_idx.tile_idx_ && c > frag_idx.cell_idx_ ) ||
882882 t > frag_idx.tile_idx_ ) {
883- frag_idx = FragIdx (t, c);
883+ read_state_. set_frag_idx (tile-> frag_idx (), FragIdx (t, c) );
884884 }
885885}
886886
@@ -932,8 +932,8 @@ SparseGlobalOrderReader<BitmapType>::merge_result_cell_slabs(
932932
933933 // Add the tile to the queue.
934934 uint64_t cell_idx =
935- read_state_.frag_idx_ [f].tile_idx_ == rt_it[f]->tile_idx () ?
936- read_state_.frag_idx_ [f].cell_idx_ :
935+ read_state_.frag_idx () [f].tile_idx_ == rt_it[f]->tile_idx () ?
936+ read_state_.frag_idx () [f].cell_idx_ :
937937 0 ;
938938 GlobalOrderResultCoords rc (&*(rt_it[f]), cell_idx);
939939 bool res = add_next_cell_to_queue (
@@ -1716,8 +1716,9 @@ SparseGlobalOrderReader<BitmapType>::respect_copy_memory_budget(
17161716 while (result_cell_slabs.size () > max_cs_idx) {
17171717 // Revert progress for this slab in read state, and pop it.
17181718 auto & last_rcs = result_cell_slabs.back ();
1719- read_state_.frag_idx_ [last_rcs.tile_ ->frag_idx ()] =
1720- FragIdx (last_rcs.tile_ ->tile_idx (), last_rcs.start_ );
1719+ read_state_.set_frag_idx (
1720+ last_rcs.tile_ ->frag_idx (),
1721+ FragIdx (last_rcs.tile_ ->tile_idx (), last_rcs.start_ ));
17211722 result_cell_slabs.pop_back ();
17221723 }
17231724
@@ -1758,8 +1759,9 @@ SparseGlobalOrderReader<BitmapType>::compute_var_size_offsets(
17581759 while (query_buffer.original_buffer_var_size_ < new_var_buffer_size) {
17591760 // Revert progress for this slab in read state, and pop it.
17601761 auto & last_rcs = result_cell_slabs.back ();
1761- read_state_.frag_idx_ [last_rcs.tile_ ->frag_idx ()] =
1762- FragIdx (last_rcs.tile_ ->tile_idx (), last_rcs.start_ );
1762+ read_state_.set_frag_idx (
1763+ last_rcs.tile_ ->frag_idx (),
1764+ FragIdx (last_rcs.tile_ ->tile_idx (), last_rcs.start_ ));
17631765 result_cell_slabs.pop_back ();
17641766
17651767 // Update the new var buffer size.
@@ -1787,8 +1789,10 @@ SparseGlobalOrderReader<BitmapType>::compute_var_size_offsets(
17871789 new_var_buffer_size = ((OffType*)query_buffer.buffer_ )[total_cells];
17881790
17891791 // Update the cell progress.
1790- read_state_.frag_idx_ [last_rcs.tile_ ->frag_idx ()] =
1791- FragIdx (last_rcs.tile_ ->tile_idx (), last_rcs.start_ + last_rcs.length_ );
1792+ read_state_.set_frag_idx (
1793+ last_rcs.tile_ ->frag_idx (),
1794+ FragIdx (
1795+ last_rcs.tile_ ->tile_idx (), last_rcs.start_ + last_rcs.length_ ));
17921796
17931797 // Remove empty cell slab.
17941798 if (last_rcs.length_ == 0 ) {
@@ -2192,7 +2196,7 @@ void SparseGlobalOrderReader<BitmapType>::end_iteration(
21922196 storage_manager_->compute_tp (), 0 , fragment_num, [&](uint64_t f) {
21932197 while (!result_tiles[f].empty () &&
21942198 result_tiles[f].front ().tile_idx () <
2195- read_state_.frag_idx_ [f].tile_idx_ ) {
2199+ read_state_.frag_idx () [f].tile_idx_ ) {
21962200 remove_result_tile (f, result_tiles[f].begin (), result_tiles);
21972201 }
21982202
0 commit comments