Skip to content

Commit e3d1166

Browse files
authored
Merge pull request #1135 from joto/middle-tests-id-tracker
Tests for middle around id-tracker
2 parents d263925 + 828b63e commit e3d1166

18 files changed

+226
-27
lines changed

src/id-tracker.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ osmid_t id_tracker::pop_mark()
185185
}
186186

187187
size_t id_tracker::size() const { return impl->count; }
188+
bool id_tracker::empty() const { return impl->count == 0; }
188189

189190
osmid_t id_tracker::last_returned() const { return impl->old_id; }
190191

src/id-tracker.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ struct id_tracker
3737
*/
3838
osmid_t pop_mark();
3939
size_t size() const;
40+
bool empty() const;
4041
osmid_t last_returned() const;
4142

4243
static bool is_valid(osmid_t);

src/middle-pgsql.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -804,7 +804,7 @@ middle_pgsql_t::get_query_instance()
804804
return std::shared_ptr<middle_query_t>(mid.release());
805805
}
806806

807-
size_t middle_pgsql_t::pending_count() const
807+
bool middle_pgsql_t::has_pending() const
808808
{
809-
return m_ways_pending_tracker->size() + m_rels_pending_tracker->size();
809+
return !m_ways_pending_tracker->empty() || !m_rels_pending_tracker->empty();
810810
}

src/middle-pgsql.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ struct middle_pgsql_t : public slim_middle_t
8383
void iterate_ways(middle_t::pending_processor &pf) override;
8484
void iterate_relations(pending_processor &pf) override;
8585

86-
size_t pending_count() const override;
86+
bool has_pending() const override;
8787

8888
class table_desc
8989
{

src/middle-ram.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ void middle_ram_t::iterate_relations(pending_processor &pf)
7676
pf.process_relations();
7777
}
7878

79-
size_t middle_ram_t::pending_count() const { return 0; }
80-
8179
void middle_ram_t::iterate_ways(middle_t::pending_processor &pf)
8280
{
8381
//let the outputs enqueue everything they have the non slim middle

src/middle-ram.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ struct middle_ram_t : public middle_t, public middle_query_t
118118
void iterate_ways(middle_t::pending_processor &pf) override;
119119
void iterate_relations(pending_processor &pf) override;
120120

121-
size_t pending_count() const override;
121+
bool has_pending() const override { return false; }
122122

123123
std::shared_ptr<middle_query_t> get_query_instance() override;
124124

src/middle.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ struct middle_t
133133
virtual void iterate_ways(pending_processor &pf) = 0;
134134
virtual void iterate_relations(pending_processor &pf) = 0;
135135

136-
virtual size_t pending_count() const = 0;
136+
virtual bool has_pending() const = 0;
137137

138138
virtual std::shared_ptr<middle_query_t> get_query_instance() = 0;
139139
};

src/osmdata.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,13 +403,13 @@ struct pending_threaded_processor : public middle_t::pending_processor
403403
*/
404404
bool osmdata_t::has_pending() const noexcept
405405
{
406-
if (m_mid->pending_count() > 0) {
406+
if (m_mid->has_pending()) {
407407
return true;
408408
}
409409

410410
return std::any_of(m_outs.cbegin(), m_outs.cend(),
411411
[](std::shared_ptr<output_t> const &out) {
412-
return out->pending_count() > 0;
412+
return out->has_pending();
413413
});
414414
}
415415

src/output-flex.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,15 +1412,15 @@ void output_flex_t::init_lua(std::string const &filename)
14121412
lua_remove(lua_state(), 1); // global "osm2pgsql"
14131413
}
14141414

1415-
std::size_t output_flex_t::pending_count() const
1415+
bool output_flex_t::has_pending() const
14161416
{
1417-
return m_ways_pending_tracker.size() + m_rels_pending_tracker.size();
1417+
return !m_ways_pending_tracker.empty() || !m_rels_pending_tracker.empty();
14181418
}
14191419

14201420
void output_flex_t::stage2_proc()
14211421
{
1422-
bool const has_marked_ways = m_stage2_ways_tracker->size() > 0;
1423-
bool const has_marked_rels = m_stage2_rels_tracker->size() > 0;
1422+
bool const has_marked_ways = !m_stage2_ways_tracker->empty();
1423+
bool const has_marked_rels = !m_stage2_rels_tracker->empty();
14241424

14251425
if (!has_marked_ways && !has_marked_rels) {
14261426
fmt::print(stderr, "Skipping stage 2 (no marked objects).\n");

src/output-flex.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class output_flex_t : public output_t
8181
void way_delete(osmid_t id) override;
8282
void relation_delete(osmid_t id) override;
8383

84-
std::size_t pending_count() const override;
84+
bool has_pending() const override;
8585

8686
void merge_pending_relations(output_t *other) override;
8787
void merge_expire_trees(output_t *other) override;

0 commit comments

Comments
 (0)