|
22 | 22 | #include <algorithm> |
23 | 23 | #include <chrono> |
24 | 24 | #include <format> |
25 | | -#include <ranges> |
26 | 25 | #include <string> |
27 | 26 |
|
28 | 27 | #include <nlohmann/json.hpp> |
@@ -185,37 +184,44 @@ Result<TableMetadataCache::SnapshotsMapRef> TableMetadataCache::GetSnapshotsById |
185 | 184 |
|
186 | 185 | Result<TableMetadataCache::SchemasMap> TableMetadataCache::InitSchemasMap( |
187 | 186 | const TableMetadata* metadata) { |
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>(); |
| 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; |
195 | 195 | } |
196 | 196 |
|
197 | 197 | Result<TableMetadataCache::PartitionSpecsMap> TableMetadataCache::InitPartitionSpecsMap( |
198 | 198 | const TableMetadata* metadata) { |
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>(); |
| 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; |
203 | 205 | } |
204 | 206 |
|
205 | 207 | Result<TableMetadataCache::SortOrdersMap> TableMetadataCache::InitSortOrdersMap( |
206 | 208 | const TableMetadata* metadata) { |
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>(); |
| 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; |
211 | 215 | } |
212 | 216 |
|
213 | 217 | Result<TableMetadataCache::SnapshotsMap> TableMetadataCache::InitSnapshotMap( |
214 | 218 | const TableMetadata* metadata) { |
215 | | - return metadata->snapshots | std::views::transform([](const auto& snapshot) { |
216 | | - return std::pair(snapshot->snapshot_id, snapshot); |
217 | | - }) | |
218 | | - std::ranges::to<SnapshotsMap>(); |
| 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; |
219 | 225 | } |
220 | 226 |
|
221 | 227 | // TableMetadataUtil implementation |
|
0 commit comments