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

Andreas Tille tille at alioth.debian.org
Sat Mar 13 22:00:29 UTC 2010


Author: tille
Date: 2010-03-13 22:00:28 +0000 (Sat, 13 Mar 2010)
New Revision: 1722

Modified:
   udd/sql/versions_archs_components.sql
Log:
Avoid temporary table


Modified: udd/sql/versions_archs_components.sql
===================================================================
--- udd/sql/versions_archs_components.sql	2010-03-13 09:25:57 UTC (rev 1721)
+++ udd/sql/versions_archs_components.sql	2010-03-13 22:00:28 UTC (rev 1722)
@@ -22,9 +22,9 @@
 	         || package || ''' GROUP BY component, version ORDER BY version) AS cv GROUP BY component;';
 
 	FOR r IN EXECUTE query LOOP
-	    query1      = /* -- DROP TABLE IF EXISTS tmpReleaseVersionArch ; */
-                 'CREATE TEMPORARY TABLE tmpReleaseVersionArch AS
-	         SELECT release || CASE WHEN char_length(substring(distribution from ''-.*'')) > 0
+	    query1 = 'SELECT release, version, array_to_string(array_sort(array_accum(arch)),'',''), CAST(''' 
+                 || r.component || ''' AS text) AS component FROM 
+                 (SELECT release || CASE WHEN char_length(substring(distribution from ''-.*'')) > 0
                                         THEN substring(distribution from ''-.*'')
                                         ELSE '''' END AS release,
                             -- make *-volatile a "pseudo-release"
@@ -32,16 +32,11 @@
                         architecture AS arch, component
                     FROM packages
 	           WHERE package = ''' || package || ''' AND component = ''' || r.component || '''
-		   GROUP BY architecture, version, release, distribution, component
-	         ;' ;
-	    EXECUTE query1;
-	    query1 = 'SELECT release, version, array_to_string(array_sort(array_accum(arch)),'',''), CAST(''' 
-                 || r.component || ''' AS text) AS component FROM tmpReleaseVersionArch
+		   GROUP BY architecture, version, release, distribution, component) tmpReleaseVersionArch
                  GROUP BY release, version ORDER BY version;' ;
 	    FOR q IN EXECUTE query1 LOOP
 	        RETURN NEXT q;
 	    END LOOP;
-	    DROP TABLE tmpReleaseVersionArch ;
         END LOOP;
     END; $$ LANGUAGE 'plpgsql';
 




More information about the Collab-qa-commits mailing list