From a50fc3184bf266d0d68f5443c32b37012e464dee Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 10 Sep 2025 09:12:41 +0200 Subject: [PATCH] Minor attribute count fixes --- src/serializers/RocksDbSerializer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/serializers/RocksDbSerializer.cpp b/src/serializers/RocksDbSerializer.cpp index ee8e132a7a..014b519807 100644 --- a/src/serializers/RocksDbSerializer.cpp +++ b/src/serializers/RocksDbSerializer.cpp @@ -146,7 +146,7 @@ void RocksDbSerializer::write_streaming_() { std::vector simple_type_instances; - for (size_t i = 0; i < decl->as_entity()->attribute_count(); i++) { + for (size_t i = 0; i < data.storage_->size(); i++) { auto val = data.get_attribute_value(nullptr, decl, 0, i); val.apply_visitor([&](const auto& t) { using T = std::decay_t; @@ -252,9 +252,11 @@ void RocksDbSerializer::write_streaming_() { } auto val = inst->get_attribute_value(0); - val.apply_visitor([&](const auto& t) { - rocks_db_attribute_storage{}.set(&storage, &inst->declaration(), inst->identity(), 0, t); - }); + if (val.array_.storage_ptr->size() > 0) { + val.apply_visitor([&](const auto& t) { + rocks_db_attribute_storage{}.set(&storage, &inst->declaration(), inst->identity(), 0, t); + }); + } // @nb we also need to delete them delete inst;