Skip to content

Commit 5e4a108

Browse files
committed
address comments
1 parent 96741af commit 5e4a108

File tree

1 file changed

+20
-26
lines changed

1 file changed

+20
-26
lines changed

src/iceberg/table_metadata.cc

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <algorithm>
2323
#include <chrono>
2424
#include <format>
25+
#include <ranges>
2526
#include <string>
2627

2728
#include <nlohmann/json.hpp>
@@ -184,44 +185,37 @@ Result<TableMetadataCache::SnapshotsMapRef> TableMetadataCache::GetSnapshotsById
184185

185186
Result<TableMetadataCache::SchemasMap> TableMetadataCache::InitSchemasMap(
186187
const TableMetadata* metadata) {
187-
SchemasMap schemas_map;
188-
schemas_map.reserve(metadata->schemas.size());
189-
for (const auto& schema : metadata->schemas) {
190-
if (schema->schema_id()) {
191-
schemas_map.emplace(schema->schema_id().value(), schema);
192-
}
193-
}
194-
return schemas_map;
188+
return metadata->schemas | std::views::filter([](const auto& schema) {
189+
return schema->schema_id().has_value();
190+
}) |
191+
std::views::transform([](const auto& schema) {
192+
return std::pair(schema->schema_id().value(), schema);
193+
}) |
194+
std::ranges::to<SchemasMap>();
195195
}
196196

197197
Result<TableMetadataCache::PartitionSpecsMap> TableMetadataCache::InitPartitionSpecsMap(
198198
const TableMetadata* metadata) {
199-
PartitionSpecsMap partition_specs_map;
200-
partition_specs_map.reserve(metadata->partition_specs.size());
201-
for (const auto& spec : metadata->partition_specs) {
202-
partition_specs_map.emplace(spec->spec_id(), spec);
203-
}
204-
return partition_specs_map;
199+
return metadata->partition_specs | std::views::transform([](const auto& spec) {
200+
return std::pair(spec->spec_id(), spec);
201+
}) |
202+
std::ranges::to<PartitionSpecsMap>();
205203
}
206204

207205
Result<TableMetadataCache::SortOrdersMap> TableMetadataCache::InitSortOrdersMap(
208206
const TableMetadata* metadata) {
209-
SortOrdersMap sort_orders_map;
210-
sort_orders_map.reserve(metadata->sort_orders.size());
211-
for (const auto& order : metadata->sort_orders) {
212-
sort_orders_map.emplace(order->order_id(), order);
213-
}
214-
return sort_orders_map;
207+
return metadata->sort_orders | std::views::transform([](const auto& order) {
208+
return std::pair(order->order_id(), order);
209+
}) |
210+
std::ranges::to<SortOrdersMap>();
215211
}
216212

217213
Result<TableMetadataCache::SnapshotsMap> TableMetadataCache::InitSnapshotMap(
218214
const TableMetadata* metadata) {
219-
SnapshotsMap snapshots_map;
220-
snapshots_map.reserve(metadata->snapshots.size());
221-
for (const auto& snapshot : metadata->snapshots) {
222-
snapshots_map.emplace(snapshot->snapshot_id, snapshot);
223-
}
224-
return snapshots_map;
215+
return metadata->snapshots | std::views::transform([](const auto& snapshot) {
216+
return std::pair(snapshot->snapshot_id, snapshot);
217+
}) |
218+
std::ranges::to<SnapshotsMap>();
225219
}
226220

227221
// TableMetadataUtil implementation

0 commit comments

Comments
 (0)