From 5f4983d6dab4101ab07da4c0227f6d8103cb9c3a Mon Sep 17 00:00:00 2001 From: Jochen Topf Date: Mon, 28 Jul 2025 19:46:35 +0200 Subject: [PATCH] Fix: Untagged member nodes of relations not found When looking up member nodes in the RAM middle: Only tagged nodes are in the object store, untagged nodes were not added to the result. This change adds nodes not found in the object store with just their ID. Later code will then find and add the locations. --- src/middle-ram.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/middle-ram.cpp b/src/middle-ram.cpp index e670fecf3..2a06201c9 100644 --- a/src/middle-ram.cpp +++ b/src/middle-ram.cpp @@ -341,21 +341,20 @@ middle_ram_t::rel_members_get(osmium::Relation const &rel, switch (member.type()) { case osmium::item_type::node: if (m_store_options.nodes) { - auto const offset = - m_object_index.nodes().get(member.ref()); + auto const offset = m_object_index.nodes().get(member.ref()); if (offset != ordered_index_t::not_found_value()) { buffer->add_item(m_object_buffer.get(offset)); buffer->commit(); ++count; + continue; } - } else { - { - osmium::builder::NodeBuilder builder{*buffer}; - builder.set_id(member.ref()); - } - buffer->commit(); - ++count; } + { + osmium::builder::NodeBuilder builder{*buffer}; + builder.set_id(member.ref()); + } + buffer->commit(); + ++count; break; case osmium::item_type::way: if (m_store_options.ways) {