From 4a453483f6cf5b16c21f39b0d688afcf5b4f6649 Mon Sep 17 00:00:00 2001 From: Marvin Ritter Date: Wed, 28 Jun 2023 08:44:36 -0700 Subject: [PATCH] Internal change. PiperOrigin-RevId: 544068478 --- cpp/array_record_reader.cc | 10 +++++++++- cpp/array_record_reader.h | 4 +++- .../digits.array_record-00000-of-00002 | Bin 131072 -> 131072 bytes .../digits.array_record-00001-of-00002 | Bin 131072 -> 131072 bytes 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/cpp/array_record_reader.cc b/cpp/array_record_reader.cc index 8592112..bc7675e 100644 --- a/cpp/array_record_reader.cc +++ b/cpp/array_record_reader.cc @@ -313,6 +313,14 @@ void ArrayRecordReaderBase::Initialize() { } } +uint64_t ArrayRecordReaderBase::ChunkStartOffset(uint64_t chunk_idx) const { + return state_->chunk_offsets[chunk_idx]; +} + +uint64_t ArrayRecordReaderBase::ChunkEndOffset(uint64_t chunk_idx) const { + return state_->ChunkEndOffset(chunk_idx); +} + absl::Status ArrayRecordReaderBase::ParallelReadRecords( absl::FunctionRef callback) const { @@ -591,7 +599,7 @@ uint64_t ArrayRecordReaderBase::NumRecords() const { return state_->num_records; } -uint64_t ArrayRecordReaderBase::RecordGroupSize() { +uint64_t ArrayRecordReaderBase::RecordGroupSize() const { if (!ok()) { return 0; } diff --git a/cpp/array_record_reader.h b/cpp/array_record_reader.h index d573e2f..3a9d011 100644 --- a/cpp/array_record_reader.h +++ b/cpp/array_record_reader.h @@ -244,7 +244,7 @@ class ArrayRecordReaderBase : public riegeli::Object { // Number of records in each compressed chunk configured at the file writing // stage by `ArrayRecordWriterBase::Options::set_group_size`. The acutal // number of records per group could be smaller equals to this number. - uint64_t RecordGroupSize(); + uint64_t RecordGroupSize() const; // Index of the record to be read. uint64_t RecordIndex() const; @@ -287,6 +287,8 @@ class ArrayRecordReaderBase : public riegeli::Object { ArrayRecordReaderBase& operator=(ArrayRecordReaderBase&& other) noexcept; void Initialize(); + uint64_t ChunkStartOffset(uint64_t chunk_idx) const; + uint64_t ChunkEndOffset(uint64_t chunk_idx) const; virtual ThreadCompatibleSharedPtr get_backing_reader() const = 0; diff --git a/python/testdata/digits.array_record-00000-of-00002 b/python/testdata/digits.array_record-00000-of-00002 index ca4fd6fdb13e89cc86713cf40a83b994d374f800..c52a24852af195573bdc9ada0ccf415f9b646d01 100644 GIT binary patch delta 517 zcmZo@;Am*znBY*)VWd*?#6rB1g#iL?2^eeC`tw*9F+%uIih+TV(I7BYOMm6njGZvG z_oaV{ubyy7&I6!J^iLF;;Z-YO%ojE~w`!byu#x_v9YtWbH#Ho3b0DBDut&P<(C%37iU(bS{dq;6eZ>r7vvYGTBRlC z6sPJGB&Nidk2qT#L0Zg^DF6|WMGWF#82XWaJ!^#i&4#r{yn*$jo z|4m_(knpzt6Vxzx623YJ6;&_pka&N{t=F_#pO;B@gA6%j~>)|A}A|{AHF;u*YhY4&BlOO{_E?aRuh{M1T z%FJ-cO+vchI&Y?-lk-9|J+^k?SN3h+(z3ZM8m=u|P|MijB+I49^(dgjVPXE+U6P-o znVlsiRy^K2N&os1pOT~V`6f*7o^x~g$FysY_3BRU+qvM)-@VBa#hxOmfo5Cpi(8gR z9Y|(jWcYQng()I4yVoXtVf(Uw3=F&=X9)_Nl}oAY{#UU1BP0L6NleS8FiJ@Het5ce use8(Q9jL<#vdyJ!lXuLXYQQL}E^zO_>whih4xcRK=wQUn*_y*RhnEDR8Ey7}-o`KrBHMT`(Wlwx3DWHjBpq`1eRkLf;4 z?e9zZ`QL5Jmts+Cwq>CLU)Ww-Yna+S42P>L1g3+lN_-IePv{+}&f z#0C*)VgT9?25gCJZ0zjpT=5)?0<03OO5y26`K1N%#hF#9R)#tyMTvRE1^LCPR%wYj z#i=?4i7D|V`SD3P`N`SwN%^IDDTzguP`T2)!U*Pm08=fkOFKomOg*{&L0q=Qu<}E`gRxk_=0HZt ze^VGGB)o2Xnz1(bDwht_?eYQpju(dfxINW?QB<8{4wJyW1F!$JoI8B75I1LQ4&#*n E0EFO=cmMzZ delta 363 zcmZo@;Am*znBY*q&@)|A}A|{AHF;u*YhY4&BlOO{_E?aRuh{M1T z%FJ-cO+vchI&Y?-lk-9|J+^k?SN3h+(z3ZM8m=u|P|MijB+I49^(dgjVPXE+U6P-o znVlsiRy^K2N&os1pOT~V`6f*7o^x~g$FysY_3BRU+qvM)-@VBa#hxOmfo5Cpi(8gR z9Y|(jWcYQng()I4yVoXtVf(Uw3=F&=X9)_Nl}oAY{#UU1BP0L6NleS8FiJ@Het5ce use8(Q9jL<#vdyJ!lXuLXYQQL}E^zO_>whih4xcRK=wQUn*_y*R