[Collab-qa-commits] r2259 - udd/sql

Andreas Tille tille at alioth.debian.org
Sat May 5 16:00:47 UTC 2012


Author: tille
Date: 2012-05-05 16:00:47 +0000 (Sat, 05 May 2012)
New Revision: 2259

Modified:
   udd/sql/bibref.sql
Log:
Function to create an example latex file mentioning all packages with citations


Modified: udd/sql/bibref.sql
===================================================================
--- udd/sql/bibref.sql	2012-05-05 07:03:24 UTC (rev 2258)
+++ udd/sql/bibref.sql	2012-05-05 16:00:47 UTC (rev 2259)
@@ -29,7 +29,7 @@
   SELECT DISTINCT
          '@Article{' || bibkey.value ||
             CASE WHEN bibauthor.value  IS NOT NULL THEN E',\n  Author  = "{' || bibauthor.value  || '}"' ELSE '' END ||
-            CASE WHEN bibtitle.value   IS NOT NULL THEN E',\n  Title   = "{' || bibtitle.value   || '}"' ELSE '' END ||
+            CASE WHEN bibtitle.value   IS NOT NULL THEN E',\n  Title   = "{' || replace(bibtitle.value, '_', '\_') || '}"' ELSE '' END ||
             CASE WHEN bibbooktitle.value IS NOT NULL THEN E',\n  Booktitle = "{' || bibbooktitle.value || '}"' ELSE '' END ||
             CASE WHEN bibyear.value    IS NOT NULL THEN E',\n  Year    = "{' || bibyear.value    || '}"' ELSE '' END ||
             CASE WHEN bibmonth.value   IS NOT NULL THEN E',\n  Month   = "{' || bibmonth.value   || '}"' ELSE '' END ||
@@ -71,3 +71,25 @@
     ORDER BY bibentry -- p.source
 ;
 $$;
+
+/************************************************************************************
+ * Example data for above BibTeX data                                               *
+ ************************************************************************************/
+
+CREATE OR REPLACE FUNCTION bibtex_example_data ()
+RETURNS SETOF RECORD LANGUAGE SQL
+AS $$
+SELECT package, source, bibkey, description FROM (
+  SELECT DISTINCT
+         p.package        AS package,
+         p.source         AS source,
+         b.package        AS bpackage,
+         b.value          AS bibkey,
+         p.description    AS description
+    FROM packages 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
+;
+$$;




More information about the Collab-qa-commits mailing list