[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