Skip to content

Commit 68775e5

Browse files
fix
1 parent 184c8ab commit 68775e5

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

ydb/core/tx/columnshard/engines/reader/common_reader/iterator/sub_columns_fetching.h

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ class TColumnChunkRestoreInfo {
4343
THashMap<TString, TSubColumnChunkRestoreInfo> Chunks;
4444
YDB_ACCESSOR_DEF(std::optional<TBlobRange>, HeaderRange);
4545
std::shared_ptr<NArrow::NAccessor::TSubColumnsPartialArray> PartialArray;
46-
YDB_READONLY(bool, NeedToAddResource, false);
4746
YDB_READONLY_DEF(TBlobRange, FullChunkRange);
4847
YDB_ACCESSOR_DEF(std::optional<TBlobRange>, OthersReadData);
4948
YDB_READONLY_DEF(std::optional<TString>, OthersBlobs);
@@ -115,15 +114,13 @@ class TColumnChunkRestoreInfo {
115114
AFL_VERIFY(!!HeaderRange);
116115
AFL_VERIFY(!PartialArray);
117116
HeaderRange = std::nullopt;
118-
NeedToAddResource = true;
119117
PartialArray = NArrow::NAccessor::NSubColumns::TConstructor::BuildPartialReader(blob, ChunkExternalInfo).DetachResult();
120118
}
121119

122120
void InitPartialReader(
123121
const ui32 columnId, const ui32 positionStart, const std::shared_ptr<NArrow::NAccessor::TAccessorsCollection>& resources) {
124122
AFL_VERIFY(!HeaderRange);
125123
AFL_VERIFY(!PartialArray);
126-
NeedToAddResource = false;
127124
auto columnAccessor = resources->GetAccessorVerified(columnId);
128125
auto partialArray = columnAccessor->GetArraySlow(positionStart, columnAccessor);
129126
AFL_VERIFY(partialArray.GetArray()->GetType() == NArrow::NAccessor::IChunkedArray::EType::SubColumnsPartialArray);
@@ -164,16 +161,9 @@ class TSubColumnsFetchLogic: public IKernelFetchLogic {
164161

165162
std::vector<TColumnChunkRestoreInfo> ColumnChunks;
166163
std::optional<TString> StorageId;
164+
bool NeedToAddResource = false;
167165
virtual void DoOnDataCollected() override {
168-
std::optional<bool> needToAddResource;
169-
for (auto&& i : ColumnChunks) {
170-
if (!needToAddResource) {
171-
needToAddResource = i.GetNeedToAddResource();
172-
} else {
173-
AFL_VERIFY(needToAddResource == i.GetNeedToAddResource());
174-
}
175-
}
176-
if (*needToAddResource) {
166+
if (NeedToAddResource) {
177167
NArrow::NAccessor::TCompositeChunkedArray::TBuilder compositeBuilder(ChunkExternalInfo.GetColumnType());
178168
for (auto&& i : ColumnChunks) {
179169
i.Finish(nullptr);
@@ -241,14 +231,14 @@ class TSubColumnsFetchLogic: public IKernelFetchLogic {
241231
auto itFilter = cFilter.GetIterator(false, Source->GetRecordsCount());
242232
bool itFinished = false;
243233

244-
const bool hasColumn = Resources->HasColumn(GetColumnId());
234+
NeedToAddResource = !Resources->HasColumn(GetColumnId());
245235
ui32 posCurrent = 0;
246236
for (auto&& c : columnChunks) {
247237
AFL_VERIFY(!itFinished);
248238
if (!itFilter.IsBatchForSkip(c->GetMeta().GetRecordsCount())) {
249239
const TBlobRange range = Source->RestoreBlobRange(c->BlobRange);
250240
ColumnChunks.emplace_back(range, ChunkExternalInfo.GetSubset(c->GetMeta().GetRecordsCount()));
251-
if (hasColumn) {
241+
if (!NeedToAddResource) {
252242
ColumnChunks.back().InitPartialReader(GetColumnId(), posCurrent, Resources);
253243
}
254244
ColumnChunks.back().InitReading(reading, SubColumns);

0 commit comments

Comments
 (0)