@@ -190,6 +190,7 @@ void load_enumerations_response_to_capnp(
190190std::unordered_map<std::string, std::vector<shared_ptr<const Enumeration>>>
191191load_enumerations_response_from_capnp (
192192 const capnp::LoadEnumerationsResponse::Reader& reader,
193+ const Array& array,
193194 shared_ptr<MemoryTracker> memory_tracker) {
194195 std::unordered_map<std::string, std::vector<shared_ptr<const Enumeration>>>
195196 ret;
@@ -202,7 +203,7 @@ load_enumerations_response_from_capnp(
202203 }
203204 // The name of the array schema will not be used if we only loaded
204205 // enumerations on the latest array schema.
205- return {{" " , loaded_enmrs}};
206+ return {{array. array_schema_latest (). name () , loaded_enmrs}};
206207 } else if (reader.hasAllEnumerations ()) {
207208 auto all_enmrs_reader = reader.getAllEnumerations ();
208209 for (auto enmr_entry_reader : all_enmrs_reader.getEntries ()) {
@@ -343,6 +344,7 @@ void serialize_load_enumerations_response(
343344
344345std::unordered_map<std::string, std::vector<shared_ptr<const Enumeration>>>
345346deserialize_load_enumerations_response (
347+ const Array& array,
346348 SerializationType serialize_type,
347349 span<const char > response,
348350 shared_ptr<MemoryTracker> memory_tracker) {
@@ -355,7 +357,8 @@ deserialize_load_enumerations_response(
355357 message_builder.initRoot <capnp::LoadEnumerationsResponse>();
356358 json.decode (kj::StringPtr (response.data (), response.size ()), builder);
357359 capnp::LoadEnumerationsResponse::Reader reader = builder.asReader ();
358- return load_enumerations_response_from_capnp (reader, memory_tracker);
360+ return load_enumerations_response_from_capnp (
361+ reader, array, memory_tracker);
359362 }
360363 case SerializationType::CAPNP: {
361364 const auto mBytes = reinterpret_cast <const kj::byte*>(response.data ());
@@ -364,7 +367,8 @@ deserialize_load_enumerations_response(
364367 response.size () / sizeof (::capnp::word)));
365368 capnp::LoadEnumerationsResponse::Reader reader =
366369 array_reader.getRoot <capnp::LoadEnumerationsResponse>();
367- return load_enumerations_response_from_capnp (reader, memory_tracker);
370+ return load_enumerations_response_from_capnp (
371+ reader, array, memory_tracker);
368372 }
369373 default : {
370374 throw EnumerationSerializationException (
@@ -408,7 +412,10 @@ void serialize_load_enumerations_response(
408412
409413std::unordered_map<std::string, std::vector<shared_ptr<const Enumeration>>>
410414deserialize_load_enumerations_response (
411- SerializationType, span<const char >, shared_ptr<MemoryTracker>) {
415+ const Array&,
416+ SerializationType,
417+ span<const char >,
418+ shared_ptr<MemoryTracker>) {
412419 throw EnumerationSerializationDisabledException ();
413420}
414421
0 commit comments