← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~wgrant/launchpad/destroy-distroseries-lucilleconfig into lp:launchpad/devel

 

William Grant has proposed merging lp:~wgrant/launchpad/destroy-distroseries-lucilleconfig into lp:launchpad/devel with lp:~wgrant/launchpad/more-a-f-cleanup as a prerequisite.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)


Once upon a time, during the initial implementation of Soyuz, somebody did this:

class Config(object):
    """Manage a publisher configuration from the database. (Read Only)
    This class provides a useful abstraction so that if we change
    how the database stores configuration then the publisher will not
    need to be re-coded to cope"""

This has made a lot of people very angry and been widely regarded as a bad move. But it is ingrained enough that it persists to this day.

This is the first of a few branches to remove the dreaded lucilleconfig, an ini file stored as text in the database. Here I remove its archTagsForSeries and componentsForSeries methods, replacing them with less insane model calls.


== Implementation details ==

I've added (I)DistroSeries.enabled_architectures to allow easy retrieval of the publishable architectures. Former archTagsForSeries callsites now extract archtags from there. I realise that there is some nasty duplication there, but that can't be easily removed without a refactoring that will come later in the series.

componentsForSeries is replaced by (I)Archive.getComponentsForSeries. The new method returns the 'partner' component for PARTNER archives, and uses ComponentSelection for all other archives. This necessitated a sampledata change, as one of the test series has no ComponentSelections.

These two changes render DistroSeries.lucilleconfig obsolete, but the branch is already big enough so I'll remove it later.
-- 
https://code.launchpad.net/~wgrant/launchpad/destroy-distroseries-lucilleconfig/+merge/38648
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wgrant/launchpad/destroy-distroseries-lucilleconfig into lp:launchpad/devel.
=== modified file 'database/sampledata/current-dev.sql'
--- database/sampledata/current-dev.sql	2010-10-07 22:46:08 +0000
+++ database/sampledata/current-dev.sql	2010-10-17 10:57:50 +0000
@@ -1,6 +1,6 @@
 -- Copyright 2010 Canonical Ltd.  This software is licensed under the
 -- GNU Affero General Public License version 3 (see the file LICENSE).
--- Created using pg_dump (PostgreSQL) 8.4.4
+-- Created using pg_dump (PostgreSQL) 8.4.5
 
 SET check_function_bodies = false;
 SET client_encoding = 'UTF8';
@@ -810,6 +810,27 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 SET SESSION AUTHORIZATION DEFAULT;
 
 ALTER TABLE account DISABLE TRIGGER ALL;
@@ -3333,42 +3354,42 @@
 
 ALTER TABLE bugmessage DISABLE TRIGGER ALL;
 
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (1, 2, 1, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (2, 1, 3, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (3, 1, 4, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (4, 2, 5, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (5, 2, 6, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (6, 4, 7, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (7, 5, 8, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (8, 6, 9, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (9, 3, 10, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (10, 7, 11, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (11, 8, 14, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (12, 9, 15, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (13, 10, 17, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (14, 10, 16, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (15, 11, 24, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (16, 11, 25, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (17, 11, 26, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (18, 11, 27, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (19, 11, 28, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (20, 11, 29, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (21, 11, 30, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (22, 12, 31, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (23, 12, 33, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (24, 12, 34, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (25, 12, 35, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (26, 12, 36, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (27, 13, 37, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (28, 13, 38, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (29, 14, 39, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (30, 15, 40, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (31, 15, 44, 11, '<4284D7D1.6010208@xxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (32, 15, 45, 11, '<20050517185429.GB20786@xxxxxxxxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (33, 15, 46, 11, '<428A44E9.6090802@xxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (34, 15, 47, 11, '<20050517202044.GA23231@xxxxxxxxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (35, 15, 48, 11, '<20050617140011.GA15638@xxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (36, 15, 49, 11, '<42BD2E36.9090809@xxxxxx>', true);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (1, 2, 1, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (2, 1, 3, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (3, 1, 4, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (4, 2, 5, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (5, 2, 6, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (6, 4, 7, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (7, 5, 8, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (8, 6, 9, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (9, 3, 10, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (10, 7, 11, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (11, 8, 14, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (12, 9, 15, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (13, 10, 17, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (14, 10, 16, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (15, 11, 24, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (16, 11, 25, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (17, 11, 26, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (18, 11, 27, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (19, 11, 28, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (20, 11, 29, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (21, 11, 30, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (22, 12, 31, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (23, 12, 33, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (24, 12, 34, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (25, 12, 35, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (26, 12, 36, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (27, 13, 37, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (28, 13, 38, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (29, 14, 39, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (30, 15, 40, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (31, 15, 44, 11, '<4284D7D1.6010208@xxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (32, 15, 45, 11, '<20050517185429.GB20786@xxxxxxxxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (33, 15, 46, 11, '<428A44E9.6090802@xxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (34, 15, 47, 11, '<20050517202044.GA23231@xxxxxxxxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (35, 15, 48, 11, '<20050617140011.GA15638@xxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (36, 15, 49, 11, '<42BD2E36.9090809@xxxxxx>', true, NULL);
 
 
 ALTER TABLE bugmessage ENABLE TRIGGER ALL;
@@ -3799,13 +3820,6 @@
 ALTER TABLE bugtrackercomponentgroup ENABLE TRIGGER ALL;
 
 
-ALTER TABLE distributionsourcepackage DISABLE TRIGGER ALL;
-
-
-
-ALTER TABLE distributionsourcepackage ENABLE TRIGGER ALL;
-
-
 ALTER TABLE bugtrackercomponent DISABLE TRIGGER ALL;
 
 
@@ -4014,6 +4028,13 @@
 ALTER TABLE distributionbounty ENABLE TRIGGER ALL;
 
 
+ALTER TABLE distributionjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE distributionjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE distributionmirror DISABLE TRIGGER ALL;
 
 INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false);
@@ -4031,6 +4052,13 @@
 ALTER TABLE distributionmirror ENABLE TRIGGER ALL;
 
 
+ALTER TABLE distributionsourcepackage DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE distributionsourcepackage ENABLE TRIGGER ALL;
+
+
 ALTER TABLE distributionsourcepackagecache DISABLE TRIGGER ALL;
 
 INSERT INTO distributionsourcepackagecache (id, distribution, sourcepackagename, name, binpkgnames, binpkgsummaries, binpkgdescriptions, fti, changelog, archive) VALUES (1, 3, 19, 'alsa-utils', '', '', '', NULL, NULL, 1);
@@ -4990,6 +5018,81 @@
 ALTER TABLE lp_account ENABLE TRIGGER ALL;
 
 
+ALTER TABLE lp_openididentifier DISABLE TRIGGER ALL;
+
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6KHNEe3', 2436141, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6w7kmzC', 2436091, '2007-12-07 13:43:20.393704');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('CALDpFr', 2436171, '2008-03-06 09:55:27.289842');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('GMX7shE', 2436242, '2009-03-17 07:26:14.024613');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('MGWJnTL', 2436111, '2007-12-14 16:52:15.403833');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('R8FpwXd', 2436161, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('WQPMHdf', 2436081, '2007-11-12 15:23:19.847132');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('andrelop_oid', 431, '2005-06-06 08:59:51.561685');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('barbier_oid', 421, '2005-06-06 08:59:51.560604');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-importer_oid', 581, '2005-12-06 09:48:58.287679');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-watch-updater_oid', 621, '2006-05-23 12:49:30.483464');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cCGE3LA', 2436101, '2007-12-14 16:52:15.403833');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cF4PNk3', 2436241, '2008-11-04 12:59:26.965843');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('callipeo_oid', 401, '2005-06-06 08:59:51.558429');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('carlos_oid', 131, '2005-06-06 08:59:51.615543');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cprov_oid', 281, '2005-06-06 08:59:51.59705');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('daf_oid', 141, '2005-06-06 08:59:51.616666');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('danner_oid', 371, '2005-06-06 08:59:51.549651');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('ddaa_oid', 231, '2005-06-06 08:59:51.620823');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('debonzi_oid', 271, '2005-06-06 08:59:51.557224');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('edgar_oid', 331, '2005-06-06 08:59:51.621892');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('former-user_oid', 701, '2006-12-13 21:19:06.369142');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jblack_oid', 81, '2005-06-06 08:59:51.601584');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jdub_oid', 61, '2005-06-06 08:59:51.600523');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jordi_oid', 561, '2005-10-07 14:17:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jorge-gonzalez-gonzalez_oid', 411, '2005-06-06 08:59:51.559519');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('justdave_oid', 31, '2005-06-06 08:59:51.610048');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jvprat_oid', 341, '2005-06-06 08:59:51.622908');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kYFxQYP', 2436243, '2009-08-04 10:50:39.383407');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kamion_oid', 41, '2005-06-06 08:59:51.611185');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('karl_oid', 631, '2006-05-23 12:49:30.483464');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kebil_oid', 491, '2005-06-06 08:59:51.568323');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('keybuk_oid', 51, '2005-06-06 08:59:51.608802');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kiko_oid', 91, '2005-06-06 08:59:51.594941');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kinnison_oid', 261, '2005-06-06 08:59:51.618722');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kreutzm_oid', 511, '2005-06-06 08:59:51.570701');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kurem_oid', 461, '2005-06-06 08:59:51.565033');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-beta-owner_oid', 681, '2007-01-31 06:56:25.096519');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-janitor_oid', 651, '2006-10-04 16:20:51.19954');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('lifeless_oid', 21, '2005-06-06 08:59:51.598107');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('limi_oid', 101, '2005-06-06 08:59:51.619713');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('luk-claes_oid', 451, '2005-06-06 08:59:51.563952');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mTmeENb', 2436231, '2008-06-27 14:49:11.149508');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('marilize_oid', 551, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mark_oid', 11, '2005-06-06 08:59:51.591618');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('martin-pitt_oid', 381, '2005-06-06 08:59:51.555051');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('matsubara_oid', 661, '2006-12-13 21:19:06.369142');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('morten_oid', 471, '2005-06-06 08:59:51.56614');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mpo_oid', 481, '2005-06-06 08:59:51.567224');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name12_oid', 121, '2005-06-06 08:59:51.612277');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name16_oid', 161, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('neMCQNd', 2436061, '2007-08-09 21:25:37.832976');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-priv_oid', 521, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-team-memberships_oid', 2436021, '2007-02-19 11:17:57.755666');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('nsv_oid', 391, '2005-06-06 08:59:51.556132');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('one-membership_oid', 2436031, '2007-02-21 10:53:59.700105');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('rPwGRk4', 2436221, '2008-05-12 17:38:38.798696');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('salgado_oid', 291, '2005-06-06 08:59:51.596025');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('sigurd-ubuntu_oid', 351, '2005-06-06 08:59:51.623962');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('skacel_oid', 361, '2005-06-06 08:59:51.5244');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('spiv_oid', 71, '2005-06-06 08:59:51.551196');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stevea_oid', 111, '2005-06-06 08:59:51.599234');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stub_oid', 221, '2005-06-06 08:59:51.59276');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('team-membership-janitor_oid', 671, '2006-10-04 16:20:51.19954');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('tsukimi_oid', 501, '2005-06-06 08:59:51.569518');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('valyag_oid', 441, '2005-06-06 08:59:51.562857');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('yEzBPbd', 2436151, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('zRtPxw8', 243637, '2010-07-12 09:48:27.198885');
+
+
+ALTER TABLE lp_openididentifier ENABLE TRIGGER ALL;
+
+
 ALTER TABLE lp_person DISABLE TRIGGER ALL;
 
 INSERT INTO lp_person (id, displayname, teamowner, teamdescription, name, language, fti, defaultmembershipperiod, defaultrenewalperiod, subscriptionpolicy, merged, datecreated, addressline1, addressline2, organization, city, province, country, postcode, phone, homepage_content, icon, mugshot, hide_email_addresses, creation_rationale, creation_comment, registrant, logo, renewal_policy, personal_standing, personal_standing_reason, mail_resumption_date, mailing_list_auto_subscribe_policy, mailing_list_receive_duplicates, visibility, verbose_bugnotifications, account) VALUES (1, 'Mark Shuttleworth', NULL, NULL, 'mark', NULL, NULL, NULL, NULL, 1, NULL, '2005-06-06 08:59:51.591618', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, 8, NULL, NULL, NULL, 10, 0, NULL, NULL, 1, true, 1, false, 11);
@@ -5096,81 +5199,6 @@
 ALTER TABLE lp_person ENABLE TRIGGER ALL;
 
 
-ALTER TABLE lp_openididentifier DISABLE TRIGGER ALL;
-
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6KHNEe3', 2436141, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6w7kmzC', 2436091, '2007-12-07 13:43:20.393704');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('CALDpFr', 2436171, '2008-03-06 09:55:27.289842');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('GMX7shE', 2436242, '2009-03-17 07:26:14.024613');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('MGWJnTL', 2436111, '2007-12-14 16:52:15.403833');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('R8FpwXd', 2436161, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('WQPMHdf', 2436081, '2007-11-12 15:23:19.847132');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('andrelop_oid', 431, '2005-06-06 08:59:51.561685');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('barbier_oid', 421, '2005-06-06 08:59:51.560604');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-importer_oid', 581, '2005-12-06 09:48:58.287679');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-watch-updater_oid', 621, '2006-05-23 12:49:30.483464');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cCGE3LA', 2436101, '2007-12-14 16:52:15.403833');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cF4PNk3', 2436241, '2008-11-04 12:59:26.965843');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('callipeo_oid', 401, '2005-06-06 08:59:51.558429');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('carlos_oid', 131, '2005-06-06 08:59:51.615543');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cprov_oid', 281, '2005-06-06 08:59:51.59705');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('daf_oid', 141, '2005-06-06 08:59:51.616666');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('danner_oid', 371, '2005-06-06 08:59:51.549651');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('ddaa_oid', 231, '2005-06-06 08:59:51.620823');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('debonzi_oid', 271, '2005-06-06 08:59:51.557224');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('edgar_oid', 331, '2005-06-06 08:59:51.621892');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('former-user_oid', 701, '2006-12-13 21:19:06.369142');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jblack_oid', 81, '2005-06-06 08:59:51.601584');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jdub_oid', 61, '2005-06-06 08:59:51.600523');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jordi_oid', 561, '2005-10-07 14:17:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jorge-gonzalez-gonzalez_oid', 411, '2005-06-06 08:59:51.559519');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('justdave_oid', 31, '2005-06-06 08:59:51.610048');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jvprat_oid', 341, '2005-06-06 08:59:51.622908');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kYFxQYP', 2436243, '2009-08-04 10:50:39.383407');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kamion_oid', 41, '2005-06-06 08:59:51.611185');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('karl_oid', 631, '2006-05-23 12:49:30.483464');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kebil_oid', 491, '2005-06-06 08:59:51.568323');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('keybuk_oid', 51, '2005-06-06 08:59:51.608802');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kiko_oid', 91, '2005-06-06 08:59:51.594941');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kinnison_oid', 261, '2005-06-06 08:59:51.618722');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kreutzm_oid', 511, '2005-06-06 08:59:51.570701');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kurem_oid', 461, '2005-06-06 08:59:51.565033');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-beta-owner_oid', 681, '2007-01-31 06:56:25.096519');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-janitor_oid', 651, '2006-10-04 16:20:51.19954');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('lifeless_oid', 21, '2005-06-06 08:59:51.598107');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('limi_oid', 101, '2005-06-06 08:59:51.619713');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('luk-claes_oid', 451, '2005-06-06 08:59:51.563952');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mTmeENb', 2436231, '2008-06-27 14:49:11.149508');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('marilize_oid', 551, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mark_oid', 11, '2005-06-06 08:59:51.591618');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('martin-pitt_oid', 381, '2005-06-06 08:59:51.555051');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('matsubara_oid', 661, '2006-12-13 21:19:06.369142');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('morten_oid', 471, '2005-06-06 08:59:51.56614');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mpo_oid', 481, '2005-06-06 08:59:51.567224');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name12_oid', 121, '2005-06-06 08:59:51.612277');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name16_oid', 161, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('neMCQNd', 2436061, '2007-08-09 21:25:37.832976');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-priv_oid', 521, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-team-memberships_oid', 2436021, '2007-02-19 11:17:57.755666');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('nsv_oid', 391, '2005-06-06 08:59:51.556132');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('one-membership_oid', 2436031, '2007-02-21 10:53:59.700105');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('rPwGRk4', 2436221, '2008-05-12 17:38:38.798696');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('salgado_oid', 291, '2005-06-06 08:59:51.596025');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('sigurd-ubuntu_oid', 351, '2005-06-06 08:59:51.623962');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('skacel_oid', 361, '2005-06-06 08:59:51.5244');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('spiv_oid', 71, '2005-06-06 08:59:51.551196');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stevea_oid', 111, '2005-06-06 08:59:51.599234');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stub_oid', 221, '2005-06-06 08:59:51.59276');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('team-membership-janitor_oid', 671, '2006-10-04 16:20:51.19954');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('tsukimi_oid', 501, '2005-06-06 08:59:51.569518');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('valyag_oid', 441, '2005-06-06 08:59:51.562857');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('yEzBPbd', 2436151, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('zRtPxw8', 243637, '2010-07-12 09:48:27.198885');
-
-
-ALTER TABLE lp_openididentifier ENABLE TRIGGER ALL;
-
-
 ALTER TABLE lp_personlocation DISABLE TRIGGER ALL;
 
 INSERT INTO lp_personlocation (id, date_created, person, latitude, longitude, time_zone, last_modified_by, date_last_modified, visible, locked) VALUES (1, '2007-06-05 18:34:52.127945', 12, NULL, NULL, 'Australia/Perth', 12, '2007-06-05 18:34:52.127945', true, false);
@@ -6299,6 +6327,13 @@
 ALTER TABLE personnotification ENABLE TRIGGER ALL;
 
 
+ALTER TABLE persontransferjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE persontransferjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE pocketchroot DISABLE TRIGGER ALL;
 
 
@@ -9815,6 +9850,13 @@
 ALTER TABLE questionbug ENABLE TRIGGER ALL;
 
 
+ALTER TABLE questionjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE questionjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE questionmessage DISABLE TRIGGER ALL;
 
 INSERT INTO questionmessage (id, question, message, action, new_status) VALUES (1, 6, 12, 35, 18);
@@ -11237,6 +11279,13 @@
 ALTER TABLE translationtemplateitem ENABLE TRIGGER ALL;
 
 
+ALTER TABLE translationtemplatesbuild DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE translationtemplatesbuild ENABLE TRIGGER ALL;
+
+
 ALTER TABLE translator DISABLE TRIGGER ALL;
 
 INSERT INTO translator (id, translationgroup, language, translator, datecreated, style_guide_url) VALUES (1, 1, 387, 53, '2005-07-13 13:14:19.748396', NULL);

=== modified file 'database/sampledata/current.sql'
--- database/sampledata/current.sql	2010-10-07 22:46:08 +0000
+++ database/sampledata/current.sql	2010-10-17 10:57:50 +0000
@@ -1,6 +1,6 @@
 -- Copyright 2010 Canonical Ltd.  This software is licensed under the
 -- GNU Affero General Public License version 3 (see the file LICENSE).
--- Created using pg_dump (PostgreSQL) 8.4.4
+-- Created using pg_dump (PostgreSQL) 8.4.5
 
 SET check_function_bodies = false;
 SET client_encoding = 'UTF8';
@@ -822,6 +822,15 @@
 
 
 
+
+
+
+
+
+
+
+
+
 SET SESSION AUTHORIZATION DEFAULT;
 
 ALTER TABLE account DISABLE TRIGGER ALL;
@@ -3345,42 +3354,42 @@
 
 ALTER TABLE bugmessage DISABLE TRIGGER ALL;
 
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (1, 2, 1, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (2, 1, 3, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (3, 1, 4, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (4, 2, 5, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (5, 2, 6, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (6, 4, 7, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (7, 5, 8, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (8, 6, 9, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (9, 3, 10, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (10, 7, 11, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (11, 8, 14, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (12, 9, 15, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (13, 10, 17, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (14, 10, 16, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (15, 11, 24, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (16, 11, 25, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (17, 11, 26, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (18, 11, 27, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (19, 11, 28, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (20, 11, 29, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (21, 11, 30, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (22, 12, 31, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (23, 12, 33, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (24, 12, 34, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (25, 12, 35, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (26, 12, 36, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (27, 13, 37, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (28, 13, 38, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (29, 14, 39, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (30, 15, 40, NULL, NULL, true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (31, 15, 44, 11, '<4284D7D1.6010208@xxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (32, 15, 45, 11, '<20050517185429.GB20786@xxxxxxxxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (33, 15, 46, 11, '<428A44E9.6090802@xxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (34, 15, 47, 11, '<20050517202044.GA23231@xxxxxxxxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (35, 15, 48, 11, '<20050617140011.GA15638@xxxxxxxxx>', true);
-INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (36, 15, 49, 11, '<42BD2E36.9090809@xxxxxx>', true);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (1, 2, 1, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (2, 1, 3, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (3, 1, 4, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (4, 2, 5, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (5, 2, 6, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (6, 4, 7, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (7, 5, 8, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (8, 6, 9, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (9, 3, 10, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (10, 7, 11, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (11, 8, 14, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (12, 9, 15, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (13, 10, 17, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (14, 10, 16, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (15, 11, 24, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (16, 11, 25, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (17, 11, 26, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (18, 11, 27, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (19, 11, 28, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (20, 11, 29, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (21, 11, 30, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (22, 12, 31, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (23, 12, 33, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (24, 12, 34, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (25, 12, 35, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (26, 12, 36, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (27, 13, 37, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (28, 13, 38, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (29, 14, 39, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (30, 15, 40, NULL, NULL, true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (31, 15, 44, 11, '<4284D7D1.6010208@xxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (32, 15, 45, 11, '<20050517185429.GB20786@xxxxxxxxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (33, 15, 46, 11, '<428A44E9.6090802@xxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (34, 15, 47, 11, '<20050517202044.GA23231@xxxxxxxxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (35, 15, 48, 11, '<20050617140011.GA15638@xxxxxxxxx>', true, NULL);
+INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible, index) VALUES (36, 15, 49, 11, '<42BD2E36.9090809@xxxxxx>', true, NULL);
 
 
 ALTER TABLE bugmessage ENABLE TRIGGER ALL;
@@ -3811,13 +3820,6 @@
 ALTER TABLE bugtrackercomponentgroup ENABLE TRIGGER ALL;
 
 
-ALTER TABLE distributionsourcepackage DISABLE TRIGGER ALL;
-
-
-
-ALTER TABLE distributionsourcepackage ENABLE TRIGGER ALL;
-
-
 ALTER TABLE bugtrackercomponent DISABLE TRIGGER ALL;
 
 
@@ -3940,6 +3942,11 @@
 INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (12, 1, 3, '2006-10-16 18:31:43.262049');
 INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (13, 10, 5, '2007-06-24 13:12:05.04436');
 INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (14, 11, 5, '2007-06-24 13:12:10.692827');
+INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (15, 13, 1, '2010-10-15 00:37:06.128465');
+INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (16, 13, 2, '2010-10-15 00:37:07.363901');
+INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (17, 13, 3, '2010-10-15 00:37:08.219902');
+INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (18, 13, 4, '2010-10-15 00:37:09.099819');
+INSERT INTO componentselection (id, distroseries, component, date_created) VALUES (19, 13, 5, '2010-10-15 00:37:09.988375');
 
 
 ALTER TABLE componentselection ENABLE TRIGGER ALL;
@@ -4026,6 +4033,13 @@
 ALTER TABLE distributionbounty ENABLE TRIGGER ALL;
 
 
+ALTER TABLE distributionjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE distributionjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE distributionmirror DISABLE TRIGGER ALL;
 
 INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false);
@@ -4043,6 +4057,13 @@
 ALTER TABLE distributionmirror ENABLE TRIGGER ALL;
 
 
+ALTER TABLE distributionsourcepackage DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE distributionsourcepackage ENABLE TRIGGER ALL;
+
+
 ALTER TABLE distributionsourcepackagecache DISABLE TRIGGER ALL;
 
 INSERT INTO distributionsourcepackagecache (id, distribution, sourcepackagename, name, binpkgnames, binpkgsummaries, binpkgdescriptions, fti, changelog, archive) VALUES (1, 3, 19, 'alsa-utils', '', '', '', NULL, NULL, 1);
@@ -5002,6 +5023,81 @@
 ALTER TABLE lp_account ENABLE TRIGGER ALL;
 
 
+ALTER TABLE lp_openididentifier DISABLE TRIGGER ALL;
+
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6KHNEe3', 2436141, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6w7kmzC', 2436091, '2007-12-07 13:43:20.393704');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('CALDpFr', 2436171, '2008-03-06 09:55:27.289842');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('GMX7shE', 2436242, '2009-03-17 07:26:14.024613');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('MGWJnTL', 2436111, '2007-12-14 16:52:15.403833');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('R8FpwXd', 2436161, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('WQPMHdf', 2436081, '2007-11-12 15:23:19.847132');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('andrelop_oid', 431, '2005-06-06 08:59:51.561685');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('barbier_oid', 421, '2005-06-06 08:59:51.560604');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-importer_oid', 581, '2005-12-06 09:48:58.287679');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-watch-updater_oid', 621, '2006-05-23 12:49:30.483464');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cCGE3LA', 2436101, '2007-12-14 16:52:15.403833');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cF4PNk3', 2436241, '2008-11-04 12:59:26.965843');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('callipeo_oid', 401, '2005-06-06 08:59:51.558429');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('carlos_oid', 131, '2005-06-06 08:59:51.615543');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cprov_oid', 281, '2005-06-06 08:59:51.59705');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('daf_oid', 141, '2005-06-06 08:59:51.616666');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('danner_oid', 371, '2005-06-06 08:59:51.549651');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('ddaa_oid', 231, '2005-06-06 08:59:51.620823');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('debonzi_oid', 271, '2005-06-06 08:59:51.557224');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('edgar_oid', 331, '2005-06-06 08:59:51.621892');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('former-user_oid', 701, '2006-12-13 21:19:06.369142');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jblack_oid', 81, '2005-06-06 08:59:51.601584');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jdub_oid', 61, '2005-06-06 08:59:51.600523');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jordi_oid', 561, '2005-10-07 14:17:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jorge-gonzalez-gonzalez_oid', 411, '2005-06-06 08:59:51.559519');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('justdave_oid', 31, '2005-06-06 08:59:51.610048');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jvprat_oid', 341, '2005-06-06 08:59:51.622908');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kYFxQYP', 2436243, '2009-08-04 10:50:39.383407');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kamion_oid', 41, '2005-06-06 08:59:51.611185');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('karl_oid', 631, '2006-05-23 12:49:30.483464');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kebil_oid', 491, '2005-06-06 08:59:51.568323');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('keybuk_oid', 51, '2005-06-06 08:59:51.608802');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kiko_oid', 91, '2005-06-06 08:59:51.594941');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kinnison_oid', 261, '2005-06-06 08:59:51.618722');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kreutzm_oid', 511, '2005-06-06 08:59:51.570701');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kurem_oid', 461, '2005-06-06 08:59:51.565033');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-beta-owner_oid', 681, '2007-01-31 06:56:25.096519');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-janitor_oid', 651, '2006-10-04 16:20:51.19954');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('lifeless_oid', 21, '2005-06-06 08:59:51.598107');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('limi_oid', 101, '2005-06-06 08:59:51.619713');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('luk-claes_oid', 451, '2005-06-06 08:59:51.563952');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mTmeENb', 2436231, '2008-06-27 14:49:11.149508');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('marilize_oid', 551, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mark_oid', 11, '2005-06-06 08:59:51.591618');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('martin-pitt_oid', 381, '2005-06-06 08:59:51.555051');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('matsubara_oid', 661, '2006-12-13 21:19:06.369142');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('morten_oid', 471, '2005-06-06 08:59:51.56614');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mpo_oid', 481, '2005-06-06 08:59:51.567224');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name12_oid', 121, '2005-06-06 08:59:51.612277');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name16_oid', 161, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('neMCQNd', 2436061, '2007-08-09 21:25:37.832976');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-priv_oid', 521, '2005-06-06 08:59:51.593849');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-team-memberships_oid', 2436021, '2007-02-19 11:17:57.755666');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('nsv_oid', 391, '2005-06-06 08:59:51.556132');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('one-membership_oid', 2436031, '2007-02-21 10:53:59.700105');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('rPwGRk4', 2436221, '2008-05-12 17:38:38.798696');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('salgado_oid', 291, '2005-06-06 08:59:51.596025');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('sigurd-ubuntu_oid', 351, '2005-06-06 08:59:51.623962');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('skacel_oid', 361, '2005-06-06 08:59:51.5244');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('spiv_oid', 71, '2005-06-06 08:59:51.551196');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stevea_oid', 111, '2005-06-06 08:59:51.599234');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stub_oid', 221, '2005-06-06 08:59:51.59276');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('team-membership-janitor_oid', 671, '2006-10-04 16:20:51.19954');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('tsukimi_oid', 501, '2005-06-06 08:59:51.569518');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('valyag_oid', 441, '2005-06-06 08:59:51.562857');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('yEzBPbd', 2436151, '2007-12-18 16:31:34.790641');
+INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('zRtPxw8', 243637, '2010-07-12 09:48:27.198885');
+
+
+ALTER TABLE lp_openididentifier ENABLE TRIGGER ALL;
+
+
 ALTER TABLE lp_person DISABLE TRIGGER ALL;
 
 INSERT INTO lp_person (id, displayname, teamowner, teamdescription, name, language, fti, defaultmembershipperiod, defaultrenewalperiod, subscriptionpolicy, merged, datecreated, addressline1, addressline2, organization, city, province, country, postcode, phone, homepage_content, icon, mugshot, hide_email_addresses, creation_rationale, creation_comment, registrant, logo, renewal_policy, personal_standing, personal_standing_reason, mail_resumption_date, mailing_list_auto_subscribe_policy, mailing_list_receive_duplicates, visibility, verbose_bugnotifications, account) VALUES (1, 'Mark Shuttleworth', NULL, NULL, 'mark', NULL, NULL, NULL, NULL, 1, NULL, '2005-06-06 08:59:51.591618', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, 8, NULL, NULL, NULL, 10, 0, NULL, NULL, 1, true, 1, false, 11);
@@ -5108,81 +5204,6 @@
 ALTER TABLE lp_person ENABLE TRIGGER ALL;
 
 
-ALTER TABLE lp_openididentifier DISABLE TRIGGER ALL;
-
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6KHNEe3', 2436141, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('6w7kmzC', 2436091, '2007-12-07 13:43:20.393704');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('CALDpFr', 2436171, '2008-03-06 09:55:27.289842');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('GMX7shE', 2436242, '2009-03-17 07:26:14.024613');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('MGWJnTL', 2436111, '2007-12-14 16:52:15.403833');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('R8FpwXd', 2436161, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('WQPMHdf', 2436081, '2007-11-12 15:23:19.847132');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('andrelop_oid', 431, '2005-06-06 08:59:51.561685');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('barbier_oid', 421, '2005-06-06 08:59:51.560604');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-importer_oid', 581, '2005-12-06 09:48:58.287679');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('bug-watch-updater_oid', 621, '2006-05-23 12:49:30.483464');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cCGE3LA', 2436101, '2007-12-14 16:52:15.403833');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cF4PNk3', 2436241, '2008-11-04 12:59:26.965843');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('callipeo_oid', 401, '2005-06-06 08:59:51.558429');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('carlos_oid', 131, '2005-06-06 08:59:51.615543');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('cprov_oid', 281, '2005-06-06 08:59:51.59705');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('daf_oid', 141, '2005-06-06 08:59:51.616666');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('danner_oid', 371, '2005-06-06 08:59:51.549651');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('ddaa_oid', 231, '2005-06-06 08:59:51.620823');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('debonzi_oid', 271, '2005-06-06 08:59:51.557224');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('edgar_oid', 331, '2005-06-06 08:59:51.621892');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('former-user_oid', 701, '2006-12-13 21:19:06.369142');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jblack_oid', 81, '2005-06-06 08:59:51.601584');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jdub_oid', 61, '2005-06-06 08:59:51.600523');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jordi_oid', 561, '2005-10-07 14:17:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jorge-gonzalez-gonzalez_oid', 411, '2005-06-06 08:59:51.559519');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('justdave_oid', 31, '2005-06-06 08:59:51.610048');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('jvprat_oid', 341, '2005-06-06 08:59:51.622908');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kYFxQYP', 2436243, '2009-08-04 10:50:39.383407');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kamion_oid', 41, '2005-06-06 08:59:51.611185');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('karl_oid', 631, '2006-05-23 12:49:30.483464');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kebil_oid', 491, '2005-06-06 08:59:51.568323');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('keybuk_oid', 51, '2005-06-06 08:59:51.608802');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kiko_oid', 91, '2005-06-06 08:59:51.594941');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kinnison_oid', 261, '2005-06-06 08:59:51.618722');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kreutzm_oid', 511, '2005-06-06 08:59:51.570701');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('kurem_oid', 461, '2005-06-06 08:59:51.565033');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-beta-owner_oid', 681, '2007-01-31 06:56:25.096519');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('launchpad-janitor_oid', 651, '2006-10-04 16:20:51.19954');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('lifeless_oid', 21, '2005-06-06 08:59:51.598107');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('limi_oid', 101, '2005-06-06 08:59:51.619713');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('luk-claes_oid', 451, '2005-06-06 08:59:51.563952');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mTmeENb', 2436231, '2008-06-27 14:49:11.149508');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('marilize_oid', 551, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mark_oid', 11, '2005-06-06 08:59:51.591618');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('martin-pitt_oid', 381, '2005-06-06 08:59:51.555051');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('matsubara_oid', 661, '2006-12-13 21:19:06.369142');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('morten_oid', 471, '2005-06-06 08:59:51.56614');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('mpo_oid', 481, '2005-06-06 08:59:51.567224');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name12_oid', 121, '2005-06-06 08:59:51.612277');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('name16_oid', 161, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('neMCQNd', 2436061, '2007-08-09 21:25:37.832976');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-priv_oid', 521, '2005-06-06 08:59:51.593849');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('no-team-memberships_oid', 2436021, '2007-02-19 11:17:57.755666');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('nsv_oid', 391, '2005-06-06 08:59:51.556132');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('one-membership_oid', 2436031, '2007-02-21 10:53:59.700105');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('rPwGRk4', 2436221, '2008-05-12 17:38:38.798696');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('salgado_oid', 291, '2005-06-06 08:59:51.596025');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('sigurd-ubuntu_oid', 351, '2005-06-06 08:59:51.623962');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('skacel_oid', 361, '2005-06-06 08:59:51.5244');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('spiv_oid', 71, '2005-06-06 08:59:51.551196');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stevea_oid', 111, '2005-06-06 08:59:51.599234');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('stub_oid', 221, '2005-06-06 08:59:51.59276');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('team-membership-janitor_oid', 671, '2006-10-04 16:20:51.19954');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('tsukimi_oid', 501, '2005-06-06 08:59:51.569518');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('valyag_oid', 441, '2005-06-06 08:59:51.562857');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('yEzBPbd', 2436151, '2007-12-18 16:31:34.790641');
-INSERT INTO lp_openididentifier (identifier, account, date_created) VALUES ('zRtPxw8', 243637, '2010-07-12 09:48:27.198885');
-
-
-ALTER TABLE lp_openididentifier ENABLE TRIGGER ALL;
-
-
 ALTER TABLE lp_personlocation DISABLE TRIGGER ALL;
 
 INSERT INTO lp_personlocation (id, date_created, person, latitude, longitude, time_zone, last_modified_by, date_last_modified, visible, locked) VALUES (1, '2007-06-05 18:34:52.127945', 12, NULL, NULL, 'Australia/Perth', 12, '2007-06-05 18:34:52.127945', true, false);
@@ -6311,6 +6332,13 @@
 ALTER TABLE personnotification ENABLE TRIGGER ALL;
 
 
+ALTER TABLE persontransferjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE persontransferjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE pocketchroot DISABLE TRIGGER ALL;
 
 
@@ -9827,6 +9855,13 @@
 ALTER TABLE questionbug ENABLE TRIGGER ALL;
 
 
+ALTER TABLE questionjob DISABLE TRIGGER ALL;
+
+
+
+ALTER TABLE questionjob ENABLE TRIGGER ALL;
+
+
 ALTER TABLE questionmessage DISABLE TRIGGER ALL;
 
 INSERT INTO questionmessage (id, question, message, action, new_status) VALUES (1, 6, 12, 35, 18);

=== modified file 'lib/lp/archivepublisher/config.py'
--- lib/lp/archivepublisher/config.py	2010-10-06 11:46:51 +0000
+++ lib/lp/archivepublisher/config.py	2010-10-17 10:57:50 +0000
@@ -51,12 +51,6 @@
             archive.distribution.name)
         update_pub_config(pubconf)
     elif archive.purpose == ArchivePurpose.PARTNER:
-        # Reset the list of components to partner only.  This prevents
-        # any publisher runs from generating components not related to
-        # the partner archive.
-        for distroseries in pubconf._distroseries.keys():
-            pubconf._distroseries[
-                distroseries]['components'] = ['partner']
         pubconf.distroroot = config.archivepublisher.root
         pubconf.archiveroot = os.path.join(
             pubconf.distroroot, archive.distribution.name + '-partner')
@@ -112,22 +106,13 @@
 
         for dr in distribution:
             distroseries_name = dr.name.encode('utf-8')
-            config_segment =  {
-                "archtags": []
-                }
-
-            for dar in dr.architectures:
-                if dar.enabled:
-                    config_segment["archtags"].append(
-                        dar.architecturetag.encode('utf-8'))
+            config_segment = {}
 
             if dr.lucilleconfig:
                 strio = StringIO(dr.lucilleconfig.encode('utf-8'))
                 config_segment["config"] = ConfigParser()
                 config_segment["config"].readfp(strio)
                 strio.close()
-                config_segment["components"] = config_segment["config"].get(
-                    "publishing", "components").split(" ")
 
                 self._distroseries[distroseries_name] = config_segment
 
@@ -150,12 +135,6 @@
                 'No Lucille config section for %s in %s' %
                     (dr, self.distroName))
 
-    def archTagsForSeries(self, dr):
-        return self.series(dr)["archtags"]
-
-    def componentsForSeries(self, dr):
-        return self.series(dr)["components"]
-
     def _extractConfigInfo(self):
         """Extract configuration information into the attributes we use"""
         self.stayofexecution = self._distroconfig.get(

=== modified file 'lib/lp/archivepublisher/ftparchive.py'
--- lib/lp/archivepublisher/ftparchive.py	2010-10-17 10:57:49 +0000
+++ lib/lp/archivepublisher/ftparchive.py	2010-10-17 10:57:50 +0000
@@ -196,7 +196,9 @@
         anything in them currently.
         """
         for distroseries in self.distroseries:
-            components = self._config.componentsForSeries(distroseries.name)
+            components = [
+                comp.name for comp in
+                self.publisher.archive.getComponentsForSeries(distroseries)]
             for pocket in PackagePublishingPocket.items:
                 if not fullpublish:
                     if not self.publisher.isDirty(distroseries, pocket):
@@ -242,7 +244,9 @@
                 "_".join([suite] + list(parts))))
         touch_list(comp, "source")
 
-        for arch in self._config.archTagsForSeries(distroseries.name):
+        arch_tags = [
+            a.architecturetag for a in distroseries.enabled_architectures]
+        for arch in arch_tags:
             # Touch more file lists for the archs.
             touch_list(comp, "binary-" + arch)
             touch_list(comp, "debian-installer", "binary-" + arch)
@@ -774,8 +778,11 @@
         """Generates the config stanza for an individual pocket."""
         suite = distroseries.getSuite(pocket)
 
-        archs = self._config.archTagsForSeries(distroseries.name)
-        comps = self._config.componentsForSeries(distroseries.name)
+        archs = [
+            a.architecturetag for a in distroseries.enabled_architectures]
+        comps = [
+            comp.name for comp in
+            self.publisher.archive.getComponentsForSeries(distroseries)]
 
         self.log.debug("Generating apt config for %s" % suite)
         apt_config.write(STANZA_TEMPLATE % {

=== modified file 'lib/lp/archivepublisher/publishing.py'
--- lib/lp/archivepublisher/publishing.py	2010-10-17 10:57:49 +0000
+++ lib/lp/archivepublisher/publishing.py	2010-10-17 10:57:50 +0000
@@ -298,12 +298,8 @@
 
                 self.release_files_needed.add((distroseries.name, pocket))
 
-                # Retrieve components from the publisher config because
-                # it gets overridden in getPubConfig to set the
-                # correct components for the archive being used.
-                for component_name in self._config.componentsForSeries(
-                        distroseries.name):
-                    component = getUtility(IComponentSet)[component_name]
+                components = self.archive.getComponentsForSeries(distroseries)
+                for component in components:
                     self._writeComponentIndexes(
                         distroseries, pocket, component)
 
@@ -450,8 +446,11 @@
             # and pocket, don't!
             return
 
-        all_components = self._config.componentsForSeries(distroseries.name)
-        all_architectures = self._config.archTagsForSeries(distroseries.name)
+        all_components = [
+            comp.name for comp in
+            self.archive.getComponentsForSeries(distroseries)]
+        all_architectures = [
+            a.architecturetag for a in distroseries.enabled_architectures]
         all_files = set()
         for component in all_components:
             self._writeSuiteSource(

=== modified file 'lib/lp/archivepublisher/tests/publisher-config.txt'
--- lib/lp/archivepublisher/tests/publisher-config.txt	2010-08-23 16:51:11 +0000
+++ lib/lp/archivepublisher/tests/publisher-config.txt	2010-10-17 10:57:50 +0000
@@ -22,13 +22,7 @@
     ...     for attr_name in config_attributes:
     ...         print '%s: %s' % (attr_name, getattr(config, attr_name))
     ...     for distroseries_name in sorted(config.distroSeriesNames()):
-    ...         print '%s:' % distroseries_name
-    ...         sorted_arches = sorted(
-    ...             config.archTagsForSeries(distroseries_name))
-    ...         print 'Architectures:', ', '.join(sorted_arches)
-    ...         sorted_components = sorted(
-    ...             config.componentsForSeries(distroseries_name))
-    ...         print 'Components:', ', '.join(sorted_components)
+    ...         print '%s' % distroseries_name
 
 
 == Primary ==
@@ -49,12 +43,8 @@
     cacheroot:       /var/tmp/archive/ubuntutest-cache
     miscroot:        /var/tmp/archive/ubuntutest-misc
     temproot:        /var/tmp/archive/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: main, multiverse, restricted, universe
-    hoary-test:
-      Architectures: amd64, i386
-      Components: main, multiverse, restricted, universe
+    breezy-autotest
+    hoary-test
 
 
 == PPAs ==
@@ -98,12 +88,8 @@
     cacheroot:       None
     miscroot:        None
     temproot:        /var/tmp/archive/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: main, multiverse, restricted, universe
-    hoary-test:
-      Architectures: amd64, i386
-      Components: main, multiverse, restricted, universe
+    breezy-autotest
+    hoary-test
 
 There is a separate location for private PPAs that is used if the
 archive is marked as private:
@@ -133,12 +119,8 @@
     cacheroot:       None
     miscroot:        None
     temproot:        /var/tmp/archive/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: main, multiverse, restricted, universe
-    hoary-test:
-      Architectures: amd64, i386
-      Components: main, multiverse, restricted, universe
+    breezy-autotest
+    hoary-test
 
 
 == Partner ==
@@ -163,12 +145,8 @@
     cacheroot:       None
     miscroot:        None
     temproot:        /var/tmp/archive/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: partner
-    hoary-test:
-      Architectures: amd64, i386
-      Components: partner
+    breezy-autotest
+    hoary-test
 
 
 == DEBUG ==
@@ -194,12 +172,8 @@
     cacheroot:       None
     miscroot:        None
     temproot:        /var/tmp/archive/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: main, multiverse, restricted, universe
-    hoary-test:
-      Architectures: amd64, i386
-      Components: main, multiverse, restricted, universe
+    breezy-autotest
+    hoary-test
 
 
 == COPY ==
@@ -223,9 +197,5 @@
     cacheroot:       /var/tmp/archive/ubuntutest-rebuildtest99/ubuntutest-cache
     miscroot:        /var/tmp/archive/ubuntutest-rebuildtest99/ubuntutest-misc
     temproot:        /var/tmp/archive/ubuntutest-rebuildtest99/ubuntutest-temp
-    breezy-autotest:
-      Architectures:
-      Components: main, multiverse, restricted, universe
-    hoary-test:
-      Architectures: amd64, i386
-      Components: main, multiverse, restricted, universe
+    breezy-autotest
+    hoary-test

=== modified file 'lib/lp/archivepublisher/tests/test_config.py'
--- lib/lp/archivepublisher/tests/test_config.py	2010-10-04 19:50:45 +0000
+++ lib/lp/archivepublisher/tests/test_config.py	2010-10-17 10:57:50 +0000
@@ -33,10 +33,6 @@
         self.assertEquals(len(dsns), 2)
         self.assertEquals(dsns[0], "breezy-autotest")
         self.assertEquals(dsns[1], "hoary-test")
-        self.assertRaises(LucilleConfigError,
-            d.archTagsForSeries, "somename")
-        self.assertRaises(LucilleConfigError,
-            d.archTagsForSeries, "unknown")
 
     def testInstantiate(self):
         """Config should instantiate"""
@@ -55,12 +51,6 @@
         self.assertEquals(dsns[0], "breezy-autotest")
         self.assertEquals(dsns[1], "hoary-test")
 
-    def testArchTagsForSeries(self):
-        """Config should have the arch tags for the drs"""
-        d = Config(self.ubuntutest)
-        archs = d.archTagsForSeries("hoary-test")
-        self.assertEquals(len(archs), 2)
-
     def testDistroConfig(self):
         """Config should have parsed a distro config"""
         d = Config(self.ubuntutest)

=== modified file 'lib/lp/registry/interfaces/distroseries.py'
--- lib/lp/registry/interfaces/distroseries.py	2010-10-15 10:54:34 +0000
+++ lib/lp/registry/interfaces/distroseries.py	2010-10-17 10:57:50 +0000
@@ -379,6 +379,9 @@
     # DistroArchSeries lookup properties/methods.
     architectures = Attribute("All architectures in this series.")
 
+    enabled_architectures = Attribute(
+        "All enabled architectures in this series.")
+
     virtualized_architectures = Attribute(
         "All architectures in this series where PPA is supported.")
 

=== modified file 'lib/lp/registry/model/distroseries.py'
--- lib/lp/registry/model/distroseries.py	2010-10-15 10:54:34 +0000
+++ lib/lp/registry/model/distroseries.py	2010-10-17 10:57:50 +0000
@@ -349,6 +349,15 @@
         return None
 
     @property
+    def enabled_architectures(self):
+        store = Store.of(self)
+        results = store.find(
+            DistroArchSeries,
+            DistroArchSeries.distroseries == self,
+            DistroArchSeries.enabled == True)
+        return results.order_by(DistroArchSeries.architecturetag)
+
+    @property
     def buildable_architectures(self):
         store = Store.of(self)
         origin = [

=== modified file 'lib/lp/soyuz/doc/archive.txt'
--- lib/lp/soyuz/doc/archive.txt	2010-10-09 16:36:22 +0000
+++ lib/lp/soyuz/doc/archive.txt	2010-10-17 10:57:50 +0000
@@ -46,6 +46,8 @@
     True
     >>> cprov_archive.is_main
     False
+    >>> cprov_archive.is_partner
+    False
     >>> cprov_archive.is_active
     True
     >>> cprov_archive.distribution.main_archive.is_main
@@ -1365,6 +1367,8 @@
     ...     ubuntutest, ArchivePurpose.PARTNER)
     >>> print partner_archive.name
     partner
+    >>> print partner_archive.is_partner
+    True
 
 It explicitly fails when purpose is PPA, since such lookup should be
 restricted by archive owner.

=== modified file 'lib/lp/soyuz/doc/distroarchseries.txt'
--- lib/lp/soyuz/doc/distroarchseries.txt	2010-10-17 03:45:49 +0000
+++ lib/lp/soyuz/doc/distroarchseries.txt	2010-10-17 10:57:50 +0000
@@ -34,6 +34,17 @@
     >>> print hoary_i386.enabled
     True
 
+`DistroSeries.enabled_architectures` is a `ResultSet` containing the
+architectures with that flag set.
+
+    >>> hoary_i386 in hoary.enabled_architectures
+    True
+    >>> from lp.testing import celebrity_logged_in
+    >>> with celebrity_logged_in('admin'):
+    ...     hoary_i386.enabled = False
+    >>> hoary_i386 in hoary.enabled_architectures
+    False
+
 
 DistroArchSeries can tell you about their published releases
 ============================================================

=== modified file 'lib/lp/soyuz/interfaces/archive.py'
--- lib/lp/soyuz/interfaces/archive.py	2010-08-23 16:51:11 +0000
+++ lib/lp/soyuz/interfaces/archive.py	2010-10-17 10:57:50 +0000
@@ -337,6 +337,8 @@
 
     is_ppa = Attribute("True if this archive is a PPA.")
 
+    is_partner = Attribute("True if this archive is a partner archive.")
+
     is_copy = Attribute("True if this archive is a copy archive.")
 
     is_main = Bool(
@@ -462,6 +464,12 @@
         :return: True or False
         """
 
+    def getComponentsForSeries(distroseries):
+        """Calculate the components available for use in this archive.
+
+        :return: An `IResultSet` of `IComponent` objects.
+        """
+
     def updateArchiveCache():
         """Concentrate cached information about the archive contents.
 

=== modified file 'lib/lp/soyuz/model/archive.py'
--- lib/lp/soyuz/model/archive.py	2010-10-03 15:30:06 +0000
+++ lib/lp/soyuz/model/archive.py	2010-10-17 10:57:50 +0000
@@ -350,6 +350,11 @@
         return self.purpose == ArchivePurpose.PPA
 
     @property
+    def is_partner(self):
+        """See `IArchive`."""
+        return self.purpose == ArchivePurpose.PARTNER
+
+    @property
     def is_copy(self):
         """See `IArchive`."""
         return self.purpose == ArchivePurpose.COPY
@@ -834,6 +839,12 @@
 
         return permission
 
+    def getComponentsForSeries(self, distroseries):
+        if self.is_partner:
+            return [getUtility(IComponentSet)['partner']]
+        else:
+            return distroseries.components
+
     def updateArchiveCache(self):
         """See `IArchive`."""
         # Compiled regexp to remove puntication.
@@ -1101,7 +1112,7 @@
 
     def checkUploadToPocket(self, distroseries, pocket):
         """See `IArchive`."""
-        if self.purpose == ArchivePurpose.PARTNER:
+        if self.is_partner:
             if pocket not in (
                 PackagePublishingPocket.RELEASE,
                 PackagePublishingPocket.PROPOSED):

=== modified file 'lib/lp/soyuz/tests/test_archive.py'
--- lib/lp/soyuz/tests/test_archive.py	2010-10-04 19:50:45 +0000
+++ lib/lp/soyuz/tests/test_archive.py	2010-10-17 10:57:50 +0000
@@ -53,6 +53,7 @@
 from lp.soyuz.model.binarypackagerelease import (
     BinaryPackageReleaseDownloadCount,
     )
+from lp.soyuz.model.component import ComponentSelection
 from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
 from lp.testing import (
     ANONYMOUS,
@@ -1423,3 +1424,37 @@
         ap = ap_set.newComponentUploader(archive, person, component)
         self.assertEqual(set([ap]),
             set(archive.getComponentsForUploader(person)))
+
+
+class TestGetComponentsForSeries(TestCaseWithFactory):
+    """Tests for Archive.getComponentsForSeries."""
+
+    layer = DatabaseFunctionalLayer
+
+    def setUp(self):
+        super(TestGetComponentsForSeries, self).setUp()
+        self.series = self.factory.makeDistroSeries()
+        self.comp1 = self.factory.makeComponent()
+        self.comp2 = self.factory.makeComponent()
+
+    def test_series_components_for_primary_archive(self):
+        # The primary archive uses the series' defined components.
+        archive = self.factory.makeArchive()
+        self.assertEquals(
+            0, archive.getComponentsForSeries(self.series).count())
+
+        ComponentSelection(distroseries=self.series, component=self.comp1)
+        ComponentSelection(distroseries=self.series, component=self.comp2)
+
+        self.assertEquals(
+            set((self.comp1, self.comp2)),
+            set(archive.getComponentsForSeries(self.series)))
+
+    def test_partner_component_for_partner_archive(self):
+        # The partner archive always uses only the 'partner' component.
+        archive = self.factory.makeArchive(purpose=ArchivePurpose.PARTNER)
+        ComponentSelection(distroseries=self.series, component=self.comp1)
+        partner_comp = getUtility(IComponentSet)['partner']
+        self.assertEquals(
+            [partner_comp],
+            list(archive.getComponentsForSeries(self.series)))