Skip to content

Commit 5f4983d

Browse files
committed
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.
1 parent a477419 commit 5f4983d

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/middle-ram.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -341,21 +341,20 @@ middle_ram_t::rel_members_get(osmium::Relation const &rel,
341341
switch (member.type()) {
342342
case osmium::item_type::node:
343343
if (m_store_options.nodes) {
344-
auto const offset =
345-
m_object_index.nodes().get(member.ref());
344+
auto const offset = m_object_index.nodes().get(member.ref());
346345
if (offset != ordered_index_t::not_found_value()) {
347346
buffer->add_item(m_object_buffer.get<osmium::Node>(offset));
348347
buffer->commit();
349348
++count;
349+
continue;
350350
}
351-
} else {
352-
{
353-
osmium::builder::NodeBuilder builder{*buffer};
354-
builder.set_id(member.ref());
355-
}
356-
buffer->commit();
357-
++count;
358351
}
352+
{
353+
osmium::builder::NodeBuilder builder{*buffer};
354+
builder.set_id(member.ref());
355+
}
356+
buffer->commit();
357+
++count;
359358
break;
360359
case osmium::item_type::way:
361360
if (m_store_options.ways) {

0 commit comments

Comments
 (0)