This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository osm2pgsql.
commit 445b06cd1a2ebfbba643d39cb14da23f1f53bdf1 Author: Bas Couwenberg <[email protected]> Date: Thu Apr 13 22:59:30 2017 +0200 Add upstream patches from 0.92.x branch to fix two important issues. - Ignore relations with more than 32k members. There is a hard restriction in the pgsql middle tables, where relation members are indexed using a smallint. To remain consistent, drop all relations which exceed this size. https://github.com/openstreetmap/osm2pgsql/issues/713 - Use the same logic for queuing pending ways with multi and pgsql. Fixes ways disappearing from the output table. https://github.com/openstreetmap/osm2pgsql/issues/735 --- debian/changelog | 15 ++++++++++++ ...e-logic-for-queuing-pending-ways-with-mul.patch | 27 ++++++++++++++++++++++ ...nore-relations-with-more-than-32k-members.patch | 20 ++++++++++++++++ debian/patches/series | 2 ++ 4 files changed, 64 insertions(+) diff --git a/debian/changelog b/debian/changelog index 39af702..7a8ad05 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +osm2pgsql (0.92.0+ds-2) UNRELEASED; urgency=medium + + * Add upstream patches from 0.92.x branch to fix two important issues: + - Ignore relations with more than 32k members. + There is a hard restriction in the pgsql middle tables, where + relation members are indexed using a smallint. To remain + consistent, drop all relations which exceed this size. + https://github.com/openstreetmap/osm2pgsql/issues/713 + - Use the same logic for queuing pending ways with multi and pgsql. + Fixes ways disappearing from the output table. + https://github.com/openstreetmap/osm2pgsql/issues/735 + (closes: #860273) + + -- Bas Couwenberg <[email protected]> Thu, 13 Apr 2017 22:56:15 +0200 + osm2pgsql (0.92.0+ds-1) unstable; urgency=medium * New upstream release. diff --git a/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch b/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch new file mode 100644 index 0000000..ec4676b --- /dev/null +++ b/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch @@ -0,0 +1,27 @@ +Description: Use the same logic for queuing pending ways with multi and pgsql + Fixes ways disappearing from the output table. +Author: Paul Norman <[email protected]> +Origin: https://github.com/openstreetmap/osm2pgsql/commit/8ffe16e67da43fd531a5e73b10d31465324f4a91 +Bug: https://github.com/openstreetmap/osm2pgsql/issues/735 +Bug-Debian: https://bugs.debian.org/860273 + +--- a/output-multi.cpp ++++ b/output-multi.cpp +@@ -92,7 +92,7 @@ void output_multi_t::enqueue_ways(pendin + } + + //make sure to get this one as well and move to the next +- if(popped == id) { ++ if (popped > id) { + if (!ways_done_tracker->is_marked(popped) && id_tracker::is_valid(popped)) { + job_queue.push(pending_job_t(popped, output_id)); + added++; +@@ -143,7 +143,7 @@ void output_multi_t::enqueue_relations(p + } + + //make sure to get this one as well and move to the next +- if(popped == id) { ++ if (popped > id) { + if(id_tracker::is_valid(popped)) { + job_queue.push(pending_job_t(popped, output_id)); + added++; diff --git a/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch b/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch new file mode 100644 index 0000000..53b4767 --- /dev/null +++ b/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch @@ -0,0 +1,20 @@ +Description: ignore relations with more than 32k members + There is a hard restriction in the pgsql middle tables, where + relation members are indexed using a smallint. To remain + consistent, drop all relations which exceed this size. +Author: Sarah Hoffmann <[email protected]> +Origin: https://github.com/openstreetmap/osm2pgsql/commit/ec9c84edbcbd0dafab6d6c30290083e75c023890 +Bug: https://github.com/openstreetmap/osm2pgsql/issues/713 + +--- a/parse-osmium.cpp ++++ b/parse-osmium.cpp +@@ -176,6 +176,9 @@ void parse_osmium_t::relation(osmium::Re + if (rel.deleted()) { + m_data->relation_delete(rel.id()); + } else { ++ if (rel.members().size() > 32767) { ++ return; ++ } + convert_tags(rel); + convert_members(rel.members()); + if (m_append) { diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..acaf7fc --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0001-ignore-relations-with-more-than-32k-members.patch +0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osm2pgsql.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

