[osmosis] 04/14: Add patch from upstream master branch: 0001-Use-ALTER-TABLE-.-CLUSTER-ON-statements-to-set-what-.patch
Bas Couwenberg
sebastic at xs4all.nl
Thu Apr 10 21:38:49 UTC 2014
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch master
in repository osmosis.
commit 13cb9ac84b270dda0636812f156595848a755a61
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Thu Apr 10 20:20:05 2014 +0200
Add patch from upstream master branch: 0001-Use-ALTER-TABLE-.-CLUSTER-ON-statements-to-set-what-.patch
---
...ABLE-.-CLUSTER-ON-statements-to-set-what-.patch | 63 ++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/debian/patches/0001-Use-ALTER-TABLE-.-CLUSTER-ON-statements-to-set-what-.patch b/debian/patches/0001-Use-ALTER-TABLE-.-CLUSTER-ON-statements-to-set-what-.patch
new file mode 100644
index 0000000..4bc9aec
--- /dev/null
+++ b/debian/patches/0001-Use-ALTER-TABLE-.-CLUSTER-ON-statements-to-set-what-.patch
@@ -0,0 +1,63 @@
+From 789dc316cefb6208390e4376f66740406860a20a Mon Sep 17 00:00:00 2001
+From: Paul Norman <penorman at mac.com>
+Date: Thu, 30 May 2013 14:56:44 -0700
+Subject: Use ALTER TABLE ... CLUSTER ON statements to set what index to
+ CLUSTER on.
+Origin: https://github.com/openstreetmap/osmosis/commit/789dc316cefb6208390e4376f66740406860a20a
+
+This way it gets set even if the DB is not immediately CLUSTERed and the entire database can be re-CLUSTERed with just CLUSTER;
+
+Note: CLUSTERing nodes on a full-planet database probably isn't practical.
+
+--- a/package/script/pgsnapshot_load_0.6.sql
++++ b/package/script/pgsnapshot_load_0.6.sql
+@@ -36,6 +36,10 @@ CREATE INDEX idx_nodes_geom ON nodes USI
+ CREATE INDEX idx_way_nodes_node_id ON way_nodes USING btree (node_id);
+ CREATE INDEX idx_relation_members_member_id_and_type ON relation_members USING btree (member_id, member_type);
+
++ALTER TABLE ONLY nodes CLUSTER ON idx_nodes_geom;
++ALTER TABLE ONLY way_nodes CLUSTER ON pk_way_nodes;
++ALTER TABLE ONLY relation_members CLUSTER ON pk_relation_members;
++
+ -- Uncomment these if bbox or linestring columns are needed and the COPY files do not include them.
+
+ -- Update the bbox column of the way table.
+@@ -60,11 +64,16 @@ UPDATE ways w SET linestring = (
+ CREATE INDEX idx_ways_bbox ON ways USING gist (bbox);
+ CREATE INDEX idx_ways_linestring ON ways USING gist (linestring);
+
++ALTER TABLE ONLY ways CLUSTER ON idx_ways_bbox;
++ALTER TABLE ONLY ways CLUSTER ON idx_ways_linestring;
++
+ -- Optional: CLUSTER imported tables. CLUSTER takes a significant amount of time to run and a
+ -- significant amount of free disk space but speeds up some queries.
+
+---CLUSTER nodes USING idx_nodes_geom;
+---CLUSTER ways USING idx_ways_linestring;
++--CLUSTER nodes;
++--CLUSTER ways;
++
++-- It is not necessary to CLUSTER way_nodes or relation_members after the initial load but you might want to do so later on
+
+ -- Perform database maintenance due to large database changes.
+ ANALYZE;
+--- a/package/script/pgsnapshot_schema_0.6.sql
++++ b/package/script/pgsnapshot_schema_0.6.sql
+@@ -108,9 +108,15 @@ CREATE INDEX idx_way_nodes_node_id ON wa
+ CREATE INDEX idx_relation_members_member_id_and_type ON relation_members USING btree (member_id, member_type);
+
+
+--- Cluster tables by geographical location.
+-CLUSTER nodes USING idx_nodes_geom;
++-- Set to cluster nodes by geographical location.
++ALTER TABLE ONLY nodes CLUSTER ON idx_nodes_geom;
+
++-- Set to cluster the tables showing relationship by parent ID and sequence
++ALTER TABLE ONLY way_nodes CLUSTER ON pk_way_nodes;
++ALTER TABLE ONLY relation_members CLUSTER ON pk_relation_members;
++
++-- There are no sensible CLUSTER orders for users or relations.
++-- Depending on geometry columns different clustings of ways may be desired.
+
+ -- Create the function that provides "unnest" functionality while remaining compatible with 8.3.
+ CREATE OR REPLACE FUNCTION unnest_bbox_way_nodes() RETURNS void AS $$
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osmosis.git
More information about the Pkg-grass-devel
mailing list