@@ -1007,7 +1007,7 @@ void output_flex_t::call_process_function(int index,
10071007 }
10081008}
10091009
1010- void output_flex_t::pending_way (osmid_t id, int exists)
1010+ void output_flex_t::pending_way (osmid_t id, bool exists)
10111011{
10121012 if (!m_has_process_way) {
10131013 return ;
@@ -1020,10 +1020,6 @@ void output_flex_t::pending_way(osmid_t id, int exists)
10201020
10211021 if (exists) {
10221022 way_delete (id);
1023- auto const rel_ids = m_mid->relations_using_way (id);
1024- for (auto const rel_id : rel_ids) {
1025- m_rels_pending_tracker.mark (rel_id);
1026- }
10271023 }
10281024
10291025 auto &way = m_buffer.get <osmium::Way>(0 );
@@ -1035,51 +1031,7 @@ void output_flex_t::pending_way(osmid_t id, int exists)
10351031 m_buffer.clear ();
10361032}
10371033
1038- void output_flex_t::enqueue_relations (pending_queue_t &job_queue, osmid_t id,
1039- std::size_t output_id, std::size_t &added)
1040- {
1041- if (!m_has_process_relation) {
1042- return ;
1043- }
1044-
1045- osmid_t const prev = m_rels_pending_tracker.last_returned ();
1046- if (id_tracker::is_valid (prev) && prev >= id) {
1047- if (prev > id) {
1048- job_queue.emplace (id, output_id);
1049- }
1050- // already done the job
1051- return ;
1052- }
1053-
1054- // make sure we get the one passed in
1055- if (id_tracker::is_valid (id)) {
1056- job_queue.emplace (id, output_id);
1057- ++added;
1058- }
1059-
1060- // grab the first one or bail if its not valid
1061- osmid_t popped = m_rels_pending_tracker.pop_mark ();
1062- if (!id_tracker::is_valid (popped)) {
1063- return ;
1064- }
1065-
1066- // get all the ones up to the id that was passed in
1067- while (popped < id) {
1068- job_queue.emplace (popped, output_id);
1069- ++added;
1070- popped = m_rels_pending_tracker.pop_mark ();
1071- }
1072-
1073- // make sure to get this one as well and move to the next
1074- if (popped > id) {
1075- if (id_tracker::is_valid (popped)) {
1076- job_queue.emplace (popped, output_id);
1077- ++added;
1078- }
1079- }
1080- }
1081-
1082- void output_flex_t::pending_relation (osmid_t id, int exists)
1034+ void output_flex_t::pending_relation (osmid_t id, bool exists)
10831035{
10841036 if (!m_has_process_relation) {
10851037 return ;
@@ -1373,11 +1325,6 @@ void output_flex_t::init_lua(std::string const &filename)
13731325 lua_remove (lua_state (), 1 ); // global "osm2pgsql"
13741326}
13751327
1376- bool output_flex_t::has_pending () const
1377- {
1378- return !m_rels_pending_tracker.empty ();
1379- }
1380-
13811328void output_flex_t::stage2_proc ()
13821329{
13831330 bool const has_marked_ways = !m_stage2_ways_tracker->empty ();
@@ -1447,18 +1394,6 @@ void output_flex_t::stage2_proc()
14471394 }
14481395}
14491396
1450- void output_flex_t::merge_pending_relations (output_t *other)
1451- {
1452- auto *opgsql = dynamic_cast <output_flex_t *>(other);
1453- if (opgsql) {
1454- osmid_t id;
1455- while (id_tracker::is_valid (
1456- (id = opgsql->m_rels_pending_tracker .pop_mark ()))) {
1457- m_rels_pending_tracker.mark (id);
1458- }
1459- }
1460- }
1461-
14621397void output_flex_t::merge_expire_trees (output_t *other)
14631398{
14641399 auto *opgsql = dynamic_cast <output_flex_t *>(other);
0 commit comments