[evolvis-commits] r17301: - Final plpgsql Script for STD Search migration added. Call std_search_new_tracker(trackerId) to migrate for specific tracker at end of creation. call std_search_migrate() to make an initial migration. [#1152]

messer at evolvis.org messer at evolvis.org
Fri Jun 24 11:22:54 CEST 2011


Author: messer
Date: 2011-06-24 11:22:54 +0200 (Fri, 24 Jun 2011)
New Revision: 17301

Modified:
   branches/messer-dev/db/std_search_filter_migrate.sql
Log:
- Final plpgsql Script for STD Search migration added. Call std_search_new_tracker(trackerId) to migrate for specific tracker at end of creation. call std_search_migrate() to make an initial migration. [#1152]

Modified: branches/messer-dev/db/std_search_filter_migrate.sql
===================================================================
--- branches/messer-dev/db/std_search_filter_migrate.sql	2011-06-10 15:40:51 UTC (rev 17300)
+++ branches/messer-dev/db/std_search_filter_migrate.sql	2011-06-24 09:22:54 UTC (rev 17301)
@@ -1,68 +1,99 @@
+--
+-- Standard Search Queries for Trackers witch fields Severity and Resolution.
+--
+-- Copyright 1999-2001, VA Linux Systems, Inc.
+-- Copyright 2002-2004, GForge, LLC
+-- Copyright 2009, Roland Mas
+--
+-- This file is part of FusionForge.
+--
+-- FusionForge is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published
+-- by the Free Software Foundation; either version 2 of the License,
+-- or (at your option) any later version.
+-- 
+-- FusionForge is distributed in the hope that it will be useful, but
+-- WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-- General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with FusionForge; if not, write to the Free Software
+-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+-- USA
+
+
+CREATE OR REPLACE FUNCTION std_search_new_tracker(integer) RETURNS void AS '
+DECLARE
+    curBugTracker ALIAS FOR $1;
+    valuesToSort  RECORD;
+    valueString   TEXT := '''';
+BEGIN
+    INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES (curBugTracker, 100, ''STD Quality Assurance'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''2'', 0, ''1'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''1'', 0, ''0'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''3'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''7'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''8'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''5'', 0, ''artifact_id'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''6'', 0, ''ASC'');
+    FOR valuesToSort IN SELECT * FROM artifact_extra_field_elements WHERE extra_field_id = (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Resolution'' AND group_artifact_id=curBugTracker) LOOP
+        -- Check if this is relevant for Quality Assurance
+        IF valuesToSort.element_name == ''Fixed'' OR valuesToSort.element_name == ''Won''''t Fix'' OR valuesToSort.element_name == ''Invalid'' OR valuesToSort.element_name == ''Works For Me'' OR valuesToSort.element_name == ''Duplicate'' THEN
+            valueString := (valueString || (valuesToSort.element_id || '', ''));
+        END IF;
+    END LOOP;
+    valueString := SUBSTRING(valueString, 0, LENGTH(valueString) - 1);
+    RAISE NOTICE ''Current String = %'', valueString;
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''4'',
+           (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Resolution'' AND group_artifact_id=curBugTracker), valueString);
+    valueString := '''';
+    INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES (curBugTracker, 100, ''STD Development'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''2'', 0, ''1'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''1'', 0, ''0'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''3'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''7'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''8'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''5'', 0, ''artifact_id'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''6'', 0, ''ASC'');
+    FOR valuesToSort IN SELECT * FROM artifact_extra_field_elements WHERE extra_field_id = (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Resolution'' AND group_artifact_id=curBugTracker) LOOP
+        -- Check if this is relevant for Quality Assurance
+        IF valuesToSort.element_name == ''Accepted As Bug'' OR valuesToSort.element_name == ''Awaiting Response'' THEN
+            valueString := (valueString || (valuesToSort.element_id || '', ''));
+        END IF;
+    END LOOP;
+    valueString := SUBSTRING(valueString, 0, LENGTH(valueString) - 1);
+    RAISE NOTICE ''Current String = %'', valueString;
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''4'',
+           (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Resolution'' AND group_artifact_id=curBugTracker), valueString);
+    valueString := '''';
+    INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES (curBugTracker, 100, ''STD Blocker/Critical'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''2'', 0, ''1'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''1'', 0, ''0'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''3'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''7'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''8'', 0, '''');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''5'', 0, ''artifact_id'');
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''6'', 0, ''ASC'');
+    FOR valuesToSort IN SELECT * FROM artifact_extra_field_elements WHERE extra_field_id = (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Resolution'' AND group_artifact_id=curBugTracker) LOOP
+        -- Check if this is relevant for Quality Assurance
+        IF valuesToSort.element_name == ''blocker'' OR valuesToSort.element_name == ''critical'' THEN
+            valueString := (valueString || (valuesToSort.element_id || '', ''));
+        END IF;
+    END LOOP;
+    valueString := SUBSTRING(valueString, 0, LENGTH(valueString) - 1);
+    RAISE NOTICE ''Current String = %'', valueString;
+    INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''4'',
+           (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Severity'' AND group_artifact_id=curBugTracker), valueString);
+END;' 
+	LANGUAGE plpgsql;
+
 CREATE OR REPLACE FUNCTION std_search_migrate() RETURNS void AS '
 DECLARE
     curBugTracker INTEGER;
-    valuesToSort  RECORD;
-    valueString   VARCHAR(56);
 BEGIN
     FOR curBugTracker IN SELECT group_artifact_id FROM artifact_group_list WHERE datatype = 1 LOOP
-        INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES (curBugTracker, 100, ''STD Quality Assurance'');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''2'', 0, ''1'');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''1'', 0, ''0'');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''3'', 0, '''');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''7'', 0, '''');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''8'', 0, '''');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''5'', 0, ''artifact_id'');
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''6'', 0, ''ASC'');
-        FOR valuesToSort IN SELECT * FROM artifact_extra_field_elements WHERE extra_field_id = (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Severity'' AND group_artifact_id=curBugTracker) LOOP
-            -- Check if this is relevant for Quality Assurance
-            IF valuesToSort.element_name LIKE ''Fixed'' OR LIKE ''Won't Fix' THEN
-                valueString := valuesToSort.element_id || '' ,'';
-            END IF;
-        END LOOP;
-        RAISE NOTICE ''Current String = %'', valueString;
-        INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), ''4'',
-               (SELECT extra_field_id FROM artifact_extra_field_list WHERE field_name LIKE ''Severity'' AND group_artifact_id=curBugTracker), valueString);
+        SELECT std_search_new_tracker(curBugTracker);
     END LOOP;
 END;'
-     LANGUAGE plpgsql;
-
--- This file sets up the Standard Search Queries. Run this only once!
--- NOTE: All Queries are register for the Nobody user. Every query that is registered with this user is
---       a global search query.
-INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES ((SELECT min(group_artifact_id) FROM artifact_group_list WHERE name LIKE '%Bug%'), 100, 'Quality Assurance');
-
--- Insert the fields for the just created query
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '2', 0, '1');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '1', 0, '0');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '3', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '7', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '8', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '5', 0, 'artifact_id');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '6', 0, 'ASC');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '4', 9, '57,58,59,61');
-
-INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES ((SELECT min(group_artifact_id) FROM artifact_group_list WHERE name LIKE '%Bug%'), 100, 'Development');
-
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '2', 0, '1');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '1', 0, '0');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '3', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '7', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '8', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '5', 0, 'artifact_id');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '6', 0, 'ASC');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '4', 9, '100,56');
-
-INSERT INTO artifact_query(group_artifact_id, user_id, query_name) VALUES ((SELECT min(group_artifact_id) FROM artifact_group_list WHERE name LIKE '%Bug%'), 100, 'Blocker/Critical');
-
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '2', 0, '1');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '1', 0, '0');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '3', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '7', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '8', 0, '');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '5', 0, 'artifact_id');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '6', 0, 'ASC');
-INSERT INTO artifact_query_fields VALUES ((SELECT max(artifact_query_id) FROM artifact_query), '4', 8, '49,50');
-
-
-
--- Insert the Fields the standard searches search for.
\ No newline at end of file
+     LANGUAGE plpgsql;
\ No newline at end of file



More information about the evolvis-commits mailing list