From ee99f8d2dd0631b20ff78026f716c6c8a40411ae Mon Sep 17 00:00:00 2001 From: Daniel Grittner Date: Tue, 25 Jul 2023 22:35:14 +0200 Subject: [PATCH] fix: seralization for insertion_index and insertion_column --- .../silo/storage/column/insertion_column.h | 4 +++- include/silo/storage/column/insertion_index.h | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/silo/storage/column/insertion_column.h b/include/silo/storage/column/insertion_column.h index 4b40a2a9e..5a7d4d8fc 100644 --- a/include/silo/storage/column/insertion_column.h +++ b/include/silo/storage/column/insertion_column.h @@ -28,7 +28,8 @@ class InsertionColumnPartition { template [[maybe_unused]] void serialize(Archive& archive, const uint32_t /* version */) { // clang-format off - archive& values; + archive & values; + archive & insertion_index; // clang-format on } @@ -60,6 +61,7 @@ class InsertionColumn { template [[maybe_unused]] void serialize(Archive& archive, const uint32_t /* version */) { // clang-format off + archive & *lookup; // clang-format on } diff --git a/include/silo/storage/column/insertion_index.h b/include/silo/storage/column/insertion_index.h index b33b01601..0e4ccd111 100644 --- a/include/silo/storage/column/insertion_index.h +++ b/include/silo/storage/column/insertion_index.h @@ -34,10 +34,21 @@ class InsertionIndex { [[maybe_unused]] void serialize(Archive& archive, const uint32_t /* version */) { // clang-format off archive & insertion_positions; + archive & collected_insertions; // clang-format on } struct Insertion { + friend class boost::serialization::access; + + template + [[maybe_unused]] void serialize(Archive& archive, const uint32_t /* version */) { + // clang-format off + archive & value; + archive & sequence_ids; + // clang-format on + } + std::string value; sequence_ids_t sequence_ids; }; @@ -47,6 +58,16 @@ class InsertionIndex { using three_mer_index_t = silo::NucleotideSymbolMap; struct InsertionPosition { + friend class boost::serialization::access; + + template + [[maybe_unused]] void serialize(Archive& archive, const uint32_t /* version */) { + // clang-format off + archive & insertions; + archive & three_mer_index; + // clang-format on + } + std::vector insertions; three_mer_index_t three_mer_index;