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

Function array_create_deserialize

tiledb/sm/serialization/array_schema.cc:1340–1380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1338}
1339
1340std::pair<std::string, shared_ptr<ArraySchema>> array_create_deserialize(
1341 SerializationType serialize_type,
1342 span<const char> serialized_buffer,
1343 shared_ptr<MemoryTracker> memory_tracker) {
1344 capnp::ArrayCreateRequest::Reader array_create_reader;
1345 ::capnp::MallocMessageBuilder message_builder;
1346
1347 try {
1348 switch (serialize_type) {
1349 case SerializationType::JSON: {
1350 capnp::ArrayCreateRequest::Builder array_create_builder =
1351 message_builder.initRoot<capnp::ArrayCreateRequest>();
1352 utils::decode_json_message(serialized_buffer, array_create_builder);
1353 array_create_reader = array_create_builder.asReader();
1354 return array_create_from_capnp(array_create_reader, memory_tracker);
1355 }
1356 case SerializationType::CAPNP: {
1357 const auto mBytes =
1358 reinterpret_cast<const kj::byte*>(serialized_buffer.data());
1359 ::capnp::FlatArrayMessageReader reader(kj::arrayPtr(
1360 reinterpret_cast<const ::capnp::word*>(mBytes),
1361 serialized_buffer.size() / sizeof(::capnp::word)));
1362 array_create_reader = reader.getRoot<capnp::ArrayCreateRequest>();
1363 return array_create_from_capnp(array_create_reader, memory_tracker);
1364 }
1365 default: {
1366 throw ArraySchemaSerializationException(
1367 "Error deserializing array creation request; Unknown serialization "
1368 "type passed");
1369 }
1370 }
1371 } catch (kj::Exception& e) {
1372 throw ArraySchemaSerializationException(
1373 "Error deserializing array creation request; kj::Exception: " +
1374 std::string(e.getDescription().cStr()));
1375 } catch (std::exception& e) {
1376 throw ArraySchemaSerializationException(
1377 "Error deserializing array creation request; exception " +
1378 std::string(e.what()));
1379 }
1380}
1381
1382Status nonempty_domain_serialize(
1383 const Dimension* dimension,

Callers 1

Calls 8

decode_json_messageFunction · 0.85
array_create_from_capnpFunction · 0.85
asReaderMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
whatMethod · 0.45

Tested by

no test coverage detected