|
42 | 42 | #include <string> |
43 | 43 |
|
44 | 44 | #include "tiledb/common/common.h" |
| 45 | +#include "tiledb/common/memory_tracker.h" |
45 | 46 | #include "tiledb/sm/enums/serialization_type.h" |
46 | 47 | #include "tiledb/sm/serialization/fragment_metadata.h" |
47 | 48 |
|
@@ -167,7 +168,9 @@ static FragmentMetadata::GenericTileOffsets generic_tile_offsets_from_capnp( |
167 | 168 |
|
168 | 169 | shared_ptr<FragmentMetadata> fragment_metadata_from_capnp( |
169 | 170 | const shared_ptr<const ArraySchema>& array_schema, |
170 | | - const capnp::FragmentMetadata::Reader& frag_meta_reader) { |
| 171 | + const capnp::FragmentMetadata::Reader& frag_meta_reader, |
| 172 | + ContextResources* resources, |
| 173 | + shared_ptr<MemoryTracker> memory_tracker) { |
171 | 174 | URI fragment_uri; |
172 | 175 | if (frag_meta_reader.hasFragmentUri()) { |
173 | 176 | // Reconstruct the fragment uri out of the received fragment name |
@@ -219,43 +222,55 @@ shared_ptr<FragmentMetadata> fragment_metadata_from_capnp( |
219 | 222 | utils::capnp_2d_list_to_vector<uint64_t>( |
220 | 223 | frag_meta_reader.hasTileOffsets(), |
221 | 224 | [&] { return frag_meta_reader.getTileOffsets(); }, |
| 225 | + memory_tracker->get_resource(MemoryType::TILE_OFFSETS), |
222 | 226 | num_dims_and_attrs), |
223 | 227 | utils::capnp_2d_list_to_vector<uint64_t>( |
224 | 228 | frag_meta_reader.hasTileVarOffsets(), |
225 | 229 | [&] { return frag_meta_reader.getTileVarOffsets(); }, |
| 230 | + memory_tracker->get_resource(MemoryType::TILE_OFFSETS), |
226 | 231 | num_dims_and_attrs), |
227 | 232 | utils::capnp_2d_list_to_vector<uint64_t>( |
228 | 233 | frag_meta_reader.hasTileVarSizes(), |
229 | 234 | [&] { return frag_meta_reader.getTileVarSizes(); }, |
| 235 | + memory_tracker->get_resource(MemoryType::TILE_OFFSETS), |
230 | 236 | num_dims_and_attrs), |
231 | 237 | utils::capnp_2d_list_to_vector<uint64_t>( |
232 | 238 | frag_meta_reader.hasTileValidityOffsets(), |
233 | 239 | [&] { return frag_meta_reader.getTileValidityOffsets(); }, |
| 240 | + memory_tracker->get_resource(MemoryType::TILE_OFFSETS), |
234 | 241 | num_dims_and_attrs), |
235 | 242 | utils::capnp_2d_list_to_vector<uint8_t>( |
236 | 243 | frag_meta_reader.hasTileMinBuffer(), |
237 | | - [&] { return frag_meta_reader.getTileMinBuffer(); }), |
| 244 | + [&] { return frag_meta_reader.getTileMinBuffer(); }, |
| 245 | + memory_tracker->get_resource(MemoryType::TILE_MIN_VALS)), |
238 | 246 | utils::capnp_2d_list_to_vector<uint8_t, char>( |
239 | 247 | frag_meta_reader.hasTileMinVarBuffer(), |
240 | | - [&] { return frag_meta_reader.getTileMinVarBuffer(); }), |
| 248 | + [&] { return frag_meta_reader.getTileMinVarBuffer(); }, |
| 249 | + memory_tracker->get_resource(MemoryType::TILE_MIN_VALS)), |
241 | 250 | utils::capnp_2d_list_to_vector<uint8_t>( |
242 | 251 | frag_meta_reader.hasTileMaxBuffer(), |
243 | | - [&] { return frag_meta_reader.getTileMaxBuffer(); }), |
| 252 | + [&] { return frag_meta_reader.getTileMaxBuffer(); }, |
| 253 | + memory_tracker->get_resource(MemoryType::TILE_MAX_VALS)), |
244 | 254 | utils::capnp_2d_list_to_vector<uint8_t, char>( |
245 | 255 | frag_meta_reader.hasTileMaxVarBuffer(), |
246 | | - [&] { return frag_meta_reader.getTileMaxVarBuffer(); }), |
| 256 | + [&] { return frag_meta_reader.getTileMaxVarBuffer(); }, |
| 257 | + memory_tracker->get_resource(MemoryType::TILE_MAX_VALS)), |
247 | 258 | utils::capnp_2d_list_to_vector<uint8_t>( |
248 | 259 | frag_meta_reader.hasTileSums(), |
249 | | - [&] { return frag_meta_reader.getTileSums(); }), |
| 260 | + [&] { return frag_meta_reader.getTileSums(); }, |
| 261 | + memory_tracker->get_resource(MemoryType::TILE_SUMS)), |
250 | 262 | utils::capnp_2d_list_to_vector<uint64_t>( |
251 | 263 | frag_meta_reader.hasTileNullCounts(), |
252 | | - [&] { return frag_meta_reader.getTileNullCounts(); }), |
| 264 | + [&] { return frag_meta_reader.getTileNullCounts(); }, |
| 265 | + memory_tracker->get_resource(MemoryType::TILE_NULL_COUNTS)), |
253 | 266 | utils::capnp_2d_list_to_vector<uint8_t>( |
254 | 267 | frag_meta_reader.hasFragmentMins(), |
255 | | - [&] { return frag_meta_reader.getFragmentMins(); }), |
| 268 | + [&] { return frag_meta_reader.getFragmentMins(); }, |
| 269 | + memory_tracker->get_resource(MemoryType::TILE_MIN_VALS)), |
256 | 270 | utils::capnp_2d_list_to_vector<uint8_t>( |
257 | 271 | frag_meta_reader.hasFragmentMaxs(), |
258 | | - [&] { return frag_meta_reader.getFragmentMaxs(); }), |
| 272 | + [&] { return frag_meta_reader.getFragmentMaxs(); }, |
| 273 | + memory_tracker->get_resource(MemoryType::TILE_MAX_VALS)), |
259 | 274 | utils::capnp_list_to_vector<uint64_t>( |
260 | 275 | frag_meta_reader.hasFragmentSums(), |
261 | 276 | [&] { return frag_meta_reader.getFragmentSums(); }), |
|
0 commit comments