[Collab-qa-commits] r1304 - in udd: sql udd

lucas at alioth.debian.org lucas at alioth.debian.org
Sat Sep 27 16:38:24 UTC 2008


Author: lucas
Date: 2008-09-27 16:38:23 +0000 (Sat, 27 Sep 2008)
New Revision: 1304

Modified:
   udd/sql/drop.sql
   udd/sql/setup.sql
   udd/udd/bugs_gatherer.pl
Log:
added bugs_packages table

Modified: udd/sql/drop.sql
===================================================================
--- udd/sql/drop.sql	2008-09-27 15:37:50 UTC (rev 1303)
+++ udd/sql/drop.sql	2008-09-27 16:38:23 UTC (rev 1304)
@@ -7,11 +7,13 @@
 DROP TABLE ubuntu_packages CASCADE;
 DROP TABLE ubuntu_packages_summary CASCADE;
 DROP TABLE bugs CASCADE;
+DROP TABLE bugs_packages CASCADE;
 DROP TABLE bugs_merged_with CASCADE;
 DROP TABLE bugs_found_in CASCADE;
 DROP TABLE bugs_fixed_in CASCADE;
 DROP TABLE bugs_tags CASCADE;
 DROP TABLE archived_bugs CASCADE;
+DROP TABLE archived_bugs_packages CASCADE;
 DROP TABLE archived_bugs_merged_with CASCADE;
 DROP TABLE archived_bugs_found_in CASCADE;
 DROP TABLE archived_bugs_fixed_in CASCADE;

Modified: udd/sql/setup.sql
===================================================================
--- udd/sql/setup.sql	2008-09-27 15:37:50 UTC (rev 1303)
+++ udd/sql/setup.sql	2008-09-27 16:38:23 UTC (rev 1304)
@@ -104,6 +104,10 @@
     affects_testing boolean, affects_unstable boolean,
     affects_experimental boolean);
 
+CREATE TABLE bugs_packages
+  (id int REFERENCES bugs, package text, source text,
+	PRIMARY KEY (id, package));
+
 CREATE TABLE bugs_merged_with
   (id int REFERENCES bugs, merged_with int,
 PRIMARY KEY(id, merged_with));
@@ -126,6 +130,10 @@
     affects_testing boolean, affects_unstable boolean,
     affects_experimental boolean);
 
+CREATE TABLE archived_bugs_packages
+  (id int REFERENCES archived_bugs, package text, source text,
+	PRIMARY KEY (id, package));
+
 CREATE TABLE archived_bugs_merged_with
   (id int REFERENCES archived_bugs, merged_with int,
 PRIMARY KEY(id, merged_with));
@@ -183,11 +191,13 @@
 OR source IN (SELECT DISTINCT source FROM sources WHERE release = 'lenny'));
 
 GRANT SELECT ON bugs TO PUBLIC;
+GRANT SELECT ON bugs_packages TO PUBLIC;
 GRANT SELECT ON bugs_merged_with TO PUBLIC;
 GRANT SELECT ON bugs_found_in TO PUBLIC;
 GRANT SELECT ON bugs_fixed_in TO PUBLIC;
 GRANT SELECT ON bugs_tags TO PUBLIC;
 GRANT SELECT ON archived_bugs TO PUBLIC;
+GRANT SELECT ON archived_bugs_packages TO PUBLIC;
 GRANT SELECT ON archived_bugs_merged_with TO PUBLIC;
 GRANT SELECT ON archived_bugs_found_in TO PUBLIC;
 GRANT SELECT ON archived_bugs_fixed_in TO PUBLIC;

Modified: udd/udd/bugs_gatherer.pl
===================================================================
--- udd/udd/bugs_gatherer.pl	2008-09-27 15:37:50 UTC (rev 1303)
+++ udd/udd/bugs_gatherer.pl	2008-09-27 16:38:23 UTC (rev 1304)
@@ -177,6 +177,7 @@
 	$table = $src_config{archived} ? $archived_table : $table;
 	# Read all bugs
 	my $insert_bugs_handle = $dbh->prepare("INSERT INTO $table (id, package, source, arrival, status, severity, submitter, owner, title, last_modified, affects_stable, affects_testing, affects_unstable, affects_experimental) VALUES (\$1, \$2, \$3, \$4::abstime, \$5, \$6, \$7, \$8, \$9, \$10::abstime, \$11, \$12, \$13, \$14)");
+	my $insert_bugs_packages_handle = $dbh->prepare("INSERT INTO ${table}_packages (id, package, source) VALUES (\$1, \$2, \$3)");
 	my $insert_bugs_found_handle = $dbh->prepare("INSERT INTO ${table}_found_in (id, version) VALUES (\$1, \$2)");
 	my $insert_bugs_fixed_handle = $dbh->prepare("INSERT INTO ${table}_fixed_in (id, version) VALUES (\$1, \$2)");
 	my $insert_bugs_merged_handle = $dbh->prepare("INSERT INTO ${table}_merged_with (id, merged_with) VALUES (\$1, \$2)");
@@ -260,6 +261,12 @@
 			$bug{severity}, $bug{originator}, $bug{owner}, $bug{subject}, $bug{log_modified},
 			$present_in_stable, $present_in_testing, $present_in_unstable, $present_in_experimental) or die $!;
 
+		my $src;
+		foreach my $pkg (keys %{{ map { $_ => 1 } split(/\s*,\s*/, $bug{package})}}) {
+			$src = exists($pkgsrc{$pkg}) ? $pkgsrc{$pkg} : $pkg;
+			$insert_bugs_packages_handle->execute($bug_nr, $pkg, $src) or die $!;
+		}
+
 		# insert data into bug_fixed_in and bug_found_in tables
 		foreach my $version (without_duplicates(@found_versions)) {
 			$insert_bugs_found_handle->execute($bug_nr, $version) or die $!;




More information about the Collab-qa-commits mailing list