[osm2pgsql] 01/02: Add upstream patches from 0.92.x branch to fix two important issues.
Bas Couwenberg
sebastic at debian.org
Thu Apr 13 21:15:33 UTC 2017
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 <sebastic at xs4all.nl>
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 <sebastic at debian.org> 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 <penorman at mac.com>
+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 <lonvia at denofr.de>
+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
More information about the Pkg-grass-devel
mailing list