[Blends-commit] [SCM] website branch, master, updated. 193d2867814d8a54c22082705237e67a214ed2cd
Andreas Tille
tille at debian.org
Sun Jun 2 19:56:09 UTC 2013
The following commit has been merged in the master branch:
commit 53906849d69a413a4c272bfeb3e1fb1601f7af9b
Author: Andreas Tille <tille at debian.org>
Date: Fri May 31 15:00:57 2013 +0200
Join different queries together and merge them in a thermometer like single table
diff --git a/misc/sql/gis-thermometer.sh b/misc/sql/gis-thermometer.sh
index 6e41d65..b329334 100755
--- a/misc/sql/gis-thermometer.sh
+++ b/misc/sql/gis-thermometer.sh
@@ -5,39 +5,43 @@ if [ $# -lt 1 ] ; then
exit
fi
-psql udd >$1.stable <<EOT
-SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS stableversion
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = '$1' AND r.role = 'stable' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source;
-EOT
+# Note: The query below does not regard packages not available under a source
+# name in stable or testing that is different from the name in unstable
-psql udd >$1.testing <<EOT
-SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS testingversion
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = '$1' AND r.role = 'testing' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source;
-EOT
+psql udd >$1.out <<EOT
+SELECT unstable.source, stable.version AS stable, testing.version AS testing, unstable.version AS unstable FROM (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = '$1' AND r.role = 'unstable' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) unstable
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = '$1' AND r.role = 'testing' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) testing ON unstable.source = testing.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = '$1' AND r.role = 'stable' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) stable ON unstable.source = stable.source
+;
-psql udd >$1.unstable <<EOT
-SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS unstableversion
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = '$1' AND r.role = 'unstable' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source;
EOT
-
--
Static and dynamic websites for Debian Pure Blends
More information about the Blends-commit
mailing list