Merge lp:~michael.nelson/launchpad/db-changes-build-generalisation-new into lp:launchpad/db-devel

Proposed by Michael Nelson
Status: Merged
Merged at revision: 9405
Proposed branch: lp:~michael.nelson/launchpad/db-changes-build-generalisation-new
Merge into: lp:launchpad/db-devel
Diff against target: 736 lines (+484/-113)
5 files modified
database/sampledata/current-dev.sql (+112/-44)
database/sampledata/current.sql (+112/-44)
database/schema/comments.sql (+26/-17)
database/schema/patch-2207-57-0.sql (+210/-0)
database/schema/security.cfg (+24/-8)
To merge this branch: bzr merge lp:~michael.nelson/launchpad/db-changes-build-generalisation-new
Reviewer Review Type Date Requested Status
Björn Tillenius (community) db Approve
Stuart Bishop (community) db Approve
Review via email: mp+25594@code.launchpad.net

Description of the change

This branch is the schema change required for:

https://blueprints.edge.launchpad.net/soyuz/+spec/build-generalisation
https://dev.launchpad.net/LEP/GeneralBuildHistories

A slightly out-of-date visual for the schema change can be seen here:
http://people.ubuntu.com/~wgrant/launchpad/buildfarm/new-build-model-again.png

Overview
========
This schema change splits the current Build table into three: BuildFarmJob, PackageBuild and BinaryPackageBuild, and then migrates the data across. It also updates foreign key references, and some old views that are still used by the codebase to use the new tables.

I did chat with stub about this and he said with only a few hundred thousand records, performance isn't an issue, but it would be good to get him to confirm that after reading through the patch (we'll also test it on dogfood).

There is a pipeline of over 7k lines of code changes that need to land with this that ensures all the tests pass. It's all approved, currently ending with:

https://code.edge.launchpad.net/~michael.nelson/launchpad/567922-binarypackagebuild-new-table-8/+merge/25515

I just need to merge those changes with a fresh db-devel and resolve conflicts, before getting this on dogfood for some serious testing.

To post a comment you must log in.
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Hi stub or BjornT:

When I ran this schema change (together with the code changes) through ec2 test, I see the following error in test_sampledata - it seems related to moving the old build table to the todrop namespace rather than deleting it leaves the constraints in place - I assume I just remove the constraints on todrop.build?

http://pastebin.ubuntu.com/436693/

Also, there are a bunch of other failures:

http://pastebin.ubuntu.com/436699/

which are (I assume) because listReferences(cursor(), 'libraryfilealias', 'id') still returns 'build' as a from table?
http://pastebin.ubuntu.com/436710/

Revision history for this message
Michael Nelson (michael.nelson) wrote :

Never mind... dropping the constraints on todrop.build worked.

Revision history for this message
Stuart Bishop (stub) wrote :

Yes, you need to manually drop the constraints in the DB patch I'm afraid.

Revision history for this message
Stuart Bishop (stub) wrote :
Download full text (3.4 KiB)

This looks great. Comments, naming standards, indexes - all pretty good.

+CREATE TABLE BinaryPackageBuild (
+ id serial PRIMARY KEY,
+ package_build integer NOT NULL CONSTRAINT binarypackagebuild__package_build__fk REFERENCES packagebuild,
+ distro_arch_series integer NOT NULL CONSTRAINT binarypackagebuild__distro_arch_series__fk REFERENCES distroarchseries,
+ source_package_release integer NOT NULL CONSTRAINT binarypackagebuild__source_package_release__fk REFERENCES sourcepackagerelease

I believe Sourcepackage is one word in Launchpad's vocabulary, so that last column should be sourcepackage_release. Confirm with Bjorn.

+CREATE TABLE BinaryPackageBuild (
+ id serial PRIMARY KEY,
+ package_build integer NOT NULL CONSTRAINT binarypackagebuild__package_build__fk REFERENCES packagebuild,
+ distro_arch_series integer NOT NULL CONSTRAINT binarypackagebuild__distro_arch_series__fk REFERENCES distroarchseries,
+ source_package_release integer NOT NULL CONSTRAINT binarypackagebuild__source_package_release__fk REFERENCES sourcepackagerelease
+);
+
+CREATE UNIQUE INDEX binarypackagebuild__package_build__idx ON binarypackagebuild(package_build);
+-- Indexes that we can no longer create:
+-- CREATE UNIQUE INDEX binarypackagebuild__distro_arch_series_uniq__idx ON binarypackagebuild(distro_arch_series, source_package_release, archive)
+-- CREATE INDEX binarypackagebuild__distro_arch_series__status__idx ON binarypackagebuild(distro_arch_series, status?)
+-- CREATE INDEX binarypackagebuild__distro_arch_series__date_finished ON binarypackagebuild(distro_arch_series, date_finished)
+CREATE INDEX binarypackagebuild__source_package_release_idx ON binarypackagebuild(source_package_release);

We might need an index on distro_arch_series too

CREATE INDEX binarypackagebuild__distro_arch_series__idx ON BinaryPackageBuild(distro_arch_series);

+-- Step 2
+-- Migrate the current data from the build table to the newly created
+-- relationships.
+CREATE OR REPLACE FUNCTION migrate_build_rows() RETURNS integer
+LANGUAGE plpgsql AS
+$$
+DECLARE
+ build_info RECORD;
+ rows_migrated integer;
+ buildfarmjob_id integer;
+ packagebuild_id integer;
+BEGIN
+ rows_migrated := 0;
+ FOR build_info IN
+ SELECT
+ build.id,
+ build.processor,
+ archive.require_virtualized AS virtualized,
+ -- Currently we do not know if a build was virtual or not? (it's
+ -- only on the archive and the builder, both of which can
+ -- change). IBuild.is_virtualized just queries the archive.
+ build.datecreated AS date_created,
+ (build.datebuilt - build.buildduration) AS date_started,
+ build.datebuilt AS date_finished,
+ build.date_first_dispatched,
+ build.builder,
+ build.buildstate AS status,
+ build.buildlog AS log,
+ build.archive,
+ build.pocket,
+ build.upload_log,
+ build.dependencies,
+ build.distroarchseries AS distro_arch_series,
+ build.sourcepackagerelease AS source_package_release,
+ build.build_warnings -- We don't seem to use this in LP code at all?
+ FROM
+ build JOIN archive ON build.archive = archive.id

We have to have 'ORDER BY Build.id' at the end here. Any data migration in a DB patch is run individually on each database replica. We have to guarantee that it will run iden...

Read more...

review: Approve (db)
Revision history for this message
Michael Nelson (michael.nelson) wrote :
Download full text (5.2 KiB)

On Thu, May 20, 2010 at 4:29 PM, Stuart Bishop
<email address hidden> wrote:
> Review: Approve db
> This looks great. Comments, naming standards, indexes - all pretty good.

Thanks Stuart.

>
>
> +CREATE TABLE BinaryPackageBuild (
> + id serial PRIMARY KEY,
> + package_build integer NOT NULL CONSTRAINT binarypackagebuild__package_build__fk REFERENCES packagebuild,
> + distro_arch_series integer NOT NULL CONSTRAINT binarypackagebuild__distro_arch_series__fk REFERENCES distroarchseries,
> + source_package_release integer NOT NULL CONSTRAINT binarypackagebuild__source_package_release__fk REFERENCES sourcepackagerelease
>
> I believe Sourcepackage is one word in Launchpad's vocabulary, so that last column should be sourcepackage_release. Confirm with Bjorn.

The current devel code has sourcepackagerelease (as well as lots of
other non-underscored vars seen in the schema change - datecreated,
buildlog, etc.), and part of this change is to start using underscores
consistently.

Grepping for "source_package" in the tip of db-devel has 1113 hits
(skip over the wadl ;) ) for variable names "source_package" in
registry, as well as things like "source_package_name",
"source_package_format" etc. (admittedly, there are many more for
"sourcepackage", due to the old non-underscored variable and column
names (sourcepackagename, sourcepackagerelease etc.)

Since no one commented on the suggestion in the diagram at:

http://people.ubuntu.com/~wgrant/launchpad/buildfarm/new-build-model-again.png

I've gone ahead and code source_package_release through the pipeline
of changes. Bjorn, if you feel strongly about it, I can change the
schema and the code (or just change the schema and field definition
for the moment?), but I'd prefer to leave it for the moment, and if
you'd like the change, do a separate branch later to standardise
(we'll need to do this anyway as we've lots of other classes that
still use names without any underscores).

>
>
> +CREATE TABLE BinaryPackageBuild (
> + id serial PRIMARY KEY,
> + package_build integer NOT NULL CONSTRAINT binarypackagebuild__package_build__fk REFERENCES packagebuild,
> + distro_arch_series integer NOT NULL CONSTRAINT binarypackagebuild__distro_arch_series__fk REFERENCES distroarchseries,
> + source_package_release integer NOT NULL CONSTRAINT binarypackagebuild__source_package_release__fk REFERENCES sourcepackagerelease
> +);
> +
> +CREATE UNIQUE INDEX binarypackagebuild__package_build__idx ON binarypackagebuild(package_build);
> +-- Indexes that we can no longer create:
> +-- CREATE UNIQUE INDEX binarypackagebuild__distro_arch_series_uniq__idx ON binarypackagebuild(distro_arch_series, source_package_release, archive)
> +-- CREATE INDEX binarypackagebuild__distro_arch_series__status__idx ON binarypackagebuild(distro_arch_series, status?)
> +-- CREATE INDEX binarypackagebuild__distro_arch_series__date_finished ON binarypackagebuild(distro_arch_series, date_finished)
> +CREATE INDEX binarypackagebuild__source_package_release_idx ON binarypackagebuild(source_package_release);
>
> We might need an index on distro_arch_series too
>
> CREATE INDEX binarypackagebuild__distro_arch_series__idx ON BinaryPackageBuild(distro_a...

Read more...

Revision history for this message
Björn Tillenius (bjornt) wrote :

The schema changes look good. I'm having a hard time following the migration part, but I trust that Stuart reviewed it, and that you test it on dogfood properly.

review: Approve (db)
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Thanks Bjorn. I've another question for you both: the patch moves the old build table to todrop.build and deletes its constraints.

Should I have a contingency patch that (1) restores the old table, (2) restores its constraints (3) moves the new tables to the todrop namespace?

I'm kindof nervous about landing this as I don't see a way to back it out if need be (given the size etc.)

I'll get this tested today on dogfood.

Revision history for this message
Stuart Bishop (stub) wrote :

You could write a patch to do that now and probably waste your time, or you could write it if you actually need it. The trick will not be renaming the tables, but migrating updated data back.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

{{{
launchpad@mawson:/srv/launchpad.net/codelines/current$ time PGUSER=postgres LPCONFIG=dogfood bin/py
./database/schema/upgrade.py -vv -p
2010-05-26 11:58:50 INFO Applying patches to unreplicated environment.
2010-05-26 11:58:50 INFO Applying trusted.sql
2010-05-26 11:58:50 DEBUG Committing changes
2010-05-26 11:58:50 DEBUG Found patch 2207.57.0 -- ./database/schema/patch-2207-57-0.sql
2010-05-26 11:58:50 INFO Applying ./database/schema/patch-2207-57-0.sql
^[2010-05-26 13:41:57 DEBUG Committing changes
2010-05-26 13:41:57 INFO Applying comments.sql
2010-05-26 13:42:03 DEBUG Committing changes
2010-05-26 13:42:03 DEBUG Committing changes

real 103m14.459s
user 0m1.340s
sys 0m0.430s
launchpad@mawson
}}}

Revision history for this message
Stuart Bishop (stub) wrote :

Dogfood isn't great for timings. Staging timings are better.

If we think it is too slow, or we can't wait to land on staging to be sure, I'll need to refactor the migration.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

{{{
11:01 < stub> noodles775: It took 17 minutes on staging, so maybe 35-40 mins to apply to production.
11:01 < noodles775> stub: thanks. I assume that's way too long? What is acceptable?
11:02 < stub> Thats up to the release manager and losas
11:02 < noodles775> OK.
11:10 < stub> noodles775: This version should be identical and takes 8 minutes, so 16-20 mins on production: http://paste.ubuntu.com/440285/
11:11 < noodles775> Thanks stub... I'll update and send it off to ec2... but at this time I don't think I'll be landing it.. there seem to be other issues with teh current db-devel on dogfood that need looking in to.
}}}

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'database/sampledata/current-dev.sql'
--- database/sampledata/current-dev.sql 2010-04-28 13:58:04 +0000
+++ database/sampledata/current-dev.sql 2010-05-27 13:25:49 +0000
@@ -785,6 +785,12 @@
785785
786786
787787
788
789
790
791
792
793
788SET SESSION AUTHORIZATION DEFAULT;794SET SESSION AUTHORIZATION DEFAULT;
789795
790ALTER TABLE account DISABLE TRIGGER ALL;796ALTER TABLE account DISABLE TRIGGER ALL;
@@ -2512,21 +2518,6 @@
2512ALTER TABLE authtoken ENABLE TRIGGER ALL;2518ALTER TABLE authtoken ENABLE TRIGGER ALL;
25132519
25142520
2515ALTER TABLE binarypackagename DISABLE TRIGGER ALL;
2516
2517INSERT INTO binarypackagename (id, name) VALUES (6, 'foobar');
2518INSERT INTO binarypackagename (id, name) VALUES (8, 'mozilla-firefox');
2519INSERT INTO binarypackagename (id, name) VALUES (13, 'pmount');
2520INSERT INTO binarypackagename (id, name) VALUES (14, 'linux-2.6.12');
2521INSERT INTO binarypackagename (id, name) VALUES (15, 'at');
2522INSERT INTO binarypackagename (id, name) VALUES (16, 'cdrkit');
2523INSERT INTO binarypackagename (id, name) VALUES (17, 'commercialpackage');
2524INSERT INTO binarypackagename (id, name) VALUES (18, 'mozilla-firefox-data');
2525
2526
2527ALTER TABLE binarypackagename ENABLE TRIGGER ALL;
2528
2529
2530ALTER TABLE processor DISABLE TRIGGER ALL;2521ALTER TABLE processor DISABLE TRIGGER ALL;
25312522
2532INSERT INTO processor (id, family, name, title, description) VALUES (1, 1, '386', 'Intel 386', 'Intel 386 and its many derivatives and clones, the basic 32-bit chip in the x86 family');2523INSERT INTO processor (id, family, name, title, description) VALUES (1, 1, '386', 'Intel 386', 'Intel 386 and its many derivatives and clones, the basic 32-bit chip in the x86 family');
@@ -2546,6 +2537,68 @@
2546ALTER TABLE builder ENABLE TRIGGER ALL;2537ALTER TABLE builder ENABLE TRIGGER ALL;
25472538
25482539
2540ALTER TABLE buildfarmjob DISABLE TRIGGER ALL;
2541
2542INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (2, 1, false, '2004-09-27 11:57:13', '2004-09-27 11:55:13', '2004-09-27 11:57:14', NULL, 1, 1, 1, 1);
2543INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (6, 1, false, '2006-12-01 00:00:00', '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, 1, 2, 1, 1);
2544INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (7, 1, false, '2005-03-24 00:00:00', '2005-03-24 23:58:43', '2005-03-25 00:00:03', NULL, 1, 1, 1, 1);
2545INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (8, 1, false, '2005-09-30 00:00:00', NULL, NULL, NULL, NULL, 6, NULL, 1);
2546INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (9, 1, false, '2005-10-01 00:00:00', '2005-10-01 23:56:41', '2005-10-02 00:00:01', NULL, 1, 2, 1, 1);
2547INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (10, 1, false, '2006-01-27 00:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2548INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (11, 1, false, '2006-02-14 00:00:00', NULL, NULL, NULL, NULL, 0, NULL, 1);
2549INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (12, 1, false, '2006-02-28 00:00:00', '2006-02-27 23:53:59', '2006-02-28 00:00:01', NULL, 1, 3, 1, 1);
2550INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (13, 1, false, '2006-03-21 00:00:00', '2006-03-21 00:58:33', '2006-03-21 01:00:03', NULL, 1, 5, 1, 1);
2551INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (14, 1, false, '2006-03-22 00:00:00', '2006-03-21 00:58:32', '2006-03-21 01:00:02', NULL, 1, 5, 1, 1);
2552INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (15, 1, false, '2006-03-22 00:00:01', '2006-03-21 00:58:30', '2006-03-21 01:00:00', NULL, 1, 5, 1, 1);
2553INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (16, 1, false, '2005-03-24 00:00:01', '2005-03-24 23:58:42', '2005-03-25 00:00:02', NULL, 1, 1, 1, 1);
2554INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (18, 1, false, '2004-09-27 11:57:14', '2004-09-27 11:55:12', '2004-09-27 11:57:13', NULL, 1, 1, 1, 1);
2555INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (19, 1, false, '2005-03-24 00:00:02', '2005-03-24 23:58:41', '2005-03-25 00:00:01', NULL, 1, 1, 1, 1);
2556INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (21, 1, false, '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, 2, NULL, 1);
2557INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (22, 1, false, '2007-04-20 00:00:00', '2007-04-19 23:58:41', '2007-04-20 00:00:01', NULL, 1, 7, 1, 1);
2558INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (23, 1, false, '2006-04-11 12:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2559INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (24, 1, true, '2007-05-30 00:00:00', '2007-05-29 23:58:41', '2007-05-30 00:00:01', NULL, 1, 2, 1, 1);
2560INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (25, 1, true, '2007-07-08 12:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2561INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (26, 1, true, '2007-07-08 00:00:00', '2007-07-07 23:58:41', '2007-07-08 00:00:01', NULL, 1, 2, 1, 1);
2562INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (27, 1, true, '2007-07-24 00:00:00', '2007-07-23 23:58:41', '2007-07-24 00:00:01', NULL, 1, 1, 1, 1);
2563INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (28, 3, true, '2007-08-10 00:00:00', '2007-08-10 00:00:00', '2007-08-10 00:00:13', NULL, 1, 1, 1, 1);
2564INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (29, 1, false, '2007-08-09 21:54:18.553132', NULL, '2007-08-09 23:59:59', NULL, NULL, 1, NULL, 1);
2565INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (30, 3, false, '2007-08-10 00:00:01', '2007-08-10 00:00:01', '2007-08-10 00:00:14', NULL, 1, 1, 1, 1);
2566
2567
2568ALTER TABLE buildfarmjob ENABLE TRIGGER ALL;
2569
2570
2571ALTER TABLE packagebuild DISABLE TRIGGER ALL;
2572
2573INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (1, 2, 1, 0, NULL, NULL);
2574INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (2, 6, 1, 0, NULL, NULL);
2575INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (3, 7, 1, 0, NULL, NULL);
2576INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (4, 8, 1, 0, NULL, NULL);
2577INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (5, 9, 1, 0, NULL, NULL);
2578INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (6, 10, 1, 0, NULL, NULL);
2579INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (7, 11, 1, 0, NULL, NULL);
2580INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (8, 12, 1, 0, NULL, 'cpp (>= 4:4.0.1-3), gcc-4.0 (>= 4.0.1-2)');
2581INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (9, 13, 1, 0, NULL, NULL);
2582INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (10, 14, 1, 0, NULL, NULL);
2583INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (11, 15, 1, 0, NULL, NULL);
2584INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (12, 16, 1, 0, NULL, NULL);
2585INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (13, 18, 1, 0, NULL, NULL);
2586INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (14, 19, 1, 0, NULL, NULL);
2587INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (15, 21, 1, 0, NULL, NULL);
2588INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (16, 22, 1, 0, 91, NULL);
2589INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (17, 23, 1, 0, NULL, NULL);
2590INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (18, 24, 11, 0, NULL, NULL);
2591INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (19, 25, 9, 0, NULL, NULL);
2592INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (20, 26, 9, 0, NULL, NULL);
2593INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (21, 27, 9, 0, NULL, NULL);
2594INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (22, 28, 9, 0, NULL, NULL);
2595INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (23, 29, 12, 0, NULL, NULL);
2596INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (24, 30, 1, 0, NULL, NULL);
2597
2598
2599ALTER TABLE packagebuild ENABLE TRIGGER ALL;
2600
2601
2549ALTER TABLE section DISABLE TRIGGER ALL;2602ALTER TABLE section DISABLE TRIGGER ALL;
25502603
2551INSERT INTO section (id, name) VALUES (1, 'base');2604INSERT INTO section (id, name) VALUES (1, 'base');
@@ -2681,35 +2734,50 @@
2681ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL;2734ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL;
26822735
26832736
2684ALTER TABLE build DISABLE TRIGGER ALL;2737ALTER TABLE binarypackagebuild DISABLE TRIGGER ALL;
26852738
2686INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (2, '2004-09-27 11:57:13', 1, 1, 1, '2004-09-27 11:57:14', '00:02:01', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2739INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (2, 1, 1, 14);
2687INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (6, '2006-12-01 00:00:00', 1, 1, 2, '2006-12-01 00:00:01', '00:00:01', 1, 1, 32, 0, NULL, 1, NULL, NULL, NULL);2740INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (6, 2, 1, 32);
2688INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (7, '2005-03-24 00:00:00', 1, 6, 1, '2005-03-25 00:00:03', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2741INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (7, 3, 6, 20);
2689INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (8, '2005-09-30 00:00:00', 1, 6, 6, NULL, NULL, NULL, NULL, 14, 0, NULL, 1, NULL, NULL, NULL);2742INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (8, 4, 6, 14);
2690INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (9, '2005-10-01 00:00:00', 1, 1, 2, '2005-10-02 00:00:01', '00:03:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2743INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (9, 5, 1, 20);
2691INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (10, '2006-01-27 00:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 26, 0, NULL, 1, NULL, NULL, NULL);2744INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (10, 6, 1, 26);
2692INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (11, '2006-02-14 00:00:00', 1, 6, 0, NULL, NULL, NULL, NULL, 25, 0, NULL, 1, NULL, NULL, NULL);2745INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (11, 7, 6, 25);
2693INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (12, '2006-02-28 00:00:00', 1, 6, 3, '2006-02-28 00:00:01', '00:06:02', 1, 1, 27, 0, 'cpp (>= 4:4.0.1-3), gcc-4.0 (>= 4.0.1-2)', 1, NULL, NULL, NULL);2746INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (12, 8, 6, 27);
2694INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (13, '2006-03-21 00:00:00', 1, 1, 5, '2006-03-21 01:00:03', '00:01:30', 1, 1, 17, 0, NULL, 1, NULL, NULL, NULL);2747INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (13, 9, 1, 17);
2695INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (14, '2006-03-22 00:00:00', 1, 1, 5, '2006-03-21 01:00:02', '00:01:30', 1, 1, 28, 0, NULL, 1, NULL, NULL, NULL);2748INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (14, 10, 1, 28);
2696INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (15, '2006-03-22 00:00:01', 1, 1, 5, '2006-03-21 01:00:00', '00:01:30', 1, 1, 29, 0, NULL, 1, NULL, NULL, NULL);2749INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (15, 11, 1, 29);
2697INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (16, '2005-03-24 00:00:01', 1, 11, 1, '2005-03-25 00:00:02', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2750INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (16, 12, 11, 20);
2698INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (18, '2004-09-27 11:57:14', 1, 8, 1, '2004-09-27 11:57:13', '00:02:01', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2751INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (18, 13, 8, 14);
2699INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (19, '2005-03-24 00:00:02', 1, 8, 1, '2005-03-25 00:00:01', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2752INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (19, 14, 8, 20);
2700INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (21, '2006-12-01 00:00:01', 1, 1, 2, NULL, NULL, NULL, NULL, 33, 0, NULL, 1, NULL, NULL, NULL);2753INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (21, 15, 1, 33);
2701INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (22, '2007-04-20 00:00:00', 1, 8, 7, '2007-04-20 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 1, NULL, NULL, 91);2754INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (22, 16, 8, 33);
2702INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (23, '2006-04-11 12:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 35, 0, NULL, 1, NULL, NULL, NULL);2755INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (23, 17, 1, 35);
2703INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (24, '2007-05-30 00:00:00', 1, 1, 2, '2007-05-30 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 11, NULL, NULL, NULL);2756INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (24, 18, 1, 33);
2704INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (25, '2007-07-08 12:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 35, 0, NULL, 9, NULL, NULL, NULL);2757INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (25, 19, 1, 35);
2705INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (26, '2007-07-08 00:00:00', 1, 8, 2, '2007-07-08 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 9, NULL, NULL, NULL);2758INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (26, 20, 8, 33);
2706INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (27, '2007-07-24 00:00:00', 1, 1, 1, '2007-07-24 00:00:01', '00:01:20', 1, 1, 20, 0, NULL, 9, NULL, NULL, NULL);2759INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (27, 21, 1, 20);
2707INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (28, '2007-08-10 00:00:00', 3, 12, 1, '2007-08-10 00:00:13', '00:00:13', 1, 1, 14, 0, NULL, 9, NULL, NULL, NULL);2760INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (28, 22, 12, 14);
2708INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (29, '2007-08-09 21:54:18.553132', 1, 8, 1, '2007-08-09 23:59:59', NULL, NULL, NULL, 36, 0, NULL, 12, NULL, NULL, NULL);2761INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (29, 23, 8, 36);
2709INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (30, '2007-08-10 00:00:01', 3, 12, 1, '2007-08-10 00:00:14', '00:00:13', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2762INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (30, 24, 12, 14);
27102763
27112764
2712ALTER TABLE build ENABLE TRIGGER ALL;2765ALTER TABLE binarypackagebuild ENABLE TRIGGER ALL;
2766
2767
2768ALTER TABLE binarypackagename DISABLE TRIGGER ALL;
2769
2770INSERT INTO binarypackagename (id, name) VALUES (6, 'foobar');
2771INSERT INTO binarypackagename (id, name) VALUES (8, 'mozilla-firefox');
2772INSERT INTO binarypackagename (id, name) VALUES (13, 'pmount');
2773INSERT INTO binarypackagename (id, name) VALUES (14, 'linux-2.6.12');
2774INSERT INTO binarypackagename (id, name) VALUES (15, 'at');
2775INSERT INTO binarypackagename (id, name) VALUES (16, 'cdrkit');
2776INSERT INTO binarypackagename (id, name) VALUES (17, 'commercialpackage');
2777INSERT INTO binarypackagename (id, name) VALUES (18, 'mozilla-firefox-data');
2778
2779
2780ALTER TABLE binarypackagename ENABLE TRIGGER ALL;
27132781
27142782
2715ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL;2783ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL;
27162784
=== modified file 'database/sampledata/current.sql'
--- database/sampledata/current.sql 2010-04-28 13:58:04 +0000
+++ database/sampledata/current.sql 2010-05-27 13:25:49 +0000
@@ -785,6 +785,12 @@
785785
786786
787787
788
789
790
791
792
793
788SET SESSION AUTHORIZATION DEFAULT;794SET SESSION AUTHORIZATION DEFAULT;
789795
790ALTER TABLE account DISABLE TRIGGER ALL;796ALTER TABLE account DISABLE TRIGGER ALL;
@@ -2470,21 +2476,6 @@
2470ALTER TABLE authtoken ENABLE TRIGGER ALL;2476ALTER TABLE authtoken ENABLE TRIGGER ALL;
24712477
24722478
2473ALTER TABLE binarypackagename DISABLE TRIGGER ALL;
2474
2475INSERT INTO binarypackagename (id, name) VALUES (6, 'foobar');
2476INSERT INTO binarypackagename (id, name) VALUES (8, 'mozilla-firefox');
2477INSERT INTO binarypackagename (id, name) VALUES (13, 'pmount');
2478INSERT INTO binarypackagename (id, name) VALUES (14, 'linux-2.6.12');
2479INSERT INTO binarypackagename (id, name) VALUES (15, 'at');
2480INSERT INTO binarypackagename (id, name) VALUES (16, 'cdrkit');
2481INSERT INTO binarypackagename (id, name) VALUES (17, 'commercialpackage');
2482INSERT INTO binarypackagename (id, name) VALUES (18, 'mozilla-firefox-data');
2483
2484
2485ALTER TABLE binarypackagename ENABLE TRIGGER ALL;
2486
2487
2488ALTER TABLE processor DISABLE TRIGGER ALL;2479ALTER TABLE processor DISABLE TRIGGER ALL;
24892480
2490INSERT INTO processor (id, family, name, title, description) VALUES (1, 1, '386', 'Intel 386', 'Intel 386 and its many derivatives and clones, the basic 32-bit chip in the x86 family');2481INSERT INTO processor (id, family, name, title, description) VALUES (1, 1, '386', 'Intel 386', 'Intel 386 and its many derivatives and clones, the basic 32-bit chip in the x86 family');
@@ -2504,6 +2495,68 @@
2504ALTER TABLE builder ENABLE TRIGGER ALL;2495ALTER TABLE builder ENABLE TRIGGER ALL;
25052496
25062497
2498ALTER TABLE buildfarmjob DISABLE TRIGGER ALL;
2499
2500INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (2, 1, false, '2004-09-27 11:57:13', '2004-09-27 11:55:13', '2004-09-27 11:57:14', NULL, 1, 1, 1, 1);
2501INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (6, 1, false, '2006-12-01 00:00:00', '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, 1, 2, 1, 1);
2502INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (7, 1, false, '2005-03-24 00:00:00', '2005-03-24 23:58:43', '2005-03-25 00:00:03', NULL, 1, 1, 1, 1);
2503INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (8, 1, false, '2005-09-30 00:00:00', NULL, NULL, NULL, NULL, 6, NULL, 1);
2504INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (9, 1, false, '2005-10-01 00:00:00', '2005-10-01 23:56:41', '2005-10-02 00:00:01', NULL, 1, 2, 1, 1);
2505INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (10, 1, false, '2006-01-27 00:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2506INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (11, 1, false, '2006-02-14 00:00:00', NULL, NULL, NULL, NULL, 0, NULL, 1);
2507INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (12, 1, false, '2006-02-28 00:00:00', '2006-02-27 23:53:59', '2006-02-28 00:00:01', NULL, 1, 3, 1, 1);
2508INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (13, 1, false, '2006-03-21 00:00:00', '2006-03-21 00:58:33', '2006-03-21 01:00:03', NULL, 1, 5, 1, 1);
2509INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (14, 1, false, '2006-03-22 00:00:00', '2006-03-21 00:58:32', '2006-03-21 01:00:02', NULL, 1, 5, 1, 1);
2510INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (15, 1, false, '2006-03-22 00:00:01', '2006-03-21 00:58:30', '2006-03-21 01:00:00', NULL, 1, 5, 1, 1);
2511INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (16, 1, false, '2005-03-24 00:00:01', '2005-03-24 23:58:42', '2005-03-25 00:00:02', NULL, 1, 1, 1, 1);
2512INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (18, 1, false, '2004-09-27 11:57:14', '2004-09-27 11:55:12', '2004-09-27 11:57:13', NULL, 1, 1, 1, 1);
2513INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (19, 1, false, '2005-03-24 00:00:02', '2005-03-24 23:58:41', '2005-03-25 00:00:01', NULL, 1, 1, 1, 1);
2514INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (21, 1, false, '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, 2, NULL, 1);
2515INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (22, 1, false, '2007-04-20 00:00:00', '2007-04-19 23:58:41', '2007-04-20 00:00:01', NULL, 1, 7, 1, 1);
2516INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (23, 1, false, '2006-04-11 12:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2517INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (24, 1, true, '2007-05-30 00:00:00', '2007-05-29 23:58:41', '2007-05-30 00:00:01', NULL, 1, 2, 1, 1);
2518INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (25, 1, true, '2007-07-08 12:00:00', NULL, NULL, NULL, NULL, 1, NULL, 1);
2519INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (26, 1, true, '2007-07-08 00:00:00', '2007-07-07 23:58:41', '2007-07-08 00:00:01', NULL, 1, 2, 1, 1);
2520INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (27, 1, true, '2007-07-24 00:00:00', '2007-07-23 23:58:41', '2007-07-24 00:00:01', NULL, 1, 1, 1, 1);
2521INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (28, 3, true, '2007-08-10 00:00:00', '2007-08-10 00:00:00', '2007-08-10 00:00:13', NULL, 1, 1, 1, 1);
2522INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (29, 1, false, '2007-08-09 21:54:18.553132', NULL, '2007-08-09 23:59:59', NULL, NULL, 1, NULL, 1);
2523INSERT INTO buildfarmjob (id, processor, virtualized, date_created, date_started, date_finished, date_first_dispatched, builder, status, log, job_type) VALUES (30, 3, false, '2007-08-10 00:00:01', '2007-08-10 00:00:01', '2007-08-10 00:00:14', NULL, 1, 1, 1, 1);
2524
2525
2526ALTER TABLE buildfarmjob ENABLE TRIGGER ALL;
2527
2528
2529ALTER TABLE packagebuild DISABLE TRIGGER ALL;
2530
2531INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (1, 2, 1, 0, NULL, NULL);
2532INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (2, 6, 1, 0, NULL, NULL);
2533INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (3, 7, 1, 0, NULL, NULL);
2534INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (4, 8, 1, 0, NULL, NULL);
2535INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (5, 9, 1, 0, NULL, NULL);
2536INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (6, 10, 1, 0, NULL, NULL);
2537INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (7, 11, 1, 0, NULL, NULL);
2538INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (8, 12, 1, 0, NULL, 'cpp (>= 4:4.0.1-3), gcc-4.0 (>= 4.0.1-2)');
2539INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (9, 13, 1, 0, NULL, NULL);
2540INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (10, 14, 1, 0, NULL, NULL);
2541INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (11, 15, 1, 0, NULL, NULL);
2542INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (12, 16, 1, 0, NULL, NULL);
2543INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (13, 18, 1, 0, NULL, NULL);
2544INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (14, 19, 1, 0, NULL, NULL);
2545INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (15, 21, 1, 0, NULL, NULL);
2546INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (16, 22, 1, 0, 91, NULL);
2547INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (17, 23, 1, 0, NULL, NULL);
2548INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (18, 24, 11, 0, NULL, NULL);
2549INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (19, 25, 9, 0, NULL, NULL);
2550INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (20, 26, 9, 0, NULL, NULL);
2551INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (21, 27, 9, 0, NULL, NULL);
2552INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (22, 28, 9, 0, NULL, NULL);
2553INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (23, 29, 12, 0, NULL, NULL);
2554INSERT INTO packagebuild (id, build_farm_job, archive, pocket, upload_log, dependencies) VALUES (24, 30, 1, 0, NULL, NULL);
2555
2556
2557ALTER TABLE packagebuild ENABLE TRIGGER ALL;
2558
2559
2507ALTER TABLE section DISABLE TRIGGER ALL;2560ALTER TABLE section DISABLE TRIGGER ALL;
25082561
2509INSERT INTO section (id, name) VALUES (1, 'base');2562INSERT INTO section (id, name) VALUES (1, 'base');
@@ -2639,35 +2692,50 @@
2639ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL;2692ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL;
26402693
26412694
2642ALTER TABLE build DISABLE TRIGGER ALL;2695ALTER TABLE binarypackagebuild DISABLE TRIGGER ALL;
26432696
2644INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (2, '2004-09-27 11:57:13', 1, 1, 1, '2004-09-27 11:57:14', '00:02:01', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2697INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (2, 1, 1, 14);
2645INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (6, '2006-12-01 00:00:00', 1, 1, 2, '2006-12-01 00:00:01', '00:00:01', 1, 1, 32, 0, NULL, 1, NULL, NULL, NULL);2698INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (6, 2, 1, 32);
2646INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (7, '2005-03-24 00:00:00', 1, 6, 1, '2005-03-25 00:00:03', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2699INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (7, 3, 6, 20);
2647INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (8, '2005-09-30 00:00:00', 1, 6, 6, NULL, NULL, NULL, NULL, 14, 0, NULL, 1, NULL, NULL, NULL);2700INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (8, 4, 6, 14);
2648INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (9, '2005-10-01 00:00:00', 1, 1, 2, '2005-10-02 00:00:01', '00:03:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2701INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (9, 5, 1, 20);
2649INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (10, '2006-01-27 00:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 26, 0, NULL, 1, NULL, NULL, NULL);2702INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (10, 6, 1, 26);
2650INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (11, '2006-02-14 00:00:00', 1, 6, 0, NULL, NULL, NULL, NULL, 25, 0, NULL, 1, NULL, NULL, NULL);2703INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (11, 7, 6, 25);
2651INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (12, '2006-02-28 00:00:00', 1, 6, 3, '2006-02-28 00:00:01', '00:06:02', 1, 1, 27, 0, 'cpp (>= 4:4.0.1-3), gcc-4.0 (>= 4.0.1-2)', 1, NULL, NULL, NULL);2704INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (12, 8, 6, 27);
2652INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (13, '2006-03-21 00:00:00', 1, 1, 5, '2006-03-21 01:00:03', '00:01:30', 1, 1, 17, 0, NULL, 1, NULL, NULL, NULL);2705INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (13, 9, 1, 17);
2653INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (14, '2006-03-22 00:00:00', 1, 1, 5, '2006-03-21 01:00:02', '00:01:30', 1, 1, 28, 0, NULL, 1, NULL, NULL, NULL);2706INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (14, 10, 1, 28);
2654INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (15, '2006-03-22 00:00:01', 1, 1, 5, '2006-03-21 01:00:00', '00:01:30', 1, 1, 29, 0, NULL, 1, NULL, NULL, NULL);2707INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (15, 11, 1, 29);
2655INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (16, '2005-03-24 00:00:01', 1, 11, 1, '2005-03-25 00:00:02', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2708INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (16, 12, 11, 20);
2656INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (18, '2004-09-27 11:57:14', 1, 8, 1, '2004-09-27 11:57:13', '00:02:01', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2709INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (18, 13, 8, 14);
2657INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (19, '2005-03-24 00:00:02', 1, 8, 1, '2005-03-25 00:00:01', '00:01:20', 1, 1, 20, 0, NULL, 1, NULL, NULL, NULL);2710INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (19, 14, 8, 20);
2658INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (21, '2006-12-01 00:00:01', 1, 1, 2, NULL, NULL, NULL, NULL, 33, 0, NULL, 1, NULL, NULL, NULL);2711INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (21, 15, 1, 33);
2659INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (22, '2007-04-20 00:00:00', 1, 8, 7, '2007-04-20 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 1, NULL, NULL, 91);2712INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (22, 16, 8, 33);
2660INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (23, '2006-04-11 12:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 35, 0, NULL, 1, NULL, NULL, NULL);2713INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (23, 17, 1, 35);
2661INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (24, '2007-05-30 00:00:00', 1, 1, 2, '2007-05-30 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 11, NULL, NULL, NULL);2714INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (24, 18, 1, 33);
2662INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (25, '2007-07-08 12:00:00', 1, 1, 1, NULL, NULL, NULL, NULL, 35, 0, NULL, 9, NULL, NULL, NULL);2715INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (25, 19, 1, 35);
2663INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (26, '2007-07-08 00:00:00', 1, 8, 2, '2007-07-08 00:00:01', '00:01:20', 1, 1, 33, 0, NULL, 9, NULL, NULL, NULL);2716INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (26, 20, 8, 33);
2664INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (27, '2007-07-24 00:00:00', 1, 1, 1, '2007-07-24 00:00:01', '00:01:20', 1, 1, 20, 0, NULL, 9, NULL, NULL, NULL);2717INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (27, 21, 1, 20);
2665INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (28, '2007-08-10 00:00:00', 3, 12, 1, '2007-08-10 00:00:13', '00:00:13', 1, 1, 14, 0, NULL, 9, NULL, NULL, NULL);2718INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (28, 22, 12, 14);
2666INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (29, '2007-08-09 21:54:18.553132', 1, 8, 1, '2007-08-09 23:59:59', NULL, NULL, NULL, 36, 0, NULL, 12, NULL, NULL, NULL);2719INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (29, 23, 8, 36);
2667INSERT INTO build (id, datecreated, processor, distroarchseries, buildstate, datebuilt, buildduration, buildlog, builder, sourcepackagerelease, pocket, dependencies, archive, build_warnings, date_first_dispatched, upload_log) VALUES (30, '2007-08-10 00:00:01', 3, 12, 1, '2007-08-10 00:00:14', '00:00:13', 1, 1, 14, 0, NULL, 1, NULL, NULL, NULL);2720INSERT INTO binarypackagebuild (id, package_build, distro_arch_series, source_package_release) VALUES (30, 24, 12, 14);
26682721
26692722
2670ALTER TABLE build ENABLE TRIGGER ALL;2723ALTER TABLE binarypackagebuild ENABLE TRIGGER ALL;
2724
2725
2726ALTER TABLE binarypackagename DISABLE TRIGGER ALL;
2727
2728INSERT INTO binarypackagename (id, name) VALUES (6, 'foobar');
2729INSERT INTO binarypackagename (id, name) VALUES (8, 'mozilla-firefox');
2730INSERT INTO binarypackagename (id, name) VALUES (13, 'pmount');
2731INSERT INTO binarypackagename (id, name) VALUES (14, 'linux-2.6.12');
2732INSERT INTO binarypackagename (id, name) VALUES (15, 'at');
2733INSERT INTO binarypackagename (id, name) VALUES (16, 'cdrkit');
2734INSERT INTO binarypackagename (id, name) VALUES (17, 'commercialpackage');
2735INSERT INTO binarypackagename (id, name) VALUES (18, 'mozilla-firefox-data');
2736
2737
2738ALTER TABLE binarypackagename ENABLE TRIGGER ALL;
26712739
26722740
2673ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL;2741ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL;
26742742
=== modified file 'database/schema/comments.sql'
--- database/schema/comments.sql 2010-05-20 13:59:11 +0000
+++ database/schema/comments.sql 2010-05-27 13:25:49 +0000
@@ -1596,23 +1596,32 @@
1596COMMENT ON COLUMN PushMirrorAccess.name IS 'Name of an arch archive on the push mirror, e.g. lord@emf.net--2003-example';1596COMMENT ON COLUMN PushMirrorAccess.name IS 'Name of an arch archive on the push mirror, e.g. lord@emf.net--2003-example';
1597COMMENT ON COLUMN PushMirrorAccess.person IS 'A person that has access to update the named archive';1597COMMENT ON COLUMN PushMirrorAccess.person IS 'A person that has access to update the named archive';
15981598
1599-- Build1599-- BuildFarmJob, and its related tables, PackageBuild, BinaryPackageBuild
1600COMMENT ON TABLE Build IS 'Build: This table stores the build procedure information of a sourcepackagerelease and its results (binarypackagereleases) for a given distroarchseries.';1600COMMENT ON TABLE BuildFarmJob IS 'BuildFarmJob: This table stores the information common to all jobs on the Launchpad build farm.';
1601COMMENT ON COLUMN Build.datecreated IS 'When the build record was created.';1601COMMENT ON COLUMN BuildFarmJob.processor IS 'Points to the required processor target for this job, or null.';
1602COMMENT ON COLUMN Build.datebuilt IS 'When the build record was processed.';1602COMMENT ON COLUMN BuildFarmJob.virtualized IS 'The virtualization setting required by this build farm job, or null.';
1603COMMENT ON COLUMN Build.buildduration IS 'How long this build took to be processed.';1603COMMENT ON COLUMN BuildFarmJob.date_created IS 'When the build farm job record was created.';
1604COMMENT ON COLUMN Build.distroarchseries IS 'Points the target Distroarchrelease for this build.';1604COMMENT ON COLUMN BuildFarmJob.date_started IS 'When the build farm job started being processed.';
1605COMMENT ON COLUMN Build.processor IS 'Points to the Distroarchrelease available processor target for this build.';1605COMMENT ON COLUMN BuildFarmJob.date_finished IS 'When the build farm job finished being processed.';
1606COMMENT ON COLUMN Build.sourcepackagerelease IS 'Sourcepackagerelease which originated this build.';1606COMMENT ON COLUMN BuildFarmJob.date_first_dispatched IS 'The instant the build was dispatched the first time. This value will not get overridden if the build is retried.';
1607COMMENT ON COLUMN Build.buildstate IS 'Stores the current build procedure state.';1607COMMENT ON COLUMN BuildFarmJob.builder IS 'Points to the builder which processed this build farm job.';
1608COMMENT ON COLUMN Build.buildlog IS 'Points to the buildlog file stored in librarian.';1608COMMENT ON COLUMN BuildFarmJob.status IS 'Stores the current build status.';
1609COMMENT ON COLUMN Build.builder IS 'Points to the builder which has once processed it.';1609COMMENT ON COLUMN BuildFarmJob.log IS 'Points to the log for this build farm job file stored in librarian.';
1610COMMENT ON COLUMN Build.pocket IS 'Stores the target pocket identifier for this build.';1610COMMENT ON COLUMN BuildFarmJob.job_type IS 'The type of build farm job to which this record corresponds.';
1611COMMENT ON COLUMN Build.dependencies IS 'Contains a debian-like dependency line specifying the current missing-dependencies for this package.';1611
1612COMMENT ON COLUMN Build.archive IS 'Targeted archive for this build.';1612-- PackageBuild
1613COMMENT ON COLUMN Build.build_warnings IS 'Warnings and diagnosis messages provided by the builder while building this job.';1613COMMENT ON TABLE PackageBuild IS 'PackageBuild: This table stores the information common to build farm jobs that build source or binary packages.';
1614COMMENT ON COLUMN Build.date_first_dispatched IS 'The instant the build was dispatched the first time. This value will not get overridden if the build is retried.';1614COMMENT ON COLUMN PackageBuild.build_farm_job IS 'Points to the build farm job with the base information.';
1615COMMENT ON COLUMN Build.upload_log IS 'Reference to a LibraryFileAlias containing the upload log messages generated while processing the binaries resulted from this build.';1615COMMENT ON COLUMN PackageBuild.archive IS 'Targeted archive for this package build.';
1616COMMENT ON COLUMN PackageBuild.pocket IS 'Stores the target pocket identifier for this package build.';
1617COMMENT ON COLUMN PackageBuild.upload_log IS 'Reference to a LibraryFileAlias containing the upload log messages generated while processing the packages resulting from this package build.';
1618COMMENT ON COLUMN PackageBuild.dependencies IS 'Contains a debian-like dependency line specifying the current missing-dependencies for this package.';
1619
1620-- BinaryPackageBuild
1621COMMENT ON TABLE BinaryPackageBuild IS 'BinaryPackageBuild: This table links a package build with a distroarchseries and sourcepackagerelease.';
1622COMMENT ON COLUMN BinaryPackageBuild.package_build IS 'Points to the related package build with the base information.';
1623COMMENT ON COLUMN BinaryPackageBuild.distro_arch_series IS 'Points the target DistroArchSeries for this build.';
1624COMMENT ON COLUMN BinaryPackageBuild.source_package_release IS 'SourcePackageRelease which originated this build.';
16161625
1617-- Builder1626-- Builder
1618COMMENT ON TABLE Builder IS 'Builder: This table stores the build-slave registry and status information as: name, url, trusted, builderok, builderaction, failnotes.';1627COMMENT ON TABLE Builder IS 'Builder: This table stores the build-slave registry and status information as: name, url, trusted, builderok, builderaction, failnotes.';
16191628
=== added file 'database/schema/patch-2207-57-0.sql'
--- database/schema/patch-2207-57-0.sql 1970-01-01 00:00:00 +0000
+++ database/schema/patch-2207-57-0.sql 2010-05-27 13:25:49 +0000
@@ -0,0 +1,210 @@
1-- Copyright 2010 Canonical Ltd. This software is licensed under the
2-- GNU Affero General Public License version 3 (see the file LICENSE).
3
4SET client_min_messages=ERROR;
5
6CREATE TEMPORARY TABLE BuildInfo AS
7SELECT
8 build.id,
9 build.processor,
10 archive.require_virtualized AS virtualized,
11 -- Currently we do not know if a build was virtual or not? (it's
12 -- only on the archive and the builder, both of which can
13 -- change). IBuild.is_virtualized just queries the archive.
14 build.datecreated AS date_created,
15 (build.datebuilt - build.buildduration) AS date_started,
16 build.datebuilt AS date_finished,
17 build.date_first_dispatched,
18 build.builder,
19 build.buildstate AS status,
20 build.buildlog AS log,
21 build.archive,
22 build.pocket,
23 build.upload_log,
24 build.dependencies,
25 build.distroarchseries AS distro_arch_series,
26 build.sourcepackagerelease AS source_package_release,
27 build.build_warnings -- We don't seem to use this in LP code at all?
28FROM build JOIN archive ON build.archive = archive.id;
29
30-- The schema patch for general build histories. See
31-- https://dev.launchpad.net/LEP/GeneralBuildHistories and the linked
32-- blueprint/bug for more information.
33
34-- Step 1
35-- Create the new BuildFarmJob, PackageBuild and BinaryPackageBuild tables,
36-- with indexes based on the current Build table.
37CREATE TABLE BuildFarmJob (
38 id serial PRIMARY KEY,
39 processor integer
40 CONSTRAINT buildfarmjob__processor__fk REFERENCES processor,
41 virtualized boolean,
42 date_created timestamp without time zone
43 DEFAULT timezone('UTC'::text, now()) NOT NULL,
44 date_started timestamp without time zone,
45 date_finished timestamp without time zone,
46 date_first_dispatched timestamp without time zone,
47 builder integer CONSTRAINT buildfarmjob__builder__fk REFERENCES builder,
48 status integer NOT NULL,
49 log integer CONSTRAINT buildfarmjob__log__fk REFERENCES libraryfilealias,
50 job_type integer NOT NULL
51);
52
53INSERT INTO BuildFarmJob (
54 id, processor, virtualized, date_created, date_started,
55 date_finished, builder, status, log, job_type)
56SELECT
57 id, processor, virtualized, date_created, date_started,
58 date_finished, builder, status, log, 1
59FROM BuildInfo;
60
61SELECT setval('buildfarmjob_id_seq', MAX(id)) FROM BuildFarmJob;
62
63CREATE INDEX buildfarmjob__date_created__idx ON buildfarmjob(date_created);
64CREATE INDEX buildfarmjob__date_started__idx ON buildfarmjob(date_started);
65CREATE INDEX buildfarmjob__date_finished__idx ON buildfarmjob(date_finished);
66CREATE INDEX buildfarmjob__builder_and_status__idx
67 ON buildfarmjob(builder, status);
68CREATE INDEX buildfarmjob__log__idx ON buildfarmjob(log) WHERE log IS NOT NULL;
69
70
71CREATE TABLE PackageBuild (
72 id serial PRIMARY KEY,
73 build_farm_job integer NOT NULL
74 CONSTRAINT packagebuild__build_farm_job__fk REFERENCES buildfarmjob,
75 archive integer NOT NULL
76 CONSTRAINT packagebuild__archive__fk REFERENCES archive,
77 pocket integer NOT NULL DEFAULT 0,
78 upload_log integer
79 CONSTRAINT packagebuild__log__fk REFERENCES libraryfilealias,
80 dependencies text
81);
82
83INSERT INTO PackageBuild (
84 id, build_farm_job, archive, pocket, upload_log, dependencies)
85SELECT id, id AS build_farm_job, archive, pocket, upload_log, dependencies
86FROM BuildInfo;
87SELECT setval('packagebuild_id_seq', MAX(id)) FROM PackageBuild;
88
89CREATE UNIQUE INDEX packagebuild__build_farm_job__idx ON packagebuild(
90 build_farm_job);
91CREATE INDEX packagebuild__archive__idx ON packagebuild(archive);
92CREATE INDEX packagebuild__upload_log__idx ON packagebuild(upload_log)
93 WHERE upload_log IS NOT NULL;
94
95CREATE TABLE BinaryPackageBuild (
96 id serial PRIMARY KEY,
97 package_build integer NOT NULL
98 CONSTRAINT binarypackagebuild__package_build__fk
99 REFERENCES packagebuild,
100 distro_arch_series integer NOT NULL
101 CONSTRAINT binarypackagebuild__distro_arch_series__fk
102 REFERENCES distroarchseries,
103 source_package_release integer NOT NULL
104 CONSTRAINT binarypackagebuild__source_package_release__fk
105 REFERENCES sourcepackagerelease
106);
107
108INSERT INTO binarypackagebuild(
109 id, package_build, distro_arch_series, source_package_release)
110SELECT id, id, distro_arch_series, source_package_release
111FROM BuildInfo;
112
113SELECT setval('binarypackagebuild_id_seq', MAX(id)) FROM BinaryPackageBuild;
114
115CREATE UNIQUE INDEX binarypackagebuild__package_build__idx
116 ON binarypackagebuild(package_build);
117-- Indexes that we can no longer create:
118-- CREATE UNIQUE INDEX binarypackagebuild__distro_arch_series_uniq__idx ON binarypackagebuild(distro_arch_series, source_package_release, archive)
119-- CREATE INDEX binarypackagebuild__distro_arch_series__status__idx ON binarypackagebuild(distro_arch_series, status?)
120-- CREATE INDEX binarypackagebuild__distro_arch_series__date_finished ON binarypackagebuild(distro_arch_series, date_finished)
121CREATE INDEX binarypackagebuild__source_package_release_idx
122 ON binarypackagebuild(source_package_release);
123CREATE INDEX binarypackagebuild__distro_arch_series__idx
124 ON BinaryPackageBuild(distro_arch_series);
125
126-- Step 3
127-- Need to update all the references to the current build table to point to
128-- the new table, shown by:
129-- launchpad_dev=# select t.constraint_name, t.table_name, t.constraint_type,
130-- launchpad_dev-# c.table_name, c.column_name
131-- launchpad_dev-# from information_schema.table_constraints t,
132-- launchpad_dev-# information_schema.constraint_column_usage c
133-- launchpad_dev-# where t.constraint_name = c.constraint_name
134-- launchpad_dev-# and t.constraint_type = 'FOREIGN KEY'
135-- launchpad_dev-# and c.table_name = 'build'
136-- launchpad_dev-# ;
137
138-- "binarypackagerelease__build__fk" FOREIGN KEY (build) REFERENCES build(id) ON DELETE CASCADE
139ALTER TABLE BinaryPackageRelease DROP CONSTRAINT binarypackagerelease__build__fk;
140ALTER TABLE BinaryPackageRelease
141 ADD CONSTRAINT binarypackagerelease_build_fk
142 FOREIGN KEY (build) REFERENCES binarypackagebuild(id) ON DELETE CASCADE;
143
144-- "buildpackagejob__build__fk" FOREIGN KEY (build) REFERENCES build(id)
145ALTER TABLE BuildPackageJob DROP CONSTRAINT buildpackagejob__build__fk;
146ALTER TABLE BuildPackageJob
147 ADD CONSTRAINT buildpackagejob_build_fk
148 FOREIGN KEY (build) REFERENCES binarypackagebuild(id);
149
150-- "packageuploadbuild_build_fk" FOREIGN KEY (build) REFERENCES build(id)
151ALTER TABLE packageuploadbuild DROP CONSTRAINT packageuploadbuild_build_fk;
152ALTER TABLE packageuploadbuild
153 ADD CONSTRAINT packageuploadbuild_build_fk
154 FOREIGN KEY (build) REFERENCES binarypackagebuild(id);
155
156
157-- "securebinarypackagepublishinghistory_supersededby_fk" FOREIGN KEY (supersededby) REFERENCES build(id)
158ALTER TABLE binarypackagepublishinghistory
159 DROP CONSTRAINT securebinarypackagepublishinghistory_supersededby_fk;
160ALTER TABLE binarypackagepublishinghistory
161 ADD CONSTRAINT binarypackagepublishinghistory_supersededby_fk
162 FOREIGN KEY (supersededby) REFERENCES binarypackagebuild(id);
163
164
165-- Step 4
166-- Drop the old Build table and its constraints.
167ALTER TABLE Build SET SCHEMA todrop;
168ALTER TABLE todrop.Build DROP CONSTRAINT build__archive__fk;
169ALTER TABLE todrop.Build DROP CONSTRAINT build__builder__fk;
170ALTER TABLE todrop.Build DROP CONSTRAINT build__buildlog__fk;
171ALTER TABLE todrop.Build DROP CONSTRAINT build__distroarchseries__fk;
172ALTER TABLE todrop.Build DROP CONSTRAINT build__processor__fk;
173ALTER TABLE todrop.Build DROP CONSTRAINT build__sourcepackagerelease__fk;
174ALTER TABLE todrop.Build DROP CONSTRAINT build__upload_log__fk;
175
176
177-- Step 5
178-- Update views that reference the build table:
179CREATE OR REPLACE VIEW PublishedPackage AS
180SELECT securebinarypackagepublishinghistory.id, distroarchseries.id AS distroarchseries, distroseries.distribution, distroseries.id AS distroseries, distroseries.name AS distroseriesname, processorfamily.id AS processorfamily, processorfamily.name AS processorfamilyname, securebinarypackagepublishinghistory.status AS packagepublishingstatus, component.name AS component, section.name AS section, binarypackagerelease.id AS binarypackagerelease, binarypackagename.name AS binarypackagename, binarypackagerelease.summary AS binarypackagesummary, binarypackagerelease.description AS binarypackagedescription, binarypackagerelease.version AS binarypackageversion, binarypackagebuild.id AS build, buildfarmjob.date_finished AS datebuilt, sourcepackagerelease.id AS sourcepackagerelease, sourcepackagerelease.version AS sourcepackagereleaseversion, sourcepackagename.name AS sourcepackagename, securebinarypackagepublishinghistory.pocket, securebinarypackagepublishinghistory.archive, binarypackagerelease.fti AS binarypackagefti
181 FROM binarypackagepublishinghistory securebinarypackagepublishinghistory
182 JOIN distroarchseries ON distroarchseries.id = securebinarypackagepublishinghistory.distroarchseries
183 JOIN distroseries ON distroarchseries.distroseries = distroseries.id
184 JOIN processorfamily ON distroarchseries.processorfamily = processorfamily.id
185 JOIN component ON securebinarypackagepublishinghistory.component = component.id
186 JOIN binarypackagerelease ON securebinarypackagepublishinghistory.binarypackagerelease = binarypackagerelease.id
187 JOIN section ON securebinarypackagepublishinghistory.section = section.id
188 JOIN binarypackagename ON binarypackagerelease.binarypackagename = binarypackagename.id
189 JOIN binarypackagebuild ON binarypackagerelease.build = binarypackagebuild.id
190 JOIN packagebuild ON binarypackagebuild.package_build = packagebuild.id
191 JOIN buildfarmjob ON packagebuild.build_farm_job = buildfarmjob.id
192 JOIN sourcepackagerelease ON binarypackagebuild.source_package_release = sourcepackagerelease.id
193 JOIN sourcepackagename ON sourcepackagerelease.sourcepackagename = sourcepackagename.id
194 WHERE securebinarypackagepublishinghistory.dateremoved IS NULL;
195
196CREATE OR REPLACE VIEW BinaryPackageFilePublishing As
197SELECT (libraryfilealias.id::text || '.'::text) || securebinarypackagepublishinghistory.id::text AS id, distroseries.distribution, securebinarypackagepublishinghistory.id AS binarypackagepublishing, component.name AS componentname, libraryfilealias.filename AS libraryfilealiasfilename, sourcepackagename.name AS sourcepackagename, binarypackagefile.libraryfile AS libraryfilealias, distroseries.name AS distroseriesname, distroarchseries.architecturetag, securebinarypackagepublishinghistory.status AS publishingstatus, securebinarypackagepublishinghistory.pocket, securebinarypackagepublishinghistory.archive
198 FROM binarypackagepublishinghistory securebinarypackagepublishinghistory
199 JOIN binarypackagerelease ON securebinarypackagepublishinghistory.binarypackagerelease = binarypackagerelease.id
200 JOIN binarypackagebuild ON binarypackagerelease.build = binarypackagebuild.id
201 JOIN sourcepackagerelease ON binarypackagebuild.source_package_release = sourcepackagerelease.id
202 JOIN sourcepackagename ON sourcepackagerelease.sourcepackagename = sourcepackagename.id
203 JOIN binarypackagefile ON binarypackagefile.binarypackagerelease = binarypackagerelease.id
204 JOIN libraryfilealias ON binarypackagefile.libraryfile = libraryfilealias.id
205 JOIN distroarchseries ON securebinarypackagepublishinghistory.distroarchseries = distroarchseries.id
206 JOIN distroseries ON distroarchseries.distroseries = distroseries.id
207 JOIN component ON securebinarypackagepublishinghistory.component = component.id
208 WHERE securebinarypackagepublishinghistory.dateremoved IS NULL;
209
210INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 57, 0);
0211
=== modified file 'database/schema/security.cfg'
--- database/schema/security.cfg 2010-05-20 13:59:11 +0000
+++ database/schema/security.cfg 2010-05-27 13:25:49 +0000
@@ -293,7 +293,9 @@
293public.bug = SELECT293public.bug = SELECT
294public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE294public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE
295public.bugtask = SELECT295public.bugtask = SELECT
296public.build = SELECT296public.buildfarmjob = SELECT
297public.packagebuild = SELECT
298public.binarypackagebuild = SELECT
297public.distribution = SELECT299public.distribution = SELECT
298public.distributionsourcepackagecache = SELECT, INSERT, UPDATE, DELETE300public.distributionsourcepackagecache = SELECT, INSERT, UPDATE, DELETE
299public.distroarchseries = SELECT, UPDATE301public.distroarchseries = SELECT, UPDATE
@@ -344,7 +346,9 @@
344public.binarypackagefile = SELECT346public.binarypackagefile = SELECT
345public.branchmergeproposal = SELECT347public.branchmergeproposal = SELECT
346public.bugattachment = SELECT348public.bugattachment = SELECT
347public.build = SELECT349public.buildfarmjob = SELECT
350public.packagebuild = SELECT
351public.binarypackagebuild = SELECT
348public.codeimportresult = SELECT352public.codeimportresult = SELECT
349public.diff = SELECT353public.diff = SELECT
350public.distribution = SELECT354public.distribution = SELECT
@@ -633,7 +637,9 @@
633public.binarypackagefile = SELECT637public.binarypackagefile = SELECT
634public.binarypackagename = SELECT638public.binarypackagename = SELECT
635public.binarypackagerelease = SELECT639public.binarypackagerelease = SELECT
636public.build = SELECT640public.buildfarmjob = SELECT
641public.packagebuild = SELECT
642public.binarypackagebuild = SELECT
637public.component = SELECT643public.component = SELECT
638public.componentselection = SELECT644public.componentselection = SELECT
639public.distribution = SELECT645public.distribution = SELECT
@@ -787,7 +793,9 @@
787public.job = SELECT, INSERT, UPDATE, DELETE793public.job = SELECT, INSERT, UPDATE, DELETE
788public.buildpackagejob = SELECT, INSERT, UPDATE, DELETE794public.buildpackagejob = SELECT, INSERT, UPDATE, DELETE
789public.builder = SELECT, INSERT, UPDATE795public.builder = SELECT, INSERT, UPDATE
790public.build = SELECT, INSERT, UPDATE796public.buildfarmjob = SELECT, INSERT, UPDATE
797public.packagebuild = SELECT, INSERT, UPDATE
798public.binarypackagebuild = SELECT, INSERT, UPDATE
791public.distribution = SELECT, UPDATE799public.distribution = SELECT, UPDATE
792public.distroseries = SELECT, UPDATE800public.distroseries = SELECT, UPDATE
793public.distroarchseries = SELECT, UPDATE801public.distroarchseries = SELECT, UPDATE
@@ -871,7 +879,9 @@
871public.bugtracker = SELECT, INSERT, UPDATE, DELETE879public.bugtracker = SELECT, INSERT, UPDATE, DELETE
872public.bugtrackeralias = SELECT, INSERT, UPDATE, DELETE880public.bugtrackeralias = SELECT, INSERT, UPDATE, DELETE
873public.bugwatch = SELECT, INSERT, UPDATE, DELETE881public.bugwatch = SELECT, INSERT, UPDATE, DELETE
874public.build = SELECT, INSERT, UPDATE882public.buildfarmjob = SELECT, INSERT, UPDATE
883public.packagebuild = SELECT, INSERT, UPDATE
884public.binarypackagebuild = SELECT, INSERT, UPDATE
875public.builder = SELECT, INSERT, UPDATE885public.builder = SELECT, INSERT, UPDATE
876public.buildqueue = SELECT, INSERT, UPDATE, DELETE886public.buildqueue = SELECT, INSERT, UPDATE, DELETE
877public.job = SELECT, INSERT, UPDATE, DELETE887public.job = SELECT, INSERT, UPDATE, DELETE
@@ -1061,7 +1071,9 @@
1061public.sourcepackagereleasefile = SELECT, INSERT1071public.sourcepackagereleasefile = SELECT, INSERT
1062public.binarypackagefile = SELECT, INSERT1072public.binarypackagefile = SELECT, INSERT
1063public.pocketchroot = SELECT1073public.pocketchroot = SELECT
1064public.build = SELECT, INSERT, UPDATE1074public.buildfarmjob = SELECT, INSERT, UPDATE
1075public.packagebuild = SELECT, INSERT, UPDATE
1076public.binarypackagebuild = SELECT, INSERT, UPDATE
1065public.sourcepackagerecipebuild = SELECT, UPDATE1077public.sourcepackagerecipebuild = SELECT, UPDATE
1066public.buildqueue = SELECT, INSERT, UPDATE1078public.buildqueue = SELECT, INSERT, UPDATE
1067public.job = SELECT, INSERT, UPDATE1079public.job = SELECT, INSERT, UPDATE
@@ -1146,7 +1158,9 @@
1146public.processor = SELECT1158public.processor = SELECT
1147public.processorfamily = SELECT1159public.processorfamily = SELECT
1148public.distrocomponentuploader = SELECT1160public.distrocomponentuploader = SELECT
1149public.build = SELECT, INSERT, UPDATE1161public.buildfarmjob = SELECT, INSERT, UPDATE
1162public.packagebuild = SELECT, INSERT, UPDATE
1163public.binarypackagebuild = SELECT, INSERT, UPDATE
1150public.buildqueue = SELECT, INSERT, UPDATE1164public.buildqueue = SELECT, INSERT, UPDATE
1151public.job = SELECT, INSERT, UPDATE1165public.job = SELECT, INSERT, UPDATE
1152public.buildpackagejob = SELECT, INSERT, UPDATE1166public.buildpackagejob = SELECT, INSERT, UPDATE
@@ -1809,7 +1823,9 @@
1809[nagios]1823[nagios]
1810type=user1824type=user
1811public.archive = SELECT1825public.archive = SELECT
1812public.build = SELECT1826public.buildfarmjob = SELECT
1827public.packagebuild = SELECT
1828public.binarypackagebuild = SELECT
1813public.buildqueue = SELECT1829public.buildqueue = SELECT
1814public.buildpackagejob = SELECT1830public.buildpackagejob = SELECT
1815public.job = SELECT1831public.job = SELECT

Subscribers

People subscribed via source and target branches

to status/vote changes: