MCPcopy Create free account
hub / github.com/TileDB-Inc/TileDB / array_directory_to_capnp

Function array_directory_to_capnp

tiledb/sm/serialization/array_directory.cc:57–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55#ifdef TILEDB_SERIALIZATION
56
57void array_directory_to_capnp(
58 const ArrayDirectory& array_directory,
59 capnp::ArrayDirectory::Builder* array_directory_builder) {
60 // set unfiltered fragment uris
61 const auto& unfiltered_fragment_uris =
62 array_directory.unfiltered_fragment_uris();
63 if (!unfiltered_fragment_uris.empty()) {
64 auto unfiltered_uris_builder =
65 array_directory_builder->initUnfilteredFragmentUris(
66 unfiltered_fragment_uris.size());
67 for (size_t i = 0; i < unfiltered_fragment_uris.size(); i++) {
68 const auto& relative_uri =
69 serialize_array_uri_to_relative(unfiltered_fragment_uris[i]);
70 unfiltered_uris_builder.set(i, relative_uri);
71 }
72 }
73
74 // set consolidated commit uris
75 const auto& consolidated_commit_uris =
76 array_directory.consolidated_commit_uris_set();
77 if (!consolidated_commit_uris.empty()) {
78 auto consolidated_commit_uris_builder =
79 array_directory_builder->initConsolidatedCommitUris(
80 consolidated_commit_uris.size());
81 size_t i = 0;
82 for (auto& uri : consolidated_commit_uris) {
83 const auto& relative_uri = serialize_array_uri_to_relative(URI(uri));
84 consolidated_commit_uris_builder.set(i++, relative_uri);
85 }
86 }
87
88 // set array schema uris
89 const auto& array_schema_uris = array_directory.array_schema_uris();
90 if (!array_schema_uris.empty()) {
91 auto array_schema_uris_builder =
92 array_directory_builder->initArraySchemaUris(array_schema_uris.size());
93 for (size_t i = 0; i < array_schema_uris.size(); i++) {
94 const auto& relative_uri =
95 serialize_array_uri_to_relative(array_schema_uris[i]);
96 array_schema_uris_builder.set(i, relative_uri);
97 }
98 }
99
100 // set latest array schema uri
101 if (!array_directory.latest_array_schema_uri().to_string().empty()) {
102 const auto& relative_uri = serialize_array_uri_to_relative(
103 array_directory.latest_array_schema_uri());
104 array_directory_builder->setLatestArraySchemaUri(relative_uri);
105 }
106
107 // set array meta uris to vacuum
108 const auto& array_meta_uris_to_vacuum =
109 array_directory.array_meta_uris_to_vacuum();
110 if (!array_meta_uris_to_vacuum.empty()) {
111 auto array_meta_uris_to_vacuum_builder =
112 array_directory_builder->initArrayMetaUrisToVacuum(
113 array_meta_uris_to_vacuum.size());
114 for (size_t i = 0; i < array_meta_uris_to_vacuum.size(); i++) {

Callers 2

array_to_capnpFunction · 0.85

Tested by

no test coverage detected