Skip to content

Commit

Permalink
Merge 0a5d9e9 into c0d60de
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanmorozov333 authored Sep 8, 2024
2 parents c0d60de + 0a5d9e9 commit 137b3e4
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 12 deletions.
23 changes: 15 additions & 8 deletions ydb/core/tx/columnshard/engines/portions/portion_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -338,22 +338,29 @@ class TPortionInfo {
}

const TColumnRecord* GetRecordPointer(const TChunkAddress& address) const {
for (auto&& i : Records) {
if (i.GetAddress() == address) {
return &i;
}
auto it = std::lower_bound(Records.begin(), Records.end(), address, [](const TColumnRecord& item, const TChunkAddress& address) {
return item.GetAddress() < address;
});
if (it != Records.end() && it->GetAddress() == address) {
return &*it;
}
return nullptr;
}

bool HasEntityAddress(const TChunkAddress& address) const {
for (auto&& c : GetRecords()) {
if (c.GetAddress() == address) {
{
auto it = std::lower_bound(Records.begin(), Records.end(), address, [](const TColumnRecord& item, const TChunkAddress& address) {
return item.GetAddress() < address;
});
if (it != Records.end() && it->GetAddress() == address) {
return true;
}
}
for (auto&& c : GetIndexes()) {
if (c.GetAddress() == address) {
{
auto it = std::lower_bound(Indexes.begin(), Indexes.end(), address, [](const TIndexChunk& item, const TChunkAddress& address) {
return item.GetAddress() < address;
});
if (it != Indexes.end() && it->GetAddress() == address) {
return true;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ TFilteredSnapshotSchema::TFilteredSnapshotSchema(const ISnapshotSchema::TPtr& or
}

TColumnSaver TFilteredSnapshotSchema::GetColumnSaver(const ui32 columnId) const {
AFL_VERIFY(std::find(ColumnIds.begin(), ColumnIds.end(), columnId) != ColumnIds.end());
AFL_VERIFY(IdIntoIndex.contains(columnId));
return OriginalSnapshot->GetColumnSaver(columnId);
}

std::shared_ptr<TColumnLoader> TFilteredSnapshotSchema::GetColumnLoaderOptional(const ui32 columnId) const {
AFL_VERIFY(std::find(ColumnIds.begin(), ColumnIds.end(), columnId) != ColumnIds.end());
AFL_VERIFY(IdIntoIndex.contains(columnId));
return OriginalSnapshot->GetColumnLoaderOptional(columnId);
}

Expand All @@ -35,15 +35,15 @@ std::optional<ui32> TFilteredSnapshotSchema::GetColumnIdOptional(const std::stri
if (!result) {
return result;
}
if (std::find(ColumnIds.begin(), ColumnIds.end(), *result) == ColumnIds.end()) {
if (!IdIntoIndex.contains(*result)) {
return std::nullopt;
}
return result;
}

ui32 TFilteredSnapshotSchema::GetColumnIdVerified(const std::string& columnName) const {
auto result = OriginalSnapshot->GetColumnIdVerified(columnName);
AFL_VERIFY(std::find(ColumnIds.begin(), ColumnIds.end(), result) != ColumnIds.end());
AFL_VERIFY(IdIntoIndex.contains(result));
return result;
}

Expand Down

0 comments on commit 137b3e4

Please sign in to comment.