--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
To fix two important issues affecting the version in bullseye,
I would like to upload these changes to unstable.
Do you agree that these changes are appropriate for a freeze exception?
[ Reason ]
Fixes important issues.
[ Impact ]
Poor performance and errors.
[ Tests ]
Upstream CI.
[ Risks ]
Low.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
N/A
unblock osm2pgsql/1.4.1+ds-2
Kind Regards,
Bas
diff -Nru osm2pgsql-1.4.1+ds/debian/changelog osm2pgsql-1.4.1+ds/debian/changelog
--- osm2pgsql-1.4.1+ds/debian/changelog 2021-02-04 05:23:03.000000000 +0100
+++ osm2pgsql-1.4.1+ds/debian/changelog 2021-04-07 15:59:14.000000000 +0200
@@ -1,3 +1,14 @@
+osm2pgsql (1.4.1+ds-2) unstable; urgency=medium
+
+ * Update watch file for GitHub URL changes.
+ * Add upstream patches:
+ - 0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch
+ Important performance fix.
+ - 0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch
+ Fix CREATE INDEX failure.
+
+ -- Bas Couwenberg <sebastic@debian.org> Wed, 07 Apr 2021 15:59:14 +0200
+
osm2pgsql (1.4.1+ds-1) unstable; urgency=medium
* New upstream release.
diff -Nru osm2pgsql-1.4.1+ds/debian/patches/0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch osm2pgsql-1.4.1+ds/debian/patches/0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch
--- osm2pgsql-1.4.1+ds/debian/patches/0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-1.4.1+ds/debian/patches/0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch 2021-04-07 15:56:01.000000000 +0200
@@ -0,0 +1,31 @@
+Description: Bugfix: Disable expire in flex output when not used
+ If we don't have expire enabled we never need to create an expire list.
+ But as a side effect of the two-stage processing we created such a list
+ which costs a lot of time and RAM. This commit disables this which
+ speeds up processing considerably.
+Author: Jochen Topf <jochen@topf.org>
+Origin: https://github.com/openstreetmap/osm2pgsql/issues/1436
+Bug: https://github.com/openstreetmap/osm2pgsql/issues/1436
+
+--- a/src/expire-tiles.hpp
++++ b/src/expire-tiles.hpp
+@@ -60,6 +60,8 @@ struct expire_tiles
+ expire_tiles(uint32_t maxzoom, double maxbbox,
+ const std::shared_ptr<reprojection> &projection);
+
++ bool enabled() const noexcept { return maxzoom != 0; }
++
+ int from_bbox(double min_lon, double min_lat, double max_lon,
+ double max_lat);
+ void from_wkb(char const *wkb, osmid_t osm_id);
+--- a/src/output-flex.cpp
++++ b/src/output-flex.cpp
+@@ -1289,7 +1289,7 @@ void output_flex_t::delete_from_table(ta
+ assert(table_connection);
+ auto const id = table_connection->table().map_id(type, osm_id);
+
+- if (table_connection->table().has_geom_column()) {
++ if (m_expire.enabled() && table_connection->table().has_geom_column()) {
+ auto const result = table_connection->get_geom_by_id(type, id);
+
+ if (result.num_tuples() == 0) {
diff -Nru osm2pgsql-1.4.1+ds/debian/patches/0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch osm2pgsql-1.4.1+ds/debian/patches/0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch
--- osm2pgsql-1.4.1+ds/debian/patches/0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-1.4.1+ds/debian/patches/0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch 2021-04-07 15:56:19.000000000 +0200
@@ -0,0 +1,21 @@
+Description: Bug fix: Remove schema name from CREATE INDEX
+ Indexes are always created in the same schema as the table.
+Author: Jochen Topf <jochen@topf.org>
+Origin: https://github.com/openstreetmap/osm2pgsql/issues/1436
+Bug: https://github.com/openstreetmap/osm2pgsql/issues/1447
+
+--- a/src/middle-pgsql.cpp
++++ b/src/middle-pgsql.cpp
+@@ -714,9 +714,9 @@ static table_sql sql_for_ways(bool has_b
+ " SELECT ARRAY(SELECT DISTINCT"
+ " unnest($1) >> {way_node_index_id_shift})\n"
+ "$$ LANGUAGE SQL IMMUTABLE;\n"
+- "CREATE INDEX {schema}{prefix}_ways_nodes_bucket_idx"
+- " ON {schema}{prefix}_ways"
+- " USING GIN ({schema}{prefix}_index_bucket(nodes))"
++ "CREATE INDEX \"{prefix}_ways_nodes_bucket_idx\""
++ " ON {schema}\"{prefix}_ways\""
++ " USING GIN ({schema}\"{prefix}_index_bucket\"(nodes))"
+ " WITH (fastupdate = off) {index_tablespace};\n";
+ }
+
diff -Nru osm2pgsql-1.4.1+ds/debian/patches/series osm2pgsql-1.4.1+ds/debian/patches/series
--- osm2pgsql-1.4.1+ds/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-1.4.1+ds/debian/patches/series 2021-04-07 15:52:06.000000000 +0200
@@ -0,0 +1,2 @@
+0001-Bugfix-Disable-expire-in-flex-output-when-not-used.patch
+0001-Bug-fix-Remove-schema-name-from-CREATE-INDEX.patch
diff -Nru osm2pgsql-1.4.1+ds/debian/watch osm2pgsql-1.4.1+ds/debian/watch
--- osm2pgsql-1.4.1+ds/debian/watch 2020-12-12 07:13:52.000000000 +0100
+++ osm2pgsql-1.4.1+ds/debian/watch 2021-04-07 15:31:29.000000000 +0200
@@ -5,4 +5,4 @@
filenamemangle=s/(?:.*?\/)?(?:rel|v|osm2pgsql)?[\-\_]?(\d\S+)\.(tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))/osm2pgsql-$1.$2/,\
repacksuffix=+ds \
https://github.com/openstreetmap/osm2pgsql/releases \
-(?:.*?/archive/)?(?:rel|v|osm2pgsql)?[\-\_]?(\d\S+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+(?:.*?/archive/(?:.*?/)?)?(?:rel|v|osm2pgsql)?[\-\_]?(\d\S+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
--- End Message ---