[Collab-qa-commits] r2265 - udd/sql
Andreas Tille
tille at alioth.debian.org
Sun May 6 10:35:42 UTC 2012
Author: tille
Date: 2012-05-06 10:35:41 +0000 (Sun, 06 May 2012)
New Revision: 2265
Modified:
udd/sql/bibref.sql
Log:
Make sure we have only one (package,source,description) record fitting the latest release with highest version; additional ordering criterion to make resulting LaTeX files reproducible
Modified: udd/sql/bibref.sql
===================================================================
--- udd/sql/bibref.sql 2012-05-06 09:52:21 UTC (rev 2264)
+++ udd/sql/bibref.sql 2012-05-06 10:35:41 UTC (rev 2265)
@@ -84,16 +84,23 @@
RETURNS SETOF RECORD LANGUAGE SQL
AS $$
SELECT package, source, bibkey, description FROM (
- SELECT DISTINCT
+ SELECT -- DISTINCT
p.package AS package,
p.source AS source,
b.package AS bpackage,
b.value AS bibkey,
replace(p.description, E'\xc2\xa0', '\ ') AS description -- replace non-breaking spaces to TeX syntax
- FROM packages p
+ FROM ( -- Make sure we have only one (package,source,description) record fitting the latest release with highest version
+ SELECT package, source, description FROM
+ (SELECT *, rank() OVER (PARTITION BY package ORDER BY rsort DESC, version DESC) FROM
+ (SELECT DISTINCT package, source, description, sort as rsort, version FROM packages p
+ JOIN releases r ON p.release = r. release
+ ) tmp
+ ) tmp WHERE rank = 1
+ ) p
JOIN (SELECT DISTINCT source, package, value FROM bibref WHERE key = 'bibtex') b ON b.source = p.source
) tmp
WHERE package = bpackage OR bpackage = ''
- ORDER BY package
+ ORDER BY package, bibkey
;
$$;
More information about the Collab-qa-commits
mailing list