~launchpad-pqm/launchpad/devel

7675.1121.53 by Stuart Bishop
New baseline
1
-- Generated Tue Dec  6 20:57:32 2011 UTC
3691.17.3 by Stuart Bishop
New database baseline
2
3
SET client_min_messages TO ERROR;
7675.1121.53 by Stuart Bishop
New baseline
4
SET statement_timeout = 0;
3691.17.3 by Stuart Bishop
New database baseline
5
SET client_encoding = 'UTF8';
4212.1.1 by Stuart Bishop
New database baseline
6
SET standard_conforming_strings = off;
3691.17.3 by Stuart Bishop
New database baseline
7
SET check_function_bodies = false;
8
SET client_min_messages = warning;
4212.1.1 by Stuart Bishop
New database baseline
9
SET escape_string_warning = off;
3691.17.3 by Stuart Bishop
New database baseline
10
7675.1121.53 by Stuart Bishop
New baseline
11
CREATE SCHEMA todrop;
12
13
14
CREATE SCHEMA ts2;
15
16
17
CREATE PROCEDURAL LANGUAGE plpgsql;
18
19
20
CREATE PROCEDURAL LANGUAGE plpythonu;
21
22
3691.17.3 by Stuart Bishop
New database baseline
23
SET search_path = public, pg_catalog;
24
7675.1121.53 by Stuart Bishop
New baseline
25
CREATE TYPE debversion;
26
27
28
CREATE FUNCTION debversionin(cstring) RETURNS debversion
29
    LANGUAGE internal IMMUTABLE STRICT
30
    AS $$textin$$;
31
32
33
CREATE FUNCTION debversionout(debversion) RETURNS cstring
34
    LANGUAGE internal IMMUTABLE STRICT
35
    AS $$textout$$;
36
37
38
CREATE FUNCTION debversionrecv(internal) RETURNS debversion
39
    LANGUAGE internal STABLE STRICT
40
    AS $$textrecv$$;
41
42
43
CREATE FUNCTION debversionsend(debversion) RETURNS bytea
44
    LANGUAGE internal STABLE STRICT
45
    AS $$textsend$$;
46
47
48
CREATE TYPE debversion (
49
    INTERNALLENGTH = variable,
50
    INPUT = debversionin,
51
    OUTPUT = debversionout,
52
    RECEIVE = debversionrecv,
53
    SEND = debversionsend,
54
    CATEGORY = 'S',
55
    ALIGNMENT = int4,
56
    STORAGE = extended
57
);
58
59
60
COMMENT ON TYPE debversion IS 'Debian package version number';
61
62
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
63
CREATE TYPE pgstattuple_type AS (
64
	table_len bigint,
65
	tuple_count bigint,
66
	tuple_len bigint,
67
	tuple_percent double precision,
68
	dead_tuple_count bigint,
69
	dead_tuple_len bigint,
70
	dead_tuple_percent double precision,
71
	free_space bigint,
72
	free_percent double precision
73
);
74
7675.1121.53 by Stuart Bishop
New baseline
75
76
SET search_path = ts2, pg_catalog;
77
78
CREATE DOMAIN gtsq AS text;
79
80
81
CREATE DOMAIN gtsvector AS pg_catalog.gtsvector;
82
83
84
CREATE TYPE statinfo AS (
85
	word text,
86
	ndoc integer,
87
	nentry integer
88
);
89
90
91
CREATE TYPE tokenout AS (
92
	tokid integer,
93
	token text
94
);
95
96
97
CREATE TYPE tokentype AS (
98
	tokid integer,
99
	alias text,
100
	descr text
101
);
102
103
104
CREATE TYPE tsdebug AS (
105
	ts_name text,
106
	tok_type text,
107
	description text,
108
	token text,
109
	dict_name text[],
110
	tsvector pg_catalog.tsvector
111
);
112
113
114
CREATE DOMAIN tsquery AS pg_catalog.tsquery;
115
116
117
CREATE DOMAIN tsvector AS pg_catalog.tsvector;
118
119
120
SET search_path = public, pg_catalog;
121
122
CREATE FUNCTION activity() RETURNS SETOF pg_stat_activity
123
    LANGUAGE sql SECURITY DEFINER
124
    SET search_path TO public
125
    AS $$
126
    SELECT
127
        datid, datname, procpid, usesysid, usename,
128
        CASE
129
            WHEN current_query LIKE '<IDLE>%'
130
                OR current_query LIKE 'autovacuum:%'
131
                THEN current_query
132
            ELSE
133
                '<HIDDEN>'
134
        END AS current_query,
135
        waiting, xact_start, query_start,
136
        backend_start, client_addr, client_port
137
    FROM pg_catalog.pg_stat_activity;
138
$$;
139
140
141
COMMENT ON FUNCTION activity() IS 'SECURITY DEFINER wrapper around pg_stat_activity allowing unprivileged users to access most of its information.';
142
143
144
CREATE FUNCTION add_test_openid_identifier(account_ integer) RETURNS boolean
145
    LANGUAGE plpgsql SECURITY DEFINER
146
    SET search_path TO public
147
    AS $$
148
BEGIN
149
    -- The generated OpenIdIdentifier is not a valid OpenId Identity URL
150
    -- and does not match tokens generated by the Canonical SSO. They
151
    -- are only useful to the test suite, and access to this stored
152
    -- procedure on production does not allow you to compromise
153
    -- accounts.
154
    INSERT INTO OpenIdIdentifier (identifier, account)
155
    VALUES ('test' || CAST(account_ AS text), account_);
156
    RETURN TRUE;
157
EXCEPTION
158
    WHEN unique_violation THEN
159
        RETURN FALSE;
160
END;
161
$$;
162
163
164
COMMENT ON FUNCTION add_test_openid_identifier(account_ integer) IS 'Add an OpenIdIdentifier to an account that can be used to login in the test environment. These identifiers are not usable on production or staging.';
165
166
167
CREATE FUNCTION assert_patch_applied(major integer, minor integer, patch integer) RETURNS boolean
168
    LANGUAGE plpythonu STABLE
169
    AS $$
170
    rv = plpy.execute("""
171
        SELECT * FROM LaunchpadDatabaseRevision
172
        WHERE major=%d AND minor=%d AND patch=%d
173
        """ % (major, minor, patch))
174
    if len(rv) == 0:
175
        raise Exception(
176
            'patch-%d-%02d-%d not applied.' % (major, minor, patch))
177
    else:
178
        return True
179
$$;
180
181
182
COMMENT ON FUNCTION assert_patch_applied(major integer, minor integer, patch integer) IS 'Raise an exception if the given database patch has not been applied.';
183
184
185
CREATE FUNCTION bug_maintain_bug_summary() RETURNS trigger
186
    LANGUAGE plpgsql SECURITY DEFINER
187
    SET search_path TO public
188
    AS $$
189
BEGIN
190
    -- There is no INSERT logic, as a bug will not have any summary
191
    -- information until BugTask rows have been attached.
192
    IF TG_OP = 'UPDATE' THEN
193
        IF OLD.duplicateof IS DISTINCT FROM NEW.duplicateof
194
            OR OLD.private IS DISTINCT FROM NEW.private
195
            OR (OLD.latest_patch_uploaded IS NULL)
196
                <> (NEW.latest_patch_uploaded IS NULL) THEN
197
            PERFORM unsummarise_bug(OLD);
198
            PERFORM summarise_bug(NEW);
199
        END IF;
200
201
    ELSIF TG_OP = 'DELETE' THEN
202
        PERFORM unsummarise_bug(OLD);
203
    END IF;
204
205
    PERFORM bug_summary_flush_temp_journal();
206
    RETURN NULL; -- Ignored - this is an AFTER trigger
207
END;
208
$$;
209
210
211
COMMENT ON FUNCTION bug_maintain_bug_summary() IS 'AFTER trigger on bug maintaining the bugs summaries in bugsummary.';
212
213
214
CREATE FUNCTION valid_bug_name(text) RETURNS boolean
215
    LANGUAGE plpythonu IMMUTABLE STRICT
216
    AS $_$
217
    import re
218
    name = args[0]
219
    pat = r"^[a-z][a-z0-9+\.\-]+$"
220
    if re.match(pat, name):
221
        return 1
222
    return 0
223
$_$;
224
225
226
COMMENT ON FUNCTION valid_bug_name(text) IS 'validate a bug name
227
228
    As per valid_name, except numeric-only names are not allowed (including
229
    names that look like floats).';
230
231
3691.17.3 by Stuart Bishop
New database baseline
232
SET default_tablespace = '';
233
234
SET default_with_oids = false;
235
7675.1121.53 by Stuart Bishop
New baseline
236
CREATE TABLE bug (
237
    id integer NOT NULL,
238
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
239
    name text,
240
    title text NOT NULL,
241
    description text NOT NULL,
242
    owner integer NOT NULL,
243
    duplicateof integer,
244
    fti ts2.tsvector,
245
    private boolean DEFAULT false NOT NULL,
246
    security_related boolean DEFAULT false NOT NULL,
247
    date_last_updated timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
248
    date_made_private timestamp without time zone,
249
    who_made_private integer,
250
    date_last_message timestamp without time zone,
251
    number_of_duplicates integer DEFAULT 0 NOT NULL,
252
    message_count integer DEFAULT 0 NOT NULL,
253
    users_affected_count integer DEFAULT 0,
254
    users_unaffected_count integer DEFAULT 0,
255
    heat integer DEFAULT 0 NOT NULL,
256
    heat_last_updated timestamp without time zone,
257
    latest_patch_uploaded timestamp without time zone,
258
    access_policy integer,
259
    CONSTRAINT notduplicateofself CHECK ((NOT (id = duplicateof))),
260
    CONSTRAINT sane_description CHECK (((ltrim(description) <> ''::text) AND (char_length(description) <= 50000))),
261
    CONSTRAINT valid_bug_name CHECK (valid_bug_name(name))
262
);
263
264
265
COMMENT ON TABLE bug IS 'A software bug that requires fixing. This particular bug may be linked to one or more products or source packages to identify the location(s) that this bug is found.';
266
267
268
COMMENT ON COLUMN bug.name IS 'A lowercase name uniquely identifying the bug';
269
270
271
COMMENT ON COLUMN bug.description IS 'A detailed description of the bug. Initially this will be set to the contents of the initial email or bug filing comment, but later it can be edited to give a more accurate description of the bug itself rather than the symptoms observed by the reporter.';
272
273
274
COMMENT ON COLUMN bug.private IS 'Is this bug private? If so, only explicit subscribers will be able to see it';
275
276
277
COMMENT ON COLUMN bug.security_related IS 'Is this bug a security issue?';
278
279
280
COMMENT ON COLUMN bug.date_last_message IS 'When the last BugMessage was attached to this Bug. Maintained by a trigger on the BugMessage table.';
281
282
283
COMMENT ON COLUMN bug.number_of_duplicates IS 'The number of bugs marked as duplicates of this bug, populated by a trigger after setting the duplicateof of bugs.';
284
285
286
COMMENT ON COLUMN bug.message_count IS 'The number of messages (currently just comments) on this bugbug, maintained by the set_bug_message_count_t trigger.';
287
288
289
COMMENT ON COLUMN bug.users_affected_count IS 'The number of users affected by this bug, maintained by the set_bug_users_affected_count_t trigger.';
290
291
292
COMMENT ON COLUMN bug.heat IS 'The relevance of this bug. This value is computed periodically using bug_affects_person and other bug values.';
293
294
295
COMMENT ON COLUMN bug.heat_last_updated IS 'The time this bug''s heat was last updated, or NULL if the heat has never yet been updated.';
296
297
298
COMMENT ON COLUMN bug.latest_patch_uploaded IS 'The time when the most recent patch has been attached to this bug or NULL if no patches are attached';
299
300
301
CREATE FUNCTION bug_row(bug_id integer) RETURNS bug
302
    LANGUAGE sql STABLE
303
    AS $_$
304
    SELECT * FROM Bug WHERE id=$1;
305
$_$;
306
307
308
COMMENT ON FUNCTION bug_row(bug_id integer) IS 'Helper for manually testing functions requiring a bug row as input. eg. SELECT * FROM bugsummary_tags(bug_row(1))';
309
310
311
CREATE TABLE bugsummary (
312
    id integer NOT NULL,
313
    count integer DEFAULT 0 NOT NULL,
314
    product integer,
315
    productseries integer,
316
    distribution integer,
317
    distroseries integer,
318
    sourcepackagename integer,
319
    viewed_by integer,
320
    tag text,
321
    status integer NOT NULL,
322
    milestone integer,
323
    importance integer NOT NULL,
324
    has_patch boolean NOT NULL,
325
    fixed_upstream boolean NOT NULL,
326
    CONSTRAINT bugtask_assignment_checks CHECK (CASE WHEN (product IS NOT NULL) THEN ((((productseries IS NULL) AND (distribution IS NULL)) AND (distroseries IS NULL)) AND (sourcepackagename IS NULL)) WHEN (productseries IS NOT NULL) THEN (((distribution IS NULL) AND (distroseries IS NULL)) AND (sourcepackagename IS NULL)) WHEN (distribution IS NOT NULL) THEN (distroseries IS NULL) WHEN (distroseries IS NOT NULL) THEN true ELSE false END)
327
);
328
329
330
CREATE FUNCTION bug_summary_dec(bugsummary) RETURNS void
331
    LANGUAGE sql
332
    AS $_$
333
    -- We own the row reference, so in the absence of bugs this cannot
334
    -- fail - just decrement the row.
335
    UPDATE BugSummary SET count = count + $1.count
336
    WHERE
337
        ((product IS NULL AND $1.product IS NULL)
338
            OR product = $1.product)
339
        AND ((productseries IS NULL AND $1.productseries IS NULL)
340
            OR productseries = $1.productseries)
341
        AND ((distribution IS NULL AND $1.distribution IS NULL)
342
            OR distribution = $1.distribution)
343
        AND ((distroseries IS NULL AND $1.distroseries IS NULL)
344
            OR distroseries = $1.distroseries)
345
        AND ((sourcepackagename IS NULL AND $1.sourcepackagename IS NULL)
346
            OR sourcepackagename = $1.sourcepackagename)
347
        AND ((viewed_by IS NULL AND $1.viewed_by IS NULL)
348
            OR viewed_by = $1.viewed_by)
349
        AND ((tag IS NULL AND $1.tag IS NULL)
350
            OR tag = $1.tag)
351
        AND status = $1.status
352
        AND ((milestone IS NULL AND $1.milestone IS NULL)
353
            OR milestone = $1.milestone)
354
        AND importance = $1.importance
355
        AND has_patch = $1.has_patch
356
        AND fixed_upstream = $1.fixed_upstream;
357
$_$;
358
359
360
COMMENT ON FUNCTION bug_summary_dec(bugsummary) IS 'UPSERT into bugsummary incrementing one row';
361
362
363
CREATE FUNCTION bug_summary_flush_temp_journal() RETURNS void
364
    LANGUAGE plpgsql
365
    AS $$
366
DECLARE
367
    d bugsummary%ROWTYPE;
368
BEGIN
369
    -- may get called even though no summaries were made (for simplicity in the
370
    -- callers)
371
    PERFORM ensure_bugsummary_temp_journal();
372
    FOR d IN SELECT * FROM bugsummary_temp_journal LOOP
373
        PERFORM bugsummary_journal_ins(d);
374
    END LOOP;
375
    TRUNCATE bugsummary_temp_journal;
376
END;
377
$$;
378
379
380
COMMENT ON FUNCTION bug_summary_flush_temp_journal() IS 'flush the temporary bugsummary journal into the bugsummary table';
381
382
383
CREATE FUNCTION bug_summary_inc(d bugsummary) RETURNS void
384
    LANGUAGE plpgsql
385
    AS $_$
386
BEGIN
387
    -- Shameless adaption from postgresql manual
388
    LOOP
389
        -- first try to update the row
390
        UPDATE BugSummary SET count = count + d.count
391
        WHERE
392
            ((product IS NULL AND $1.product IS NULL)
393
                OR product = $1.product)
394
            AND ((productseries IS NULL AND $1.productseries IS NULL)
395
                OR productseries = $1.productseries)
396
            AND ((distribution IS NULL AND $1.distribution IS NULL)
397
                OR distribution = $1.distribution)
398
            AND ((distroseries IS NULL AND $1.distroseries IS NULL)
399
                OR distroseries = $1.distroseries)
400
            AND ((sourcepackagename IS NULL AND $1.sourcepackagename IS NULL)
401
                OR sourcepackagename = $1.sourcepackagename)
402
            AND ((viewed_by IS NULL AND $1.viewed_by IS NULL)
403
                OR viewed_by = $1.viewed_by)
404
            AND ((tag IS NULL AND $1.tag IS NULL)
405
                OR tag = $1.tag)
406
            AND status = $1.status
407
            AND ((milestone IS NULL AND $1.milestone IS NULL)
408
                OR milestone = $1.milestone)
409
            AND importance = $1.importance
410
            AND has_patch = $1.has_patch
411
            AND fixed_upstream = $1.fixed_upstream;
412
        IF found THEN
413
            RETURN;
414
        END IF;
415
        -- not there, so try to insert the key
416
        -- if someone else inserts the same key concurrently,
417
        -- we could get a unique-key failure
418
        BEGIN
419
            INSERT INTO BugSummary(
420
                count, product, productseries, distribution,
421
                distroseries, sourcepackagename, viewed_by, tag,
422
                status, milestone,
423
                importance, has_patch, fixed_upstream)
424
            VALUES (
425
                d.count, d.product, d.productseries, d.distribution,
426
                d.distroseries, d.sourcepackagename, d.viewed_by, d.tag,
427
                d.status, d.milestone,
428
                d.importance, d.has_patch, d.fixed_upstream);
429
            RETURN;
430
        EXCEPTION WHEN unique_violation THEN
431
            -- do nothing, and loop to try the UPDATE again
432
        END;
433
    END LOOP;
434
END;
435
$_$;
436
437
438
COMMENT ON FUNCTION bug_summary_inc(d bugsummary) IS 'UPSERT into bugsummary incrementing one row';
439
440
441
CREATE FUNCTION bug_summary_temp_journal_ins(d bugsummary) RETURNS void
442
    LANGUAGE plpgsql
443
    AS $$
444
BEGIN
445
    INSERT INTO BugSummary_Temp_Journal(
446
        count, product, productseries, distribution,
447
        distroseries, sourcepackagename, viewed_by, tag,
448
        status, milestone, importance, has_patch, fixed_upstream)
449
    VALUES (
450
        d.count, d.product, d.productseries, d.distribution,
451
        d.distroseries, d.sourcepackagename, d.viewed_by, d.tag,
452
        d.status, d.milestone, d.importance, d.has_patch, d.fixed_upstream);
453
    RETURN;
454
END;
455
$$;
456
457
458
COMMENT ON FUNCTION bug_summary_temp_journal_ins(d bugsummary) IS 'Insert a BugSummary into the temporary journal';
459
460
461
CREATE FUNCTION bug_update_heat_copy_to_bugtask() RETURNS trigger
462
    LANGUAGE plpgsql SECURITY DEFINER
463
    SET search_path TO public
464
    AS $$
465
BEGIN
466
    IF NEW.heat != OLD.heat THEN
467
        UPDATE bugtask SET heat=NEW.heat WHERE bugtask.bug=NEW.id;
468
    END IF;
469
    RETURN NULL; -- Ignored - this is an AFTER trigger
470
END;
471
$$;
472
473
474
COMMENT ON FUNCTION bug_update_heat_copy_to_bugtask() IS 'Copies bug heat to bugtasks when the bug is changed. Runs on UPDATE only because INSERTs do not have bugtasks at the point of insertion.';
475
476
477
CREATE FUNCTION bug_update_latest_patch_uploaded(integer) RETURNS void
478
    LANGUAGE plpgsql SECURITY DEFINER
479
    SET search_path TO public
480
    AS $_$
481
BEGIN
482
    UPDATE bug SET latest_patch_uploaded =
483
        (SELECT max(message.datecreated)
484
            FROM message, bugattachment
485
            WHERE bugattachment.message=message.id AND
486
                bugattachment.bug=$1 AND
487
                bugattachment.type=1)
488
        WHERE bug.id=$1;
489
END;
490
$_$;
491
492
493
CREATE FUNCTION bug_update_latest_patch_uploaded_on_delete() RETURNS trigger
494
    LANGUAGE plpgsql SECURITY DEFINER
495
    SET search_path TO public
496
    AS $$
497
BEGIN
498
    PERFORM bug_update_latest_patch_uploaded(OLD.bug);
499
    RETURN NULL; -- Ignored - this is an AFTER trigger
500
END;
501
$$;
502
503
504
CREATE FUNCTION bug_update_latest_patch_uploaded_on_insert_update() RETURNS trigger
505
    LANGUAGE plpgsql SECURITY DEFINER
506
    SET search_path TO public
507
    AS $$
508
BEGIN
509
    PERFORM bug_update_latest_patch_uploaded(NEW.bug);
510
    RETURN NULL; -- Ignored - this is an AFTER trigger
511
END;
512
$$;
513
514
515
CREATE FUNCTION bugmessage_copy_owner_from_message() RETURNS trigger
516
    LANGUAGE plpgsql SECURITY DEFINER
517
    SET search_path TO public
518
    AS $$
519
BEGIN
520
    IF TG_OP = 'INSERT' THEN
521
        IF NEW.owner is NULL THEN
522
            UPDATE BugMessage
523
            SET owner = Message.owner FROM
524
            Message WHERE
525
            Message.id = NEW.message AND
526
            BugMessage.id = NEW.id;
527
        END IF;
528
    ELSIF NEW.message != OLD.message THEN
529
        UPDATE BugMessage
530
        SET owner = Message.owner FROM
531
        Message WHERE
532
        Message.id = NEW.message AND
533
        BugMessage.id = NEW.id;
534
    END IF;
535
    RETURN NULL; -- Ignored - this is an AFTER trigger
536
END;
537
$$;
538
539
540
COMMENT ON FUNCTION bugmessage_copy_owner_from_message() IS 'Copies the message owner into bugmessage when bugmessage changes.';
541
542
543
CREATE FUNCTION bugsubscription_maintain_bug_summary() RETURNS trigger
544
    LANGUAGE plpgsql SECURITY DEFINER
545
    SET search_path TO public
546
    AS $$
547
BEGIN
548
    -- This trigger only works if we are inserting, updating or deleting
549
    -- a single row per statement.
550
    IF TG_OP = 'INSERT' THEN
551
        IF NOT (bug_row(NEW.bug)).private THEN
552
            -- Public subscriptions are not aggregated.
553
            RETURN NEW;
554
        END IF;
555
        IF TG_WHEN = 'BEFORE' THEN
556
            PERFORM unsummarise_bug(bug_row(NEW.bug));
557
        ELSE
558
            PERFORM summarise_bug(bug_row(NEW.bug));
559
        END IF;
560
        PERFORM bug_summary_flush_temp_journal();
561
        RETURN NEW;
562
    ELSIF TG_OP = 'DELETE' THEN
563
        IF NOT (bug_row(OLD.bug)).private THEN
564
            -- Public subscriptions are not aggregated.
565
            RETURN OLD;
566
        END IF;
567
        IF TG_WHEN = 'BEFORE' THEN
568
            PERFORM unsummarise_bug(bug_row(OLD.bug));
569
        ELSE
570
            PERFORM summarise_bug(bug_row(OLD.bug));
571
        END IF;
572
        PERFORM bug_summary_flush_temp_journal();
573
        RETURN OLD;
574
    ELSE
575
        IF (OLD.person IS DISTINCT FROM NEW.person
576
            OR OLD.bug IS DISTINCT FROM NEW.bug) THEN
577
            IF TG_WHEN = 'BEFORE' THEN
578
                IF (bug_row(OLD.bug)).private THEN
579
                    -- Public subscriptions are not aggregated.
580
                    PERFORM unsummarise_bug(bug_row(OLD.bug));
581
                END IF;
582
                IF OLD.bug <> NEW.bug AND (bug_row(NEW.bug)).private THEN
583
                    -- Public subscriptions are not aggregated.
584
                    PERFORM unsummarise_bug(bug_row(NEW.bug));
585
                END IF;
586
            ELSE
587
                IF (bug_row(OLD.bug)).private THEN
588
                    -- Public subscriptions are not aggregated.
589
                    PERFORM summarise_bug(bug_row(OLD.bug));
590
                END IF;
591
                IF OLD.bug <> NEW.bug AND (bug_row(NEW.bug)).private THEN
592
                    -- Public subscriptions are not aggregated.
593
                    PERFORM summarise_bug(bug_row(NEW.bug));
594
                END IF;
595
            END IF;
596
        END IF;
597
        PERFORM bug_summary_flush_temp_journal();
598
        RETURN NEW;
599
    END IF;
600
END;
601
$$;
602
603
604
COMMENT ON FUNCTION bugsubscription_maintain_bug_summary() IS 'AFTER trigger on bugsubscription maintaining the bugs summaries in bugsummary.';
605
606
607
CREATE FUNCTION bugsummary_journal_ins(d bugsummary) RETURNS void
608
    LANGUAGE plpgsql
609
    AS $$
610
BEGIN
611
    IF d.count <> 0 THEN
612
        INSERT INTO BugSummaryJournal (
613
            count, product, productseries, distribution,
614
            distroseries, sourcepackagename, viewed_by, tag,
615
            status, milestone,
616
            importance, has_patch, fixed_upstream)
617
        VALUES (
618
            d.count, d.product, d.productseries, d.distribution,
619
            d.distroseries, d.sourcepackagename, d.viewed_by, d.tag,
620
            d.status, d.milestone,
621
            d.importance, d.has_patch, d.fixed_upstream);
622
    END IF;
623
END;
624
$$;
625
626
627
COMMENT ON FUNCTION bugsummary_journal_ins(d bugsummary) IS 'Add an entry into BugSummaryJournal';
628
629
630
CREATE FUNCTION bugsummary_locations(bug_row bug) RETURNS SETOF bugsummary
631
    LANGUAGE plpgsql
632
    AS $$
633
BEGIN
634
    IF BUG_ROW.duplicateof IS NOT NULL THEN
635
        RETURN;
636
    END IF;
637
    RETURN QUERY
638
        SELECT
639
            CAST(NULL AS integer) AS id,
640
            CAST(1 AS integer) AS count,
641
            product, productseries, distribution, distroseries,
642
            sourcepackagename, person AS viewed_by, tag, status, milestone,
643
            importance,
644
            BUG_ROW.latest_patch_uploaded IS NOT NULL AS has_patch,
645
            (EXISTS (
646
                SELECT TRUE FROM BugTask AS RBT
647
                WHERE
648
                    RBT.bug = tasks.bug
649
                    -- This would just be 'RBT.id <> tasks.id', except
650
                    -- that the records from tasks are summaries and not
651
                    -- real bugtasks, and do not have an id.
652
                    AND (RBT.product IS DISTINCT FROM tasks.product
653
                        OR RBT.productseries
654
                            IS DISTINCT FROM tasks.productseries
655
                        OR RBT.distribution IS DISTINCT FROM tasks.distribution
656
                        OR RBT.distroseries IS DISTINCT FROM tasks.distroseries
657
                        OR RBT.sourcepackagename
658
                            IS DISTINCT FROM tasks.sourcepackagename)
659
                    -- Flagged as INVALID, FIXCOMMITTED or FIXRELEASED
660
                    -- via a bugwatch, or FIXCOMMITTED or FIXRELEASED on
661
                    -- the product.
662
                    AND ((bugwatch IS NOT NULL AND status IN (17, 25, 30))
663
                        OR (bugwatch IS NULL AND product IS NOT NULL
664
                            AND status IN (25, 30))))
665
                )::boolean AS fixed_upstream
666
        FROM bugsummary_tasks(BUG_ROW) AS tasks
667
        JOIN bugsummary_tags(BUG_ROW) AS bug_tags ON TRUE
668
        LEFT OUTER JOIN bugsummary_viewers(BUG_ROW) AS bug_viewers ON TRUE;
669
END;
670
$$;
671
672
673
COMMENT ON FUNCTION bugsummary_locations(bug_row bug) IS 'Calculate what BugSummary rows should exist for a given Bug.';
674
675
676
CREATE FUNCTION bugsummary_rollup_journal(batchsize integer DEFAULT NULL::integer) RETURNS void
677
    LANGUAGE plpgsql SECURITY DEFINER
678
    SET search_path TO public
679
    AS $$
680
DECLARE
681
    d bugsummary%ROWTYPE;
682
    max_id integer;
683
BEGIN
684
    -- Lock so we don't content with other invokations of this
685
    -- function. We can happily lock the BugSummary table for writes
686
    -- as this function is the only thing that updates that table.
687
    -- BugSummaryJournal remains unlocked so nothing should be blocked.
688
    LOCK TABLE BugSummary IN ROW EXCLUSIVE MODE;
689
690
    IF batchsize IS NULL THEN
691
        SELECT MAX(id) INTO max_id FROM BugSummaryJournal;
692
    ELSE
693
        SELECT MAX(id) INTO max_id FROM (
694
            SELECT id FROM BugSummaryJournal ORDER BY id LIMIT batchsize
695
            ) AS Whatever;
696
    END IF;
697
698
    FOR d IN
699
        SELECT
700
            NULL as id,
701
            SUM(count),
702
            product,
703
            productseries,
704
            distribution,
705
            distroseries,
706
            sourcepackagename,
707
            viewed_by,
708
            tag,
709
            status,
710
            milestone,
711
            importance,
712
            has_patch,
713
            fixed_upstream
714
        FROM BugSummaryJournal
715
        WHERE id <= max_id
716
        GROUP BY
717
            product, productseries, distribution, distroseries,
718
            sourcepackagename, viewed_by, tag, status, milestone,
719
            importance, has_patch, fixed_upstream
720
        HAVING sum(count) <> 0
721
    LOOP
722
        IF d.count < 0 THEN
723
            PERFORM bug_summary_dec(d);
724
        ELSIF d.count > 0 THEN
725
            PERFORM bug_summary_inc(d);
726
        END IF;
727
    END LOOP;
728
729
    -- Clean out any counts we reduced to 0.
730
    DELETE FROM BugSummary WHERE count=0;
731
    -- Clean out the journal entries we have handled.
732
    DELETE FROM BugSummaryJournal WHERE id <= max_id;
733
END;
734
$$;
735
736
737
COMMENT ON FUNCTION bugsummary_rollup_journal(batchsize integer) IS 'Collate and migrate rows from BugSummaryJournal to BugSummary';
738
739
740
CREATE FUNCTION valid_name(text) RETURNS boolean
741
    LANGUAGE plpythonu IMMUTABLE STRICT
742
    AS $$
743
    import re
744
    name = args[0]
745
    pat = r"^[a-z0-9][a-z0-9\+\.\-]*\Z"
746
    if re.match(pat, name):
747
        return 1
748
    return 0
749
$$;
750
751
752
COMMENT ON FUNCTION valid_name(text) IS 'validate a name.
753
754
    Names must contain only lowercase letters, numbers, ., & -. They
755
    must start with an alphanumeric. They are ASCII only. Names are useful
756
    for mneumonic identifiers such as nicknames and as URL components.
757
    This specification is the same as the Debian product naming policy.
758
759
    Note that a valid name might be all integers, so there is a possible
760
    namespace conflict if URL traversal is possible by name as well as id.';
761
762
763
CREATE TABLE bugtag (
764
    id integer NOT NULL,
765
    bug integer NOT NULL,
766
    tag text NOT NULL,
767
    CONSTRAINT valid_tag CHECK (valid_name(tag))
768
);
769
770
771
COMMENT ON TABLE bugtag IS 'Attaches simple text tags to a bug.';
772
773
774
COMMENT ON COLUMN bugtag.bug IS 'The bug the tags is attached to.';
775
776
777
COMMENT ON COLUMN bugtag.tag IS 'The text representation of the tag.';
778
779
780
CREATE FUNCTION bugsummary_tags(bug_row bug) RETURNS SETOF bugtag
781
    LANGUAGE sql STABLE
782
    AS $_$
783
    SELECT * FROM BugTag WHERE BugTag.bug = $1.id
784
    UNION ALL
785
    SELECT NULL::integer, $1.id, NULL::text;
786
$_$;
787
788
789
COMMENT ON FUNCTION bugsummary_tags(bug_row bug) IS 'Return (bug, tag) for all tags + (bug, NULL::text)';
790
791
792
CREATE TABLE bugtask (
793
    id integer NOT NULL,
794
    bug integer NOT NULL,
795
    product integer,
796
    distribution integer,
797
    distroseries integer,
798
    sourcepackagename integer,
799
    binarypackagename integer,
800
    status integer NOT NULL,
801
    importance integer DEFAULT 5 NOT NULL,
802
    assignee integer,
803
    date_assigned timestamp without time zone,
804
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone),
805
    owner integer NOT NULL,
806
    milestone integer,
807
    bugwatch integer,
808
    fti ts2.tsvector,
809
    targetnamecache text,
810
    date_confirmed timestamp without time zone,
811
    date_inprogress timestamp without time zone,
812
    date_closed timestamp without time zone,
813
    productseries integer,
814
    date_incomplete timestamp without time zone,
815
    date_left_new timestamp without time zone,
816
    date_triaged timestamp without time zone,
817
    date_fix_committed timestamp without time zone,
818
    date_fix_released timestamp without time zone,
819
    date_left_closed timestamp without time zone,
820
    heat_rank integer DEFAULT 0 NOT NULL,
821
    date_milestone_set timestamp without time zone,
822
    heat integer DEFAULT 0 NOT NULL,
823
    CONSTRAINT bugtask_assignment_checks CHECK (CASE WHEN (product IS NOT NULL) THEN ((((productseries IS NULL) AND (distribution IS NULL)) AND (distroseries IS NULL)) AND (sourcepackagename IS NULL)) WHEN (productseries IS NOT NULL) THEN (((distribution IS NULL) AND (distroseries IS NULL)) AND (sourcepackagename IS NULL)) WHEN (distribution IS NOT NULL) THEN (distroseries IS NULL) WHEN (distroseries IS NOT NULL) THEN true ELSE false END)
824
);
825
826
827
COMMENT ON TABLE bugtask IS 'Links a given Bug to a particular (sourcepackagename, distro) or product.';
828
829
830
COMMENT ON COLUMN bugtask.bug IS 'The bug that is assigned to this (sourcepackagename, distro) or product.';
831
832
833
COMMENT ON COLUMN bugtask.product IS 'The product in which this bug shows up.';
834
835
836
COMMENT ON COLUMN bugtask.distribution IS 'The distro of the named sourcepackage.';
837
838
839
COMMENT ON COLUMN bugtask.sourcepackagename IS 'The name of the sourcepackage in which this bug shows up.';
840
841
842
COMMENT ON COLUMN bugtask.binarypackagename IS 'The name of the binary package built from the source package. This column may only contain a value if this bug task is linked to a sourcepackage (not a product)';
843
844
845
COMMENT ON COLUMN bugtask.status IS 'The general health of the bug, e.g. Accepted, Rejected, etc.';
846
847
848
COMMENT ON COLUMN bugtask.importance IS 'The importance of fixing the bug.';
849
850
851
COMMENT ON COLUMN bugtask.assignee IS 'The person who has been assigned to fix this bug in this product or (sourcepackagename, distro)';
852
853
854
COMMENT ON COLUMN bugtask.date_assigned IS 'The date on which the bug in this (sourcepackagename, distro) or product was assigned to someone to fix';
855
856
857
COMMENT ON COLUMN bugtask.datecreated IS 'A timestamp for the creation of this bug assignment. Note that this is not the date the bug was created (though it might be), it''s the date the bug was assigned to this product, which could have come later.';
858
859
860
COMMENT ON COLUMN bugtask.milestone IS 'A way to mark a bug for grouping purposes, e.g. to say it needs to be fixed by version 1.2';
861
862
863
COMMENT ON COLUMN bugtask.bugwatch IS 'This column allows us to link a bug
864
task to a bug watch. In other words, we are connecting the state of the task
865
to the state of the bug in a different bug tracking system. To the best of
866
our ability we''ll try and keep the bug task syncronised with the state of
867
the remote bug watch.';
868
869
870
COMMENT ON COLUMN bugtask.targetnamecache IS 'A cached value of the target name of this bugtask, to make it easier to sort and search on the target name.';
871
872
873
COMMENT ON COLUMN bugtask.date_confirmed IS 'The date when this bug transitioned from an unconfirmed status to a confirmed one. If the state regresses to a one that logically occurs before Confirmed, e.g., Unconfirmed, this date is cleared.';
874
875
876
COMMENT ON COLUMN bugtask.date_inprogress IS 'The date on which this bug transitioned from not being in progress to a state >= In Progress. If the status moves back to a pre-In Progress state, this date is cleared';
877
878
879
COMMENT ON COLUMN bugtask.date_closed IS 'The date when this bug transitioned to a resolved state, e.g., Rejected, Fix Released, etc. If the state changes back to a pre-closed state, this date is cleared';
880
881
882
COMMENT ON COLUMN bugtask.productseries IS 'The product series to which the bug is targeted';
883
884
885
COMMENT ON COLUMN bugtask.date_left_new IS 'The date when this bug first transitioned out of the NEW status.';
886
887
888
COMMENT ON COLUMN bugtask.date_triaged IS 'The date when this bug transitioned to a status >= TRIAGED.';
889
890
891
COMMENT ON COLUMN bugtask.date_fix_committed IS 'The date when this bug transitioned to a status >= FIXCOMMITTED.';
892
893
894
COMMENT ON COLUMN bugtask.date_fix_released IS 'The date when this bug transitioned to a FIXRELEASED status.';
895
896
897
COMMENT ON COLUMN bugtask.date_left_closed IS 'The date when this bug last transitioned out of a CLOSED status.';
898
899
900
COMMENT ON COLUMN bugtask.heat_rank IS 'The heat bin in which this bugtask appears, as a value from the BugTaskHeatRank enumeration.';
901
902
903
COMMENT ON COLUMN bugtask.date_milestone_set IS 'The date when this bug was targed to the milestone that is currently set.';
904
905
906
CREATE FUNCTION bugsummary_tasks(bug_row bug) RETURNS SETOF bugtask
907
    LANGUAGE plpgsql STABLE
908
    AS $$
909
DECLARE
910
    bt bugtask%ROWTYPE;
911
    r record;
912
BEGIN
913
    bt.bug = BUG_ROW.id;
914
915
    -- One row only for each target permutation - need to ignore other fields
916
    -- like date last modified to deal with conjoined masters and multiple
917
    -- sourcepackage tasks in a distro.
918
    FOR r IN
919
        SELECT
920
            product, productseries, distribution, distroseries,
921
            sourcepackagename, status, milestone, importance, bugwatch
922
        FROM BugTask WHERE bug=BUG_ROW.id
923
        UNION -- Implicit DISTINCT
924
        SELECT
925
            product, productseries, distribution, distroseries,
926
            NULL, status, milestone, importance, bugwatch
927
        FROM BugTask WHERE bug=BUG_ROW.id AND sourcepackagename IS NOT NULL
928
    LOOP
929
        bt.product = r.product;
930
        bt.productseries = r.productseries;
931
        bt.distribution = r.distribution;
932
        bt.distroseries = r.distroseries;
933
        bt.sourcepackagename = r.sourcepackagename;
934
        bt.status = r.status;
935
        bt.milestone = r.milestone;
936
        bt.importance = r.importance;
937
        bt.bugwatch = r.bugwatch;
938
        RETURN NEXT bt;
939
    END LOOP;
940
END;
941
$$;
942
943
944
COMMENT ON FUNCTION bugsummary_tasks(bug_row bug) IS 'Return all tasks for the bug + all sourcepackagename tasks again with the sourcepackagename squashed';
945
946
947
CREATE TABLE bugsubscription (
948
    id integer NOT NULL,
949
    person integer NOT NULL,
950
    bug integer NOT NULL,
951
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
952
    subscribed_by integer NOT NULL,
953
    bug_notification_level integer DEFAULT 40 NOT NULL
954
);
955
956
957
COMMENT ON TABLE bugsubscription IS 'A subscription by a Person to a bug.';
958
959
960
COMMENT ON COLUMN bugsubscription.bug_notification_level IS 'The level of notifications which the Person will receive from this subscription.';
961
962
963
CREATE FUNCTION bugsummary_viewers(bug_row bug) RETURNS SETOF bugsubscription
964
    LANGUAGE sql STABLE
965
    AS $_$
966
    SELECT *
967
    FROM BugSubscription
968
    WHERE
969
        bugsubscription.bug=$1.id
970
        AND $1.private IS TRUE;
971
$_$;
972
973
974
COMMENT ON FUNCTION bugsummary_viewers(bug_row bug) IS 'Return (bug, viewer) for all viewers if private, nothing otherwise';
975
976
977
CREATE FUNCTION bugtag_maintain_bug_summary() RETURNS trigger
978
    LANGUAGE plpgsql SECURITY DEFINER
979
    SET search_path TO public
980
    AS $$
981
BEGIN
982
    IF TG_OP = 'INSERT' THEN
983
        IF TG_WHEN = 'BEFORE' THEN
984
            PERFORM unsummarise_bug(bug_row(NEW.bug));
985
        ELSE
986
            PERFORM summarise_bug(bug_row(NEW.bug));
987
        END IF;
988
        PERFORM bug_summary_flush_temp_journal();
989
        RETURN NEW;
990
    ELSIF TG_OP = 'DELETE' THEN
991
        IF TG_WHEN = 'BEFORE' THEN
992
            PERFORM unsummarise_bug(bug_row(OLD.bug));
993
        ELSE
994
            PERFORM summarise_bug(bug_row(OLD.bug));
995
        END IF;
996
        PERFORM bug_summary_flush_temp_journal();
997
        RETURN OLD;
998
    ELSE
999
        IF TG_WHEN = 'BEFORE' THEN
1000
            PERFORM unsummarise_bug(bug_row(OLD.bug));
1001
            IF OLD.bug <> NEW.bug THEN
1002
                PERFORM unsummarise_bug(bug_row(NEW.bug));
1003
            END IF;
1004
        ELSE
1005
            PERFORM summarise_bug(bug_row(OLD.bug));
1006
            IF OLD.bug <> NEW.bug THEN
1007
                PERFORM summarise_bug(bug_row(NEW.bug));
1008
            END IF;
1009
        END IF;
1010
        PERFORM bug_summary_flush_temp_journal();
1011
        RETURN NEW;
1012
    END IF;
1013
END;
1014
$$;
1015
1016
1017
COMMENT ON FUNCTION bugtag_maintain_bug_summary() IS 'AFTER trigger on bugtag maintaining the bugs summaries in bugsummary.';
1018
1019
1020
CREATE FUNCTION bugtask_maintain_bug_summary() RETURNS trigger
1021
    LANGUAGE plpgsql SECURITY DEFINER
1022
    SET search_path TO public
1023
    AS $$
1024
BEGIN
1025
    -- This trigger only works if we are inserting, updating or deleting
1026
    -- a single row per statement.
1027
1028
    -- Unlike bug_maintain_bug_summary, this trigger does not have access
1029
    -- to the old bug when invoked as an AFTER trigger. To work around this
1030
    -- we install this trigger as both a BEFORE and an AFTER trigger.
1031
    IF TG_OP = 'INSERT' THEN
1032
        IF TG_WHEN = 'BEFORE' THEN
1033
            PERFORM unsummarise_bug(bug_row(NEW.bug));
1034
        ELSE
1035
            PERFORM summarise_bug(bug_row(NEW.bug));
1036
        END IF;
1037
        PERFORM bug_summary_flush_temp_journal();
1038
        RETURN NEW;
1039
1040
    ELSIF TG_OP = 'DELETE' THEN
1041
        IF TG_WHEN = 'BEFORE' THEN
1042
            PERFORM unsummarise_bug(bug_row(OLD.bug));
1043
        ELSE
1044
            PERFORM summarise_bug(bug_row(OLD.bug));
1045
        END IF;
1046
        PERFORM bug_summary_flush_temp_journal();
1047
        RETURN OLD;
1048
1049
    ELSE
1050
        IF (OLD.product IS DISTINCT FROM NEW.product
1051
            OR OLD.productseries IS DISTINCT FROM NEW.productseries
1052
            OR OLD.distribution IS DISTINCT FROM NEW.distribution
1053
            OR OLD.distroseries IS DISTINCT FROM NEW.distroseries
1054
            OR OLD.sourcepackagename IS DISTINCT FROM NEW.sourcepackagename
1055
            OR OLD.status IS DISTINCT FROM NEW.status
1056
            OR OLD.importance IS DISTINCT FROM NEW.importance
1057
            OR OLD.bugwatch IS DISTINCT FROM NEW.bugwatch
1058
            OR OLD.milestone IS DISTINCT FROM NEW.milestone) THEN
1059
1060
            IF TG_WHEN = 'BEFORE' THEN
1061
                PERFORM unsummarise_bug(bug_row(OLD.bug));
1062
                IF OLD.bug <> NEW.bug THEN
1063
                    PERFORM unsummarise_bug(bug_row(NEW.bug));
1064
                END IF;
1065
            ELSE
1066
                PERFORM summarise_bug(bug_row(OLD.bug));
1067
                IF OLD.bug <> NEW.bug THEN
1068
                    PERFORM summarise_bug(bug_row(NEW.bug));
1069
                END IF;
1070
            END IF;
1071
        END IF;
1072
        PERFORM bug_summary_flush_temp_journal();
1073
        RETURN NEW;
1074
    END IF;
1075
END;
1076
$$;
1077
1078
1079
COMMENT ON FUNCTION bugtask_maintain_bug_summary() IS 'Both BEFORE & AFTER trigger on bugtask maintaining the bugs summaries in bugsummary.';
1080
1081
1082
CREATE FUNCTION calculate_bug_heat(bug_id integer) RETURNS integer
1083
    LANGUAGE plpythonu STABLE STRICT
1084
    AS $$
1085
    from datetime import datetime
1086
1087
    class BugHeatConstants:
1088
        PRIVACY = 150
1089
        SECURITY = 250
1090
        DUPLICATE = 6
1091
        AFFECTED_USER = 4
1092
        SUBSCRIBER = 2
1093
1094
    def get_max_heat_for_bug(bug_id):
1095
        results = plpy.execute("""
1096
            SELECT MAX(
1097
                GREATEST(Product.max_bug_heat,
1098
                         DistributionSourcePackage.max_bug_heat))
1099
                    AS max_heat
1100
            FROM BugTask
1101
            LEFT OUTER JOIN ProductSeries ON
1102
                BugTask.productseries = ProductSeries.id
1103
            LEFT OUTER JOIN Product ON (
1104
                BugTask.product = Product.id
1105
                OR ProductSeries.product = Product.id)
1106
            LEFT OUTER JOIN DistroSeries ON
1107
                BugTask.distroseries = DistroSeries.id
1108
            LEFT OUTER JOIN Distribution ON (
1109
                BugTask.distribution = Distribution.id
1110
                OR DistroSeries.distribution = Distribution.id)
1111
            LEFT OUTER JOIN DistributionSourcePackage ON (
1112
                BugTask.sourcepackagename =
1113
                    DistributionSourcePackage.sourcepackagename)
1114
            WHERE
1115
                BugTask.bug = %s""" % bug_id)
1116
1117
        return results[0]['max_heat']
1118
1119
    # It would be nice to be able to just SELECT * here, but we need the
1120
    # timestamps to be in a format that datetime.fromtimestamp() will
1121
    # understand.
1122
    bug_data = plpy.execute("""
1123
        SELECT
1124
            duplicateof,
1125
            private,
1126
            security_related,
1127
            number_of_duplicates,
1128
            users_affected_count,
1129
            EXTRACT(epoch from datecreated)
1130
                AS timestamp_date_created,
1131
            EXTRACT(epoch from date_last_updated)
1132
                AS timestamp_date_last_updated,
1133
            EXTRACT(epoch from date_last_message)
1134
                AS timestamp_date_last_message
1135
        FROM Bug WHERE id = %s""" % bug_id)
1136
1137
    if bug_data.nrows() == 0:
1138
        raise Exception("Bug %s doesn't exist." % bug_id)
1139
1140
    bug = bug_data[0]
1141
    if bug['duplicateof'] is not None:
1142
        return None
1143
1144
    heat = {}
1145
    heat['dupes'] = (
1146
        BugHeatConstants.DUPLICATE * bug['number_of_duplicates'])
1147
    heat['affected_users'] = (
1148
        BugHeatConstants.AFFECTED_USER *
1149
        bug['users_affected_count'])
1150
1151
    if bug['private']:
1152
        heat['privacy'] = BugHeatConstants.PRIVACY
1153
    if bug['security_related']:
1154
        heat['security'] = BugHeatConstants.SECURITY
1155
1156
    # Get the heat from subscribers, both direct and via duplicates.
1157
    subs_from_dupes = plpy.execute("""
1158
        SELECT COUNT(DISTINCT BugSubscription.person) AS sub_count
1159
        FROM BugSubscription, Bug
1160
        WHERE Bug.id = BugSubscription.bug
1161
            AND (Bug.id = %s OR Bug.duplicateof = %s)"""
1162
        % (bug_id, bug_id))
1163
1164
    heat['subcribers'] = (
1165
        BugHeatConstants.SUBSCRIBER
1166
        * subs_from_dupes[0]['sub_count'])
1167
1168
    total_heat = sum(heat.values())
1169
1170
    # Bugs decay over time. Every day the bug isn't touched its heat
1171
    # decreases by 1%.
1172
    date_last_updated = datetime.fromtimestamp(
1173
        bug['timestamp_date_last_updated'])
1174
    days_since_last_update = (datetime.utcnow() - date_last_updated).days
1175
    total_heat = int(total_heat * (0.99 ** days_since_last_update))
1176
1177
    if days_since_last_update > 0:
1178
        # Bug heat increases by a quarter of the maximum bug heat
1179
        # divided by the number of days since the bug's creation date.
1180
        date_created = datetime.fromtimestamp(
1181
            bug['timestamp_date_created'])
1182
1183
        if bug['timestamp_date_last_message'] is not None:
1184
            date_last_message = datetime.fromtimestamp(
1185
                bug['timestamp_date_last_message'])
1186
            oldest_date = max(date_last_updated, date_last_message)
1187
        else:
1188
            date_last_message = None
1189
            oldest_date = date_last_updated
1190
1191
        days_since_last_activity = (datetime.utcnow() - oldest_date).days
1192
        days_since_created = (datetime.utcnow() - date_created).days
1193
        max_heat = get_max_heat_for_bug(bug_id)
1194
        if max_heat is not None and days_since_created > 0:
1195
            total_heat = (
1196
                total_heat + (max_heat * 0.25 / days_since_created))
1197
1198
    return int(total_heat)
1199
$$;
1200
1201
1202
CREATE FUNCTION cursor_fetch(cur refcursor, n integer) RETURNS SETOF record
1203
    LANGUAGE plpgsql
1204
    AS $$
1205
DECLARE
1206
    r record;
1207
    count integer;
1208
BEGIN
1209
    FOR count IN 1..n LOOP
1210
        FETCH FORWARD FROM cur INTO r;
1211
        IF NOT FOUND THEN
1212
            RETURN;
1213
        END IF;
1214
        RETURN NEXT r;
1215
    END LOOP;
1216
END;
1217
$$;
1218
1219
1220
COMMENT ON FUNCTION cursor_fetch(cur refcursor, n integer) IS 'Fetch the next n items from a cursor. Work around for not being able to use FETCH inside a SELECT statement.';
1221
1222
1223
CREATE FUNCTION debversion(character) RETURNS debversion
1224
    LANGUAGE internal IMMUTABLE STRICT
1225
    AS $$rtrim1$$;
1226
1227
1228
CREATE FUNCTION debversion_cmp(version1 debversion, version2 debversion) RETURNS integer
1229
    LANGUAGE c IMMUTABLE STRICT
1230
    AS '$libdir/debversion', 'debversion_cmp';
1231
1232
1233
COMMENT ON FUNCTION debversion_cmp(version1 debversion, version2 debversion) IS 'Compare Debian versions';
1234
1235
1236
CREATE FUNCTION debversion_eq(version1 debversion, version2 debversion) RETURNS boolean
1237
    LANGUAGE c IMMUTABLE STRICT
1238
    AS '$libdir/debversion', 'debversion_eq';
1239
1240
1241
COMMENT ON FUNCTION debversion_eq(version1 debversion, version2 debversion) IS 'debversion equal';
1242
1243
1244
CREATE FUNCTION debversion_ge(version1 debversion, version2 debversion) RETURNS boolean
1245
    LANGUAGE c IMMUTABLE STRICT
1246
    AS '$libdir/debversion', 'debversion_ge';
1247
1248
1249
COMMENT ON FUNCTION debversion_ge(version1 debversion, version2 debversion) IS 'debversion greater-than-or-equal';
1250
1251
1252
CREATE FUNCTION debversion_gt(version1 debversion, version2 debversion) RETURNS boolean
1253
    LANGUAGE c IMMUTABLE STRICT
1254
    AS '$libdir/debversion', 'debversion_gt';
1255
1256
1257
COMMENT ON FUNCTION debversion_gt(version1 debversion, version2 debversion) IS 'debversion greater-than';
1258
1259
1260
CREATE FUNCTION debversion_hash(debversion) RETURNS integer
1261
    LANGUAGE c IMMUTABLE STRICT
1262
    AS '$libdir/debversion', 'debversion_hash';
1263
1264
1265
CREATE FUNCTION debversion_larger(version1 debversion, version2 debversion) RETURNS debversion
1266
    LANGUAGE c IMMUTABLE STRICT
1267
    AS '$libdir/debversion', 'debversion_larger';
1268
1269
1270
CREATE FUNCTION debversion_le(version1 debversion, version2 debversion) RETURNS boolean
1271
    LANGUAGE c IMMUTABLE STRICT
1272
    AS '$libdir/debversion', 'debversion_le';
1273
1274
1275
COMMENT ON FUNCTION debversion_le(version1 debversion, version2 debversion) IS 'debversion less-than-or-equal';
1276
1277
1278
CREATE FUNCTION debversion_lt(version1 debversion, version2 debversion) RETURNS boolean
1279
    LANGUAGE c IMMUTABLE STRICT
1280
    AS '$libdir/debversion', 'debversion_lt';
1281
1282
1283
COMMENT ON FUNCTION debversion_lt(version1 debversion, version2 debversion) IS 'debversion less-than';
1284
1285
1286
CREATE FUNCTION debversion_ne(version1 debversion, version2 debversion) RETURNS boolean
1287
    LANGUAGE c IMMUTABLE STRICT
1288
    AS '$libdir/debversion', 'debversion_ne';
1289
1290
1291
COMMENT ON FUNCTION debversion_ne(version1 debversion, version2 debversion) IS 'debversion not equal';
1292
1293
1294
CREATE FUNCTION debversion_smaller(version1 debversion, version2 debversion) RETURNS debversion
1295
    LANGUAGE c IMMUTABLE STRICT
1296
    AS '$libdir/debversion', 'debversion_smaller';
1297
1298
1299
CREATE FUNCTION debversion_sort_key(version text) RETURNS text
1300
    LANGUAGE plpythonu IMMUTABLE STRICT
1301
    AS $_$
1302
    # If this method is altered, then any functional indexes using it
1303
    # need to be rebuilt.
1304
    import re
1305
1306
    VERRE = re.compile("(?:([0-9]+):)?(.+?)(?:-([^-]+))?$")
1307
1308
    MAP = "0123456789ABCDEFGHIJKLMNOPQRSTUV"
1309
1310
    epoch, version, release = VERRE.match(args[0]).groups()
1311
    key = []
1312
    for part, part_weight in ((epoch, 3000), (version, 2000), (release, 1000)):
1313
        if not part:
1314
            continue
1315
        i = 0
1316
        l = len(part)
1317
        while i != l:
1318
            c = part[i]
1319
            if c.isdigit():
1320
                key.append(part_weight)
1321
                j = i
1322
                while i != l and part[i].isdigit(): i += 1
1323
                key.append(part_weight+int(part[j:i] or "0"))
1324
            elif c == "~":
1325
                key.append(0)
1326
                i += 1
1327
            elif c.isalpha():
1328
                key.append(part_weight+ord(c))
1329
                i += 1
1330
            else:
1331
                key.append(part_weight+256+ord(c))
1332
                i += 1
1333
        if not key or key[-1] != part_weight:
1334
            key.append(part_weight)
1335
            key.append(part_weight)
1336
    key.append(1)
1337
1338
    # Encode our key and return it
1339
    #
1340
    result = []
1341
    for value in key:
1342
        if not value:
1343
            result.append("000")
1344
        else:
1345
            element = []
1346
            while value:
1347
                element.insert(0, MAP[value & 0x1F])
1348
                value >>= 5
1349
            element_len = len(element)
1350
            if element_len < 3:
1351
                element.insert(0, "0"*(3-element_len))
1352
            elif element_len == 3:
1353
                pass
1354
            elif element_len < 35:
1355
                element.insert(0, MAP[element_len-4])
1356
                element.insert(0, "X")
1357
            elif element_len < 1027:
1358
                element.insert(0, MAP[(element_len-4) & 0x1F])
1359
                element.insert(0, MAP[(element_len-4) & 0x3E0])
1360
                element.insert(0, "Y")
1361
            else:
1362
                raise ValueError("Number too large")
1363
            result.extend(element)
1364
    return "".join(result)
1365
$_$;
1366
1367
1368
COMMENT ON FUNCTION debversion_sort_key(version text) IS 'Return a string suitable for sorting debian version strings on';
1369
1370
1371
CREATE FUNCTION ensure_bugsummary_temp_journal() RETURNS void
1372
    LANGUAGE plpgsql
1373
    AS $$
1374
DECLARE
1375
BEGIN
1376
    CREATE TEMPORARY TABLE bugsummary_temp_journal (
1377
        LIKE bugsummary ) ON COMMIT DROP;
1378
    ALTER TABLE bugsummary_temp_journal ALTER COLUMN id DROP NOT NULL;
1379
EXCEPTION
1380
    WHEN duplicate_table THEN
1381
        NULL;
1382
END;
1383
$$;
1384
1385
1386
COMMENT ON FUNCTION ensure_bugsummary_temp_journal() IS 'Create a temporary table bugsummary_temp_journal if it does not exist.';
1387
1388
1389
CREATE FUNCTION generate_openid_identifier() RETURNS text
1390
    LANGUAGE plpythonu
1391
    AS $$
1392
    from random import choice
1393
1394
    # Non display confusing characters.
1395
    chars = '34678bcdefhkmnprstwxyzABCDEFGHJKLMNPQRTWXY'
1396
1397
    # Character length of tokens. Can be increased, decreased or even made
1398
    # random - Launchpad does not care. 7 means it takes 40 bytes to store
1399
    # a null-terminated Launchpad identity URL on the current domain name.
1400
    length=7
1401
1402
    loop_count = 0
1403
    while loop_count < 20000:
1404
        # Generate a random openid_identifier
1405
        oid = ''.join(choice(chars) for count in range(length))
1406
1407
        # Check if the oid is already in the db, although this is pretty
1408
        # unlikely
1409
        rv = plpy.execute("""
1410
            SELECT COUNT(*) AS num FROM Account WHERE openid_identifier = '%s'
1411
            """ % oid, 1)
1412
        if rv[0]['num'] == 0:
1413
            return oid
1414
        loop_count += 1
1415
        if loop_count == 1:
1416
            plpy.warning(
1417
                'Clash generating unique openid_identifier. '
1418
                'Increase length if you see this warning too much.')
1419
    plpy.error(
1420
        "Unable to generate unique openid_identifier. "
1421
        "Need to increase length of tokens.")
1422
$$;
1423
1424
1425
CREATE FUNCTION getlocalnodeid() RETURNS integer
1426
    LANGUAGE plpgsql STABLE SECURITY DEFINER
1427
    SET search_path TO public
1428
    AS $$
1429
    DECLARE
1430
        v_node_id integer;
1431
    BEGIN
1432
        SELECT INTO v_node_id _sl.getlocalnodeid('_sl');
1433
        RETURN v_node_id;
1434
    EXCEPTION
1435
        WHEN invalid_schema_name THEN
1436
            RETURN NULL;
1437
    END;
1438
$$;
1439
1440
1441
COMMENT ON FUNCTION getlocalnodeid() IS 'Return the replication node id for this node, or NULL if not a replicated installation.';
1442
1443
1444
CREATE FUNCTION is_blacklisted_name(text, integer) RETURNS boolean
1445
    LANGUAGE sql STABLE STRICT SECURITY DEFINER
1446
    SET search_path TO public
1447
    AS $_$
1448
    SELECT COALESCE(name_blacklist_match($1, $2)::boolean, FALSE);
1449
$_$;
1450
1451
1452
COMMENT ON FUNCTION is_blacklisted_name(text, integer) IS 'Return TRUE if any regular expressions stored in the NameBlacklist table match the givenname, otherwise return FALSE.';
1453
1454
1455
CREATE FUNCTION is_person(text) RETURNS boolean
1456
    LANGUAGE sql STABLE STRICT
1457
    AS $_$
1458
    SELECT count(*)>0 FROM Person WHERE name=$1 AND teamowner IS NULL;
1459
$_$;
1460
1461
1462
COMMENT ON FUNCTION is_person(text) IS 'True if the given name identifies a person in the Person table';
1463
1464
1465
CREATE FUNCTION is_printable_ascii(text) RETURNS boolean
1466
    LANGUAGE plpythonu IMMUTABLE STRICT
1467
    AS $_$
1468
    import re, string
1469
    try:
1470
        text = args[0].decode("ASCII")
1471
    except UnicodeError:
1472
        return False
1473
    if re.search(r"^[%s]*$" % re.escape(string.printable), text) is None:
1474
        return False
1475
    return True
1476
$_$;
1477
1478
1479
COMMENT ON FUNCTION is_printable_ascii(text) IS 'True if the string is pure printable US-ASCII';
1480
1481
1482
CREATE FUNCTION is_team(integer) RETURNS boolean
1483
    LANGUAGE sql STABLE STRICT
1484
    AS $_$
1485
    SELECT count(*)>0 FROM Person WHERE id=$1 AND teamowner IS NOT NULL;
1486
$_$;
1487
1488
1489
COMMENT ON FUNCTION is_team(integer) IS 'True if the given id identifies a team in the Person table';
1490
1491
1492
CREATE FUNCTION is_team(text) RETURNS boolean
1493
    LANGUAGE sql STABLE STRICT
1494
    AS $_$
1495
    SELECT count(*)>0 FROM Person WHERE name=$1 AND teamowner IS NOT NULL;
1496
$_$;
1497
1498
1499
COMMENT ON FUNCTION is_team(text) IS 'True if the given name identifies a team in the Person table';
1500
1501
1502
CREATE FUNCTION lp_mirror_account_ins() RETURNS trigger
1503
    LANGUAGE plpgsql SECURITY DEFINER
1504
    SET search_path TO public
1505
    AS $$
1506
BEGIN
1507
    INSERT INTO lp_Account (id, openid_identifier)
1508
    VALUES (NEW.id, NEW.openid_identifier);
1509
    RETURN NULL; -- Ignored for AFTER triggers.
1510
END;
1511
$$;
1512
1513
1514
CREATE FUNCTION lp_mirror_account_upd() RETURNS trigger
1515
    LANGUAGE plpgsql SECURITY DEFINER
1516
    SET search_path TO public
1517
    AS $$
1518
BEGIN
1519
    IF OLD.id <> NEW.id OR OLD.openid_identifier <> NEW.openid_identifier THEN
1520
        UPDATE lp_Account
1521
        SET id = NEW.id, openid_identifier = NEW.openid_identifier
1522
        WHERE id = OLD.id;
1523
    END IF;
1524
    RETURN NULL; -- Ignored for AFTER triggers.
1525
END;
1526
$$;
1527
1528
1529
CREATE FUNCTION lp_mirror_del() RETURNS trigger
1530
    LANGUAGE plpgsql SECURITY DEFINER
1531
    SET search_path TO public
1532
    AS $$
1533
BEGIN
1534
    EXECUTE 'DELETE FROM lp_' || TG_TABLE_NAME || ' WHERE id=' || OLD.id;
1535
    RETURN NULL; -- Ignored for AFTER triggers.
1536
END;
1537
$$;
1538
1539
1540
CREATE FUNCTION lp_mirror_openididentifier_del() RETURNS trigger
1541
    LANGUAGE plpgsql SECURITY DEFINER
1542
    SET search_path TO public
1543
    AS $$
1544
DECLARE
1545
    next_identifier text;
1546
BEGIN
1547
    SELECT INTO next_identifier identifier FROM OpenIdIdentifier
1548
    WHERE account = OLD.account AND identifier <> OLD.identifier
1549
    ORDER BY date_created DESC LIMIT 1;
1550
1551
    IF next_identifier IS NOT NULL THEN
1552
        UPDATE lp_account SET openid_identifier = next_identifier
1553
        WHERE openid_identifier = OLD.identifier;
1554
    ELSE
1555
        DELETE FROM lp_account WHERE openid_identifier = OLD.identifier;
1556
    END IF;
1557
1558
    DELETE FROM lp_OpenIdIdentifier WHERE identifier = OLD.identifier;
1559
1560
    RETURN NULL; -- Ignored for AFTER triggers.
1561
END;
1562
$$;
1563
1564
1565
CREATE FUNCTION lp_mirror_openididentifier_ins() RETURNS trigger
1566
    LANGUAGE plpgsql SECURITY DEFINER
1567
    SET search_path TO public
1568
    AS $$
1569
BEGIN
1570
    -- Support obsolete lp_Account.openid_identifier as best we can
1571
    -- until ISD migrates to using lp_OpenIdIdentifier.
1572
    UPDATE lp_account SET openid_identifier = NEW.identifier
1573
    WHERE id = NEW.account;
1574
    IF NOT found THEN
1575
        INSERT INTO lp_account (id, openid_identifier)
1576
        VALUES (NEW.account, NEW.identifier);
1577
    END IF;
1578
1579
    INSERT INTO lp_OpenIdIdentifier (identifier, account, date_created)
1580
    VALUES (NEW.identifier, NEW.account, NEW.date_created);
1581
1582
    RETURN NULL; -- Ignored for AFTER triggers.
1583
END;
1584
$$;
1585
1586
1587
CREATE FUNCTION lp_mirror_openididentifier_upd() RETURNS trigger
1588
    LANGUAGE plpgsql SECURITY DEFINER
1589
    SET search_path TO public
1590
    AS $$
1591
BEGIN
1592
    IF OLD.identifier <> NEW.identifier THEN
1593
        UPDATE lp_Account SET openid_identifier = NEW.identifier
1594
        WHERE openid_identifier = OLD.identifier;
1595
    END IF;
1596
    UPDATE lp_OpenIdIdentifier
1597
    SET
1598
        identifier = NEW.identifier,
1599
        account = NEW.account,
1600
        date_created = NEW.date_created
1601
    WHERE identifier = OLD.identifier;
1602
    RETURN NULL; -- Ignored for AFTER triggers.
1603
END;
1604
$$;
1605
1606
1607
CREATE FUNCTION lp_mirror_person_ins() RETURNS trigger
1608
    LANGUAGE plpgsql SECURITY DEFINER
1609
    SET search_path TO public
1610
    AS $$
1611
BEGIN
1612
    INSERT INTO lp_Person (
1613
        id, displayname, teamowner, teamdescription, name, language, fti,
1614
        defaultmembershipperiod, defaultrenewalperiod, subscriptionpolicy,
1615
        merged, datecreated, homepage_content, icon, mugshot,
1616
        hide_email_addresses, creation_rationale, creation_comment,
1617
        registrant, logo, renewal_policy, personal_standing,
1618
        personal_standing_reason, mail_resumption_date,
1619
        mailing_list_auto_subscribe_policy, mailing_list_receive_duplicates,
1620
        visibility, verbose_bugnotifications, account)
1621
    VALUES (
1622
        NEW.id, NEW.displayname, NEW.teamowner, NULL,
1623
        NEW.name, NEW.language, NEW.fti, NEW.defaultmembershipperiod,
1624
        NEW.defaultrenewalperiod, NEW.subscriptionpolicy,
1625
        NEW.merged, NEW.datecreated, NULL, NEW.icon,
1626
        NEW.mugshot, NEW.hide_email_addresses, NEW.creation_rationale,
1627
        NEW.creation_comment, NEW.registrant, NEW.logo, NEW.renewal_policy,
1628
        NEW.personal_standing, NEW.personal_standing_reason,
1629
        NEW.mail_resumption_date, NEW.mailing_list_auto_subscribe_policy,
1630
        NEW.mailing_list_receive_duplicates, NEW.visibility,
1631
        NEW.verbose_bugnotifications, NEW.account);
1632
    RETURN NULL; -- Ignored for AFTER triggers.
1633
END;
1634
$$;
1635
1636
1637
CREATE FUNCTION lp_mirror_person_upd() RETURNS trigger
1638
    LANGUAGE plpgsql SECURITY DEFINER
1639
    SET search_path TO public
1640
    AS $$
1641
BEGIN
1642
    UPDATE lp_Person
1643
    SET id = NEW.id,
1644
        displayname = NEW.displayname,
1645
        teamowner = NEW.teamowner,
1646
        teamdescription = NULL,
1647
        name = NEW.name,
1648
        language = NEW.language,
1649
        fti = NEW.fti,
1650
        defaultmembershipperiod = NEW.defaultmembershipperiod,
1651
        defaultrenewalperiod = NEW.defaultrenewalperiod,
1652
        subscriptionpolicy = NEW.subscriptionpolicy,
1653
        merged = NEW.merged,
1654
        datecreated = NEW.datecreated,
1655
        homepage_content = NULL,
1656
        icon = NEW.icon,
1657
        mugshot = NEW.mugshot,
1658
        hide_email_addresses = NEW.hide_email_addresses,
1659
        creation_rationale = NEW.creation_rationale,
1660
        creation_comment = NEW.creation_comment,
1661
        registrant = NEW.registrant,
1662
        logo = NEW.logo,
1663
        renewal_policy = NEW.renewal_policy,
1664
        personal_standing = NEW.personal_standing,
1665
        personal_standing_reason = NEW.personal_standing_reason,
1666
        mail_resumption_date = NEW.mail_resumption_date,
1667
        mailing_list_auto_subscribe_policy
1668
            = NEW.mailing_list_auto_subscribe_policy,
1669
        mailing_list_receive_duplicates = NEW.mailing_list_receive_duplicates,
1670
        visibility = NEW.visibility,
1671
        verbose_bugnotifications = NEW.verbose_bugnotifications,
1672
        account = NEW.account
1673
    WHERE id = OLD.id;
1674
    RETURN NULL; -- Ignored for AFTER triggers.
1675
END;
1676
$$;
1677
1678
1679
CREATE FUNCTION lp_mirror_personlocation_ins() RETURNS trigger
1680
    LANGUAGE plpgsql SECURITY DEFINER
1681
    SET search_path TO public
1682
    AS $$
1683
BEGIN
1684
    INSERT INTO lp_PersonLocation SELECT NEW.*;
1685
    RETURN NULL; -- Ignored for AFTER triggers.
1686
END;
1687
$$;
1688
1689
1690
CREATE FUNCTION lp_mirror_personlocation_upd() RETURNS trigger
1691
    LANGUAGE plpgsql SECURITY DEFINER
1692
    SET search_path TO public
1693
    AS $$
1694
BEGIN
1695
    UPDATE lp_PersonLocation
1696
    SET id = NEW.id,
1697
        date_created = NEW.date_created,
1698
        person = NEW.person,
1699
        latitude = NEW.latitude,
1700
        longitude = NEW.longitude,
1701
        time_zone = NEW.time_zone,
1702
        last_modified_by = NEW.last_modified_by,
1703
        date_last_modified = NEW.date_last_modified,
1704
        visible = NEW.visible,
1705
        locked = NEW.locked
1706
    WHERE id = OLD.id;
1707
    RETURN NULL; -- Ignored for AFTER triggers.
1708
END;
1709
$$;
1710
1711
1712
CREATE FUNCTION lp_mirror_teamparticipation_ins() RETURNS trigger
1713
    LANGUAGE plpgsql SECURITY DEFINER
1714
    SET search_path TO public
1715
    AS $$
1716
BEGIN
1717
    INSERT INTO lp_TeamParticipation SELECT NEW.*;
1718
    RETURN NULL; -- Ignored for AFTER triggers.
1719
END;
1720
$$;
1721
1722
1723
CREATE FUNCTION lp_mirror_teamparticipation_upd() RETURNS trigger
1724
    LANGUAGE plpgsql SECURITY DEFINER
1725
    SET search_path TO public
1726
    AS $$
1727
BEGIN
1728
    UPDATE lp_TeamParticipation
1729
    SET id = NEW.id,
1730
        team = NEW.team,
1731
        person = NEW.person
1732
    WHERE id = OLD.id;
1733
    RETURN NULL; -- Ignored for AFTER triggers.
1734
END;
1735
$$;
1736
1737
1738
CREATE FUNCTION maintain_transitively_private() RETURNS trigger
1739
    LANGUAGE plpgsql
1740
    AS $$
1741
BEGIN
1742
    IF TG_OP = 'UPDATE' THEN
1743
        IF (NEW.stacked_on IS NOT DISTINCT FROM OLD.stacked_on
1744
            AND NEW.private IS NOT DISTINCT FROM OLD.private) THEN
1745
            RETURN NULL;
1746
        END IF;
1747
    END IF;
1748
    PERFORM update_transitively_private(NEW.id);
1749
    RETURN NULL;
1750
END;
1751
$$;
1752
1753
1754
COMMENT ON FUNCTION maintain_transitively_private() IS 'Trigger maintaining the Branch transitively_private column';
1755
1756
1757
CREATE FUNCTION message_copy_owner_to_bugmessage() RETURNS trigger
1758
    LANGUAGE plpgsql SECURITY DEFINER
1759
    SET search_path TO public
1760
    AS $$
1761
BEGIN
1762
    IF NEW.owner != OLD.owner THEN
1763
        UPDATE BugMessage
1764
        SET owner = NEW.owner
1765
        WHERE
1766
        BugMessage.message = NEW.id;
1767
    END IF;
1768
    RETURN NULL; -- Ignored - this is an AFTER trigger
1769
END;
1770
$$;
1771
1772
1773
COMMENT ON FUNCTION message_copy_owner_to_bugmessage() IS 'Copies the message owner into bugmessage when message changes.';
1774
1775
1776
CREATE FUNCTION message_copy_owner_to_questionmessage() RETURNS trigger
1777
    LANGUAGE plpgsql SECURITY DEFINER
1778
    SET search_path TO public
1779
    AS $$
1780
BEGIN
1781
    IF NEW.owner != OLD.owner THEN
1782
        UPDATE QuestionMessage
1783
        SET owner = NEW.owner
1784
        WHERE
1785
        QuestionMessage.message = NEW.id;
1786
    END IF;
1787
    RETURN NULL; -- Ignored - this is an AFTER trigger
1788
END;
1789
$$;
1790
1791
1792
COMMENT ON FUNCTION message_copy_owner_to_questionmessage() IS 'Copies the message owner into questionmessage when message changes.';
1793
1794
1795
CREATE FUNCTION milestone_sort_key(dateexpected timestamp without time zone, name text) RETURNS text
1796
    LANGUAGE plpythonu IMMUTABLE
1797
    AS $$
1798
    # If this method is altered, then any functional indexes using it
1799
    # need to be rebuilt.
1800
    import re
1801
    import datetime
1802
1803
    date_expected, name = args
1804
1805
    def substitute_filled_numbers(match):
1806
        return match.group(0).zfill(5)
1807
1808
    name = re.sub(u'\d+', substitute_filled_numbers, name)
1809
    if date_expected is None:
1810
        # NULL dates are considered to be in the future.
1811
        date_expected = datetime.datetime(datetime.MAXYEAR, 1, 1)
1812
    return '%s %s' % (date_expected, name)
1813
$$;
1814
1815
1816
COMMENT ON FUNCTION milestone_sort_key(dateexpected timestamp without time zone, name text) IS 'Sort by the Milestone dateexpected and name. If the dateexpected is NULL, then it is converted to a date far in the future, so it will be sorted as a milestone in the future.';
1817
1818
1819
CREATE FUNCTION mv_branch_distribution_update() RETURNS trigger
1820
    LANGUAGE plpgsql
1821
    AS $$
1822
BEGIN
1823
    IF OLD.id != NEW.id THEN
1824
        RAISE EXCEPTION 'Cannot change Distribution.id';
1825
    END IF;
1826
    IF OLD.name != NEW.name THEN
1827
        UPDATE Branch SET unique_name = NULL
1828
        FROM DistroSeries
1829
        WHERE Branch.distroseries = Distroseries.id
1830
            AND Distroseries.distribution = NEW.id;
1831
    END IF;
1832
    RETURN NULL;
1833
END;
1834
$$;
1835
1836
1837
COMMENT ON FUNCTION mv_branch_distribution_update() IS 'Maintain Branch name cache when Distribution is modified.';
1838
1839
1840
CREATE FUNCTION mv_branch_distroseries_update() RETURNS trigger
1841
    LANGUAGE plpgsql
1842
    AS $$
1843
BEGIN
1844
    IF OLD.id != NEW.id THEN
1845
        RAISE EXCEPTION 'Cannot change Distroseries.id';
1846
    END IF;
1847
    IF OLD.name != NEW.name THEN
1848
        UPDATE Branch SET unique_name = NULL
1849
        WHERE Branch.distroseries = NEW.id;
1850
    END IF;
1851
    RETURN NULL;
1852
END;
1853
$$;
1854
1855
1856
COMMENT ON FUNCTION mv_branch_distroseries_update() IS 'Maintain Branch name cache when Distroseries is modified.';
1857
1858
1859
CREATE FUNCTION mv_branch_person_update() RETURNS trigger
1860
    LANGUAGE plpgsql
1861
    AS $$
1862
DECLARE
1863
    v_branch RECORD;
1864
BEGIN
1865
    IF OLD.id != NEW.id THEN
1866
        RAISE EXCEPTION 'Cannot change Person.id';
1867
    END IF;
1868
    IF OLD.name != NEW.name THEN
1869
        UPDATE Branch SET owner_name = NEW.name WHERE owner = NEW.id;
1870
    END IF;
1871
    RETURN NULL;
1872
END;
1873
$$;
1874
1875
1876
COMMENT ON FUNCTION mv_branch_person_update() IS 'Maintain Branch name cache when Person is modified.';
1877
1878
1879
CREATE FUNCTION mv_branch_product_update() RETURNS trigger
1880
    LANGUAGE plpgsql
1881
    AS $$
1882
DECLARE
1883
    v_branch RECORD;
1884
BEGIN
1885
    IF OLD.id != NEW.id THEN
1886
        RAISE EXCEPTION 'Cannot change Product.id';
1887
    END IF;
1888
    IF OLD.name != NEW.name THEN
1889
        UPDATE Branch SET target_suffix = NEW.name WHERE product=NEW.id;
1890
    END IF;
1891
    RETURN NULL;
1892
END;
1893
$$;
1894
1895
1896
COMMENT ON FUNCTION mv_branch_product_update() IS 'Maintain Branch name cache when Product is modified.';
1897
1898
1899
CREATE FUNCTION mv_pillarname_distribution() RETURNS trigger
1900
    LANGUAGE plpgsql SECURITY DEFINER
1901
    SET search_path TO public
1902
    AS $$
1903
BEGIN
1904
    IF TG_OP = 'INSERT' THEN
1905
        INSERT INTO PillarName (name, distribution)
1906
        VALUES (NEW.name, NEW.id);
1907
    ELSIF NEW.name != OLD.name THEN
1908
        UPDATE PillarName SET name=NEW.name WHERE distribution=NEW.id;
1909
    END IF;
1910
    RETURN NULL; -- Ignored - this is an AFTER trigger
1911
END;
1912
$$;
1913
1914
1915
COMMENT ON FUNCTION mv_pillarname_distribution() IS 'Trigger maintaining the PillarName table';
1916
1917
1918
CREATE FUNCTION mv_pillarname_product() RETURNS trigger
1919
    LANGUAGE plpgsql SECURITY DEFINER
1920
    SET search_path TO public
1921
    AS $$
1922
BEGIN
1923
    IF TG_OP = 'INSERT' THEN
1924
        INSERT INTO PillarName (name, product, active)
1925
        VALUES (NEW.name, NEW.id, NEW.active);
1926
    ELSIF NEW.name != OLD.name OR NEW.active != OLD.active THEN
1927
        UPDATE PillarName SET name=NEW.name, active=NEW.active
1928
        WHERE product=NEW.id;
1929
    END IF;
1930
    RETURN NULL; -- Ignored - this is an AFTER trigger
1931
END;
1932
$$;
1933
1934
1935
COMMENT ON FUNCTION mv_pillarname_product() IS 'Trigger maintaining the PillarName table';
1936
1937
1938
CREATE FUNCTION mv_pillarname_project() RETURNS trigger
1939
    LANGUAGE plpgsql SECURITY DEFINER
1940
    SET search_path TO public
1941
    AS $$
1942
BEGIN
1943
    IF TG_OP = 'INSERT' THEN
1944
        INSERT INTO PillarName (name, project, active)
1945
        VALUES (NEW.name, NEW.id, NEW.active);
1946
    ELSIF NEW.name != OLD.name or NEW.active != OLD.active THEN
1947
        UPDATE PillarName SET name=NEW.name, active=NEW.active
1948
        WHERE project=NEW.id;
1949
    END IF;
1950
    RETURN NULL; -- Ignored - this is an AFTER trigger
1951
END;
1952
$$;
1953
1954
1955
COMMENT ON FUNCTION mv_pillarname_project() IS 'Trigger maintaining the PillarName table';
1956
1957
1958
CREATE FUNCTION mv_pofiletranslator_pomsgset() RETURNS trigger
1959
    LANGUAGE plpgsql
1960
    AS $$
1961
BEGIN
1962
    IF TG_OP = 'DELETE' THEN
1963
        RAISE EXCEPTION
1964
            'Deletions from POMsgSet not supported by the POFileTranslator materialized view';
1965
    ELSIF TG_OP = 'UPDATE' THEN
1966
        IF OLD.pofile != NEW.pofile THEN
1967
            RAISE EXCEPTION
1968
                'Changing POMsgSet.pofile not supported by the POFileTranslator materialized view';
1969
        END IF;
1970
    END IF;
1971
    RETURN NEW;
1972
END;
1973
$$;
1974
1975
1976
COMMENT ON FUNCTION mv_pofiletranslator_pomsgset() IS 'Trigger enforing no POMsgSet deletions or POMsgSet.pofile changes';
1977
1978
1979
CREATE FUNCTION mv_pofiletranslator_posubmission() RETURNS trigger
1980
    LANGUAGE plpgsql SECURITY DEFINER
1981
    AS $$
1982
DECLARE
1983
    v_pofile INTEGER;
1984
    v_trash_old BOOLEAN;
1985
BEGIN
1986
    -- If we are deleting a row, we need to remove the existing
1987
    -- POFileTranslator row and reinsert the historical data if it exists.
1988
    -- We also treat UPDATEs that change the key (person, pofile) the same
1989
    -- as deletes. UPDATEs that don't change these columns are treated like
1990
    -- INSERTs below.
1991
    IF TG_OP = 'INSERT' THEN
1992
        v_trash_old := FALSE;
1993
    ELSIF TG_OP = 'DELETE' THEN
1994
        v_trash_old := TRUE;
1995
    ELSE -- UPDATE
1996
        v_trash_old = (
1997
            OLD.person != NEW.person OR OLD.pomsgset != NEW.pomsgset
1998
            );
1999
    END IF;
2000
2001
    IF v_trash_old THEN
2002
2003
        -- Delete the old record.
2004
        DELETE FROM POFileTranslator USING POMsgSet
2005
        WHERE POFileTranslator.pofile = POMsgSet.pofile
2006
            AND POFileTranslator.person = OLD.person
2007
            AND POMsgSet.id = OLD.pomsgset;
2008
2009
        -- Insert a past record if there is one.
2010
        INSERT INTO POFileTranslator (
2011
            person, pofile, latest_posubmission, date_last_touched
2012
            )
2013
            SELECT DISTINCT ON (POSubmission.person, POMsgSet.pofile)
2014
                POSubmission.person, POMsgSet.pofile,
2015
                POSubmission.id, POSubmission.datecreated
2016
            FROM POSubmission, POMsgSet
2017
            WHERE POSubmission.pomsgset = POMsgSet.id
2018
                AND POSubmission.pomsgset = OLD.pomsgset
2019
                AND POSubmission.person = OLD.person
2020
            ORDER BY
2021
                POSubmission.person, POMsgSet.pofile,
2022
                POSubmission.datecreated DESC, POSubmission.id DESC;
2023
2024
        -- No NEW with DELETE, so we can short circuit and leave.
2025
        IF TG_OP = 'DELETE' THEN
2026
            RETURN NULL; -- Ignored because this is an AFTER trigger
2027
        END IF;
2028
    END IF;
2029
2030
    -- Get our new pofile id
2031
    SELECT INTO v_pofile POMsgSet.pofile FROM POMsgSet
2032
    WHERE POMsgSet.id = NEW.pomsgset;
2033
2034
    -- Standard 'upsert' loop to avoid race conditions.
2035
    LOOP
2036
        UPDATE POFileTranslator
2037
            SET
2038
                date_last_touched = CURRENT_TIMESTAMP AT TIME ZONE 'UTC',
2039
                latest_posubmission = NEW.id
2040
            WHERE
2041
                person = NEW.person
2042
                AND pofile = v_pofile;
2043
        IF found THEN
2044
            RETURN NULL; -- Return value ignored as this is an AFTER trigger
2045
        END IF;
2046
2047
        BEGIN
2048
            INSERT INTO POFileTranslator (person, pofile, latest_posubmission)
2049
            VALUES (NEW.person, v_pofile, NEW.id);
2050
            RETURN NULL; -- Return value ignored as this is an AFTER trigger
2051
        EXCEPTION WHEN unique_violation THEN
2052
            -- do nothing
2053
        END;
2054
    END LOOP;
2055
END;
2056
$$;
2057
2058
2059
COMMENT ON FUNCTION mv_pofiletranslator_posubmission() IS 'Trigger maintaining the POFileTranslator table';
2060
2061
2062
CREATE FUNCTION mv_pofiletranslator_translationmessage() RETURNS trigger
2063
    LANGUAGE plpgsql SECURITY DEFINER
2064
    SET search_path TO public
2065
    AS $$
2066
DECLARE
2067
    v_trash_old BOOLEAN;
2068
BEGIN
2069
    -- If we are deleting a row, we need to remove the existing
2070
    -- POFileTranslator row and reinsert the historical data if it exists.
2071
    -- We also treat UPDATEs that change the key (submitter) the same
2072
    -- as deletes. UPDATEs that don't change these columns are treated like
2073
    -- INSERTs below.
2074
    IF TG_OP = 'INSERT' THEN
2075
        v_trash_old := FALSE;
2076
    ELSIF TG_OP = 'DELETE' THEN
2077
        v_trash_old := TRUE;
2078
    ELSE -- UPDATE
2079
        v_trash_old = (
2080
            OLD.submitter != NEW.submitter
2081
            );
2082
    END IF;
2083
2084
    IF v_trash_old THEN
2085
        -- Was this somebody's most-recently-changed message?
2086
        -- If so, delete the entry for that change.
2087
        DELETE FROM POFileTranslator
2088
        WHERE latest_message = OLD.id;
2089
        IF FOUND THEN
2090
            -- We deleted the entry for somebody's latest contribution.
2091
            -- Find that person's latest remaining contribution and
2092
            -- create a new record for that.
2093
            INSERT INTO POFileTranslator (
2094
                person, pofile, latest_message, date_last_touched
2095
                )
2096
            SELECT DISTINCT ON (person, pofile.id)
2097
                new_latest_message.submitter AS person,
2098
                pofile.id,
2099
                new_latest_message.id,
2100
                greatest(new_latest_message.date_created,
2101
                         new_latest_message.date_reviewed)
2102
              FROM POFile
2103
              JOIN TranslationTemplateItem AS old_template_item
2104
                ON OLD.potmsgset = old_template_item.potmsgset AND
2105
                   old_template_item.potemplate = pofile.potemplate AND
2106
                   pofile.language = OLD.language
2107
              JOIN TranslationTemplateItem AS new_template_item
2108
                ON (old_template_item.potemplate =
2109
                     new_template_item.potemplate)
2110
              JOIN TranslationMessage AS new_latest_message
2111
                ON new_latest_message.potmsgset =
2112
                       new_template_item.potmsgset AND
2113
                   new_latest_message.language = OLD.language
2114
              LEFT OUTER JOIN POfileTranslator AS ExistingEntry
2115
                ON ExistingEntry.person = OLD.submitter AND
2116
                   ExistingEntry.pofile = POFile.id
2117
              WHERE
2118
                new_latest_message.submitter = OLD.submitter AND
2119
                ExistingEntry IS NULL
2120
              ORDER BY new_latest_message.submitter, pofile.id,
2121
                       new_latest_message.date_created DESC,
2122
                       new_latest_message.id DESC;
2123
        END IF;
2124
2125
        -- No NEW with DELETE, so we can short circuit and leave.
2126
        IF TG_OP = 'DELETE' THEN
2127
            RETURN NULL; -- Ignored because this is an AFTER trigger
2128
        END IF;
2129
    END IF;
2130
2131
    -- Standard 'upsert' loop to avoid race conditions.
2132
    LOOP
2133
        UPDATE POFileTranslator
2134
        SET
2135
            date_last_touched = CURRENT_TIMESTAMP AT TIME ZONE 'UTC',
2136
            latest_message = NEW.id
2137
        FROM POFile, TranslationTemplateItem
2138
        WHERE person = NEW.submitter AND
2139
              TranslationTemplateItem.potmsgset=NEW.potmsgset AND
2140
              TranslationTemplateItem.potemplate=pofile.potemplate AND
2141
              pofile.language=NEW.language AND
2142
              POFileTranslator.pofile = pofile.id;
2143
        IF found THEN
2144
            RETURN NULL; -- Return value ignored as this is an AFTER trigger
2145
        END IF;
2146
2147
        BEGIN
2148
            INSERT INTO POFileTranslator (person, pofile, latest_message)
2149
            SELECT DISTINCT ON (NEW.submitter, pofile.id)
2150
                NEW.submitter, pofile.id, NEW.id
2151
              FROM TranslationTemplateItem
2152
              JOIN POFile
2153
                ON pofile.language = NEW.language AND
2154
                   pofile.potemplate = translationtemplateitem.potemplate
2155
              WHERE
2156
                TranslationTemplateItem.potmsgset = NEW.potmsgset;
2157
            RETURN NULL; -- Return value ignored as this is an AFTER trigger
2158
        EXCEPTION WHEN unique_violation THEN
2159
            -- do nothing
2160
        END;
2161
    END LOOP;
2162
END;
2163
$$;
2164
2165
2166
COMMENT ON FUNCTION mv_pofiletranslator_translationmessage() IS 'Trigger maintaining the POFileTranslator table';
2167
2168
2169
CREATE FUNCTION mv_validpersonorteamcache_emailaddress() RETURNS trigger
2170
    LANGUAGE plpythonu SECURITY DEFINER
2171
    AS $_$
2172
    # This trigger function keeps the ValidPersonOrTeamCache materialized
2173
    # view in sync when updates are made to the EmailAddress table.
2174
    # Note that if the corresponding person is a team, changes to this table
2175
    # have no effect.
2176
    PREF = 4 # Constant indicating preferred email address
2177
2178
    if not SD.has_key("delete_plan"):
2179
        param_types = ["int4"]
2180
2181
        SD["is_team"] = plpy.prepare("""
2182
            SELECT teamowner IS NOT NULL AS is_team FROM Person WHERE id = $1
2183
            """, param_types)
2184
2185
        SD["delete_plan"] = plpy.prepare("""
2186
            DELETE FROM ValidPersonOrTeamCache WHERE id = $1
2187
            """, param_types)
2188
2189
        SD["insert_plan"] = plpy.prepare("""
2190
            INSERT INTO ValidPersonOrTeamCache (id) VALUES ($1)
2191
            """, param_types)
2192
2193
        SD["maybe_insert_plan"] = plpy.prepare("""
2194
            INSERT INTO ValidPersonOrTeamCache (id)
2195
            SELECT Person.id
2196
            FROM Person
2197
                JOIN EmailAddress ON Person.id = EmailAddress.person
2198
                LEFT OUTER JOIN ValidPersonOrTeamCache
2199
                    ON Person.id = ValidPersonOrTeamCache.id
2200
            WHERE Person.id = $1
2201
                AND ValidPersonOrTeamCache.id IS NULL
2202
                AND status = %(PREF)d
2203
                AND merged IS NULL
2204
                -- AND password IS NOT NULL
2205
            """ % vars(), param_types)
2206
2207
    def is_team(person_id):
2208
        """Return true if person_id corresponds to a team"""
2209
        if person_id is None:
2210
            return False
2211
        return plpy.execute(SD["is_team"], [person_id], 1)[0]["is_team"]
2212
2213
    class NoneDict:
2214
        def __getitem__(self, key):
2215
            return None
2216
2217
    old = TD["old"] or NoneDict()
2218
    new = TD["new"] or NoneDict()
2219
2220
    #plpy.info("old.id     == %s" % old["id"])
2221
    #plpy.info("old.person == %s" % old["person"])
2222
    #plpy.info("old.status == %s" % old["status"])
2223
    #plpy.info("new.id     == %s" % new["id"])
2224
    #plpy.info("new.person == %s" % new["person"])
2225
    #plpy.info("new.status == %s" % new["status"])
2226
2227
    # Short circuit if neither person nor status has changed
2228
    if old["person"] == new["person"] and old["status"] == new["status"]:
2229
        return
2230
2231
    # Short circuit if we are not mucking around with preferred email
2232
    # addresses
2233
    if old["status"] != PREF and new["status"] != PREF:
2234
        return
2235
2236
    # Note that we have a constraint ensuring that there is only one
2237
    # status == PREF email address per person at any point in time.
2238
    # This simplifies our logic, as we know that if old.status == PREF,
2239
    # old.person does not have any other preferred email addresses.
2240
    # Also if new.status == PREF, we know new.person previously did not
2241
    # have a preferred email address.
2242
2243
    if old["person"] != new["person"]:
2244
        if old["status"] == PREF and not is_team(old["person"]):
2245
            # old.person is no longer valid, unless they are a team
2246
            plpy.execute(SD["delete_plan"], [old["person"]])
2247
        if new["status"] == PREF and not is_team(new["person"]):
2248
            # new["person"] is now valid, or unchanged if they are a team
2249
            plpy.execute(SD["insert_plan"], [new["person"]])
2250
2251
    elif old["status"] == PREF and not is_team(old["person"]):
2252
        # No longer valid, or unchanged if they are a team
2253
        plpy.execute(SD["delete_plan"], [old["person"]])
2254
2255
    elif new["status"] == PREF and not is_team(new["person"]):
2256
        # May now be valid, or unchanged if they are a team.
2257
        plpy.execute(SD["maybe_insert_plan"], [new["person"]])
2258
$_$;
2259
2260
2261
COMMENT ON FUNCTION mv_validpersonorteamcache_emailaddress() IS 'A trigger for maintaining the ValidPersonOrTeamCache eager materialized view when changes are made to the EmailAddress table';
2262
2263
2264
CREATE FUNCTION mv_validpersonorteamcache_person() RETURNS trigger
2265
    LANGUAGE plpythonu SECURITY DEFINER
2266
    AS $_$
2267
    # This trigger function could be simplified by simply issuing
2268
    # one DELETE followed by one INSERT statement. However, we want to minimize
2269
    # expensive writes so we use this more complex logic.
2270
    PREF = 4 # Constant indicating preferred email address
2271
2272
    if not SD.has_key("delete_plan"):
2273
        param_types = ["int4"]
2274
2275
        SD["delete_plan"] = plpy.prepare("""
2276
            DELETE FROM ValidPersonOrTeamCache WHERE id = $1
2277
            """, param_types)
2278
2279
        SD["maybe_insert_plan"] = plpy.prepare("""
2280
            INSERT INTO ValidPersonOrTeamCache (id)
2281
            SELECT Person.id
2282
            FROM Person
2283
                LEFT OUTER JOIN EmailAddress
2284
                    ON Person.id = EmailAddress.person AND status = %(PREF)d
2285
                LEFT OUTER JOIN ValidPersonOrTeamCache
2286
                    ON Person.id = ValidPersonOrTeamCache.id
2287
            WHERE Person.id = $1
2288
                AND ValidPersonOrTeamCache.id IS NULL
2289
                AND merged IS NULL
2290
                AND (teamowner IS NOT NULL OR EmailAddress.id IS NOT NULL)
2291
            """ % vars(), param_types)
2292
2293
    new = TD["new"]
2294
    old = TD["old"]
2295
2296
    # We should always have new, as this is not a DELETE trigger
2297
    assert new is not None, 'New is None'
2298
2299
    person_id = new["id"]
2300
    query_params = [person_id] # All the same
2301
2302
    # Short circuit if this is a new person (not team), as it cannot
2303
    # be valid until a status == 4 EmailAddress entry has been created
2304
    # (unless it is a team, in which case it is valid on creation)
2305
    if old is None:
2306
        if new["teamowner"] is not None:
2307
            plpy.execute(SD["maybe_insert_plan"], query_params)
2308
        return
2309
2310
    # Short circuit if there are no relevant changes
2311
    if (new["teamowner"] == old["teamowner"]
2312
        and new["merged"] == old["merged"]):
2313
        return
2314
2315
    # This function is only dealing with updates to the Person table.
2316
    # This means we do not have to worry about EmailAddress changes here
2317
2318
    if (new["merged"] is not None or new["teamowner"] is None):
2319
        plpy.execute(SD["delete_plan"], query_params)
2320
    else:
2321
        plpy.execute(SD["maybe_insert_plan"], query_params)
2322
$_$;
2323
2324
2325
COMMENT ON FUNCTION mv_validpersonorteamcache_person() IS 'A trigger for maintaining the ValidPersonOrTeamCache eager materialized view when changes are made to the Person table';
2326
2327
2328
CREATE FUNCTION name_blacklist_match(text, integer) RETURNS integer
2329
    LANGUAGE plpythonu STABLE STRICT SECURITY DEFINER
2330
    SET search_path TO public
2331
    AS $_$
2332
    import re
2333
    name = args[0].decode("UTF-8")
2334
    user_id = args[1]
2335
2336
    # Initialize shared storage, shared between invocations.
2337
    if not SD.has_key("regexp_select_plan"):
2338
2339
        # All the blacklist regexps except the ones we are an admin
2340
        # for. These we do not check since they are not blacklisted to us.
2341
        SD["regexp_select_plan"] = plpy.prepare("""
2342
            SELECT id, regexp FROM NameBlacklist
2343
            WHERE admin IS NULL OR admin NOT IN (
2344
                SELECT team FROM TeamParticipation
2345
                WHERE person = $1)
2346
            ORDER BY id
2347
            """, ["integer"])
2348
2349
        # Storage for compiled regexps
2350
        SD["compiled"] = {}
2351
2352
        # admins is a celebrity and its id is immutable.
2353
        admins_id = plpy.execute(
2354
            "SELECT id FROM Person WHERE name='admins'")[0]["id"]
2355
2356
        SD["admin_select_plan"] = plpy.prepare("""
2357
            SELECT TRUE FROM TeamParticipation
2358
            WHERE
2359
                TeamParticipation.team = %d
2360
                AND TeamParticipation.person = $1
2361
            LIMIT 1
2362
            """ % admins_id, ["integer"])
2363
2364
        # All the blacklist regexps except those that have an admin because
2365
        # members of ~admin can use any name that any other admin can use.
2366
        SD["admin_regexp_select_plan"] = plpy.prepare("""
2367
            SELECT id, regexp FROM NameBlacklist
2368
            WHERE admin IS NULL
2369
            ORDER BY id
2370
            """, ["integer"])
2371
2372
2373
    compiled = SD["compiled"]
2374
2375
    # Names are never blacklisted for Lauchpad admins.
2376
    if user_id is not None and plpy.execute(
2377
        SD["admin_select_plan"], [user_id]).nrows() > 0:
2378
        blacklist_plan = "admin_regexp_select_plan"
2379
    else:
2380
        blacklist_plan = "regexp_select_plan"
2381
2382
    for row in plpy.execute(SD[blacklist_plan], [user_id]):
2383
        regexp_id = row["id"]
2384
        regexp_txt = row["regexp"]
2385
        if (compiled.get(regexp_id) is None
2386
            or compiled[regexp_id][0] != regexp_txt):
2387
            regexp = re.compile(
2388
                regexp_txt, re.IGNORECASE | re.UNICODE | re.VERBOSE
2389
                )
2390
            compiled[regexp_id] = (regexp_txt, regexp)
2391
        else:
2392
            regexp = compiled[regexp_id][1]
2393
        if regexp.search(name) is not None:
2394
            return regexp_id
2395
    return None
2396
$_$;
2397
2398
2399
COMMENT ON FUNCTION name_blacklist_match(text, integer) IS 'Return the id of the row in the NameBlacklist table that matches the given name, or NULL if no regexps in the NameBlacklist table match.';
2400
2401
2402
CREATE FUNCTION null_count(p_values anyarray) RETURNS integer
2403
    LANGUAGE plpgsql IMMUTABLE STRICT
2404
    AS $$
2405
DECLARE
2406
    v_index integer;
2407
    v_null_count integer := 0;
2408
BEGIN
2409
    FOR v_index IN array_lower(p_values,1)..array_upper(p_values,1) LOOP
2410
        IF p_values[v_index] IS NULL THEN
2411
            v_null_count := v_null_count + 1;
2412
        END IF;
2413
    END LOOP;
2414
    RETURN v_null_count;
2415
END;
2416
$$;
2417
2418
2419
COMMENT ON FUNCTION null_count(p_values anyarray) IS 'Return the number of NULLs in the first row of the given array.';
2420
2421
2422
CREATE FUNCTION packageset_deleted_trig() RETURNS trigger
2423
    LANGUAGE plpgsql
2424
    AS $$
2425
BEGIN
2426
    DELETE FROM flatpackagesetinclusion
2427
      WHERE parent = OLD.id AND child = OLD.id;
2428
2429
    -- A package set was deleted; it may have participated in package set
2430
    -- inclusion relations in a sub/superset role; delete all inclusion
2431
    -- relationships in which it participated.
2432
    DELETE FROM packagesetinclusion
2433
      WHERE parent = OLD.id OR child = OLD.id;
2434
    RETURN OLD;
2435
END;
2436
$$;
2437
2438
2439
COMMENT ON FUNCTION packageset_deleted_trig() IS 'Remove any DAG edges leading to/from the deleted package set.';
2440
2441
2442
CREATE FUNCTION packageset_inserted_trig() RETURNS trigger
2443
    LANGUAGE plpgsql
2444
    AS $$
2445
BEGIN
2446
    -- A new package set was inserted; make it a descendent of itself in
2447
    -- the flattened package set inclusion table in order to facilitate
2448
    -- querying.
2449
    INSERT INTO flatpackagesetinclusion(parent, child)
2450
      VALUES (NEW.id, NEW.id);
2451
    RETURN NULL;
2452
END;
2453
$$;
2454
2455
2456
COMMENT ON FUNCTION packageset_inserted_trig() IS 'Insert self-referencing DAG edge when a new package set is inserted.';
2457
2458
2459
CREATE FUNCTION packagesetinclusion_deleted_trig() RETURNS trigger
2460
    LANGUAGE plpgsql
2461
    AS $$
2462
BEGIN
2463
    -- A package set inclusion relationship was deleted i.e. a set M
2464
    -- ceases to include another set N as a subset.
2465
    -- For an explanation of the queries below please see page 5 of
2466
    -- "Maintaining Transitive Closure of Graphs in SQL"
2467
    -- http://www.comp.nus.edu.sg/~wongls/psZ/dlsw-ijit97-16.ps
2468
    CREATE TEMP TABLE tmp_fpsi_suspect(
2469
        parent integer NOT NULL,
2470
        child integer NOT NULL);
2471
    CREATE TEMP TABLE tmp_fpsi_trusted(
2472
        parent integer NOT NULL,
2473
        child integer NOT NULL);
2474
    CREATE TEMP TABLE tmp_fpsi_good(
2475
        parent integer NOT NULL,
2476
        child integer NOT NULL);
2477
2478
    INSERT INTO tmp_fpsi_suspect (
2479
        SELECT X.parent, Y.child
2480
        FROM flatpackagesetinclusion X, flatpackagesetinclusion Y
2481
        WHERE X.child = OLD.parent AND Y.parent = OLD.child
2482
      UNION
2483
        SELECT X.parent, OLD.child FROM flatpackagesetinclusion X
2484
        WHERE X.child = OLD.parent
2485
      UNION
2486
        SELECT OLD.parent, X.child FROM flatpackagesetinclusion X
2487
        WHERE X.parent = OLD.child
2488
      UNION
2489
        SELECT OLD.parent, OLD.child
2490
        );
2491
2492
    INSERT INTO tmp_fpsi_trusted (
2493
        SELECT parent, child FROM flatpackagesetinclusion
2494
        EXCEPT
2495
        SELECT parent, child FROM tmp_fpsi_suspect
2496
      UNION
2497
        SELECT parent, child FROM packagesetinclusion psi
2498
        WHERE psi.parent != OLD.parent AND psi.child != OLD.child
2499
        );
2500
2501
    INSERT INTO tmp_fpsi_good (
2502
        SELECT parent, child FROM tmp_fpsi_trusted
2503
      UNION
2504
        SELECT T1.parent, T2.child
2505
        FROM tmp_fpsi_trusted T1, tmp_fpsi_trusted T2
2506
        WHERE T1.child = T2.parent
2507
      UNION
2508
        SELECT T1.parent, T3.child
2509
        FROM tmp_fpsi_trusted T1, tmp_fpsi_trusted T2, tmp_fpsi_trusted T3
2510
        WHERE T1.child = T2.parent AND T2.child = T3.parent
2511
        );
2512
2513
    DELETE FROM flatpackagesetinclusion fpsi
2514
    WHERE NOT EXISTS (
2515
        SELECT * FROM tmp_fpsi_good T
2516
        WHERE T.parent = fpsi.parent AND T.child = fpsi.child);
2517
2518
    DROP TABLE tmp_fpsi_good;
2519
    DROP TABLE tmp_fpsi_trusted;
2520
    DROP TABLE tmp_fpsi_suspect;
2521
2522
    RETURN OLD;
2523
END;
2524
$$;
2525
2526
2527
COMMENT ON FUNCTION packagesetinclusion_deleted_trig() IS 'Maintain the transitive closure in the DAG when an edge leading to/from a package set is deleted.';
2528
2529
2530
CREATE FUNCTION packagesetinclusion_inserted_trig() RETURNS trigger
2531
    LANGUAGE plpgsql
2532
    AS $$
2533
BEGIN
2534
    DECLARE
2535
        parent_name text;
2536
        child_name text;
2537
        parent_distroseries text;
2538
        child_distroseries text;
2539
    BEGIN
2540
        -- Make sure that the package sets being associated here belong
2541
        -- to the same distro series.
2542
        IF (SELECT parent.distroseries != child.distroseries
2543
            FROM packageset parent, packageset child
2544
            WHERE parent.id = NEW.parent AND child.id = NEW.child)
2545
        THEN
2546
            SELECT name INTO parent_name FROM packageset WHERE id = NEW.parent;
2547
            SELECT name INTO child_name FROM packageset WHERE id = NEW.child;
2548
            SELECT ds.name INTO parent_distroseries FROM packageset ps, distroseries ds WHERE ps.id = NEW.parent AND ps.distroseries = ds.id;
2549
            SELECT ds.name INTO child_distroseries FROM packageset ps, distroseries ds WHERE ps.id = NEW.child AND ps.distroseries = ds.id;
2550
            RAISE EXCEPTION 'Package sets % and % belong to different distro series (to % and % respectively) and thus cannot be associated.', child_name, parent_name, child_distroseries, parent_distroseries;
2551
        END IF;
2552
2553
        IF EXISTS(
2554
            SELECT * FROM flatpackagesetinclusion
2555
            WHERE parent = NEW.child AND child = NEW.parent LIMIT 1)
2556
        THEN
2557
            SELECT name INTO parent_name FROM packageset WHERE id = NEW.parent;
2558
            SELECT name INTO child_name FROM packageset WHERE id = NEW.child;
2559
            RAISE EXCEPTION 'Package set % already includes %. Adding (% -> %) would introduce a cycle in the package set graph (DAG).', child_name, parent_name, parent_name, child_name;
2560
        END IF;
2561
    END;
2562
    -- A new package set inclusion relationship was inserted i.e. a set M
2563
    -- now includes another set N as a subset.
2564
    -- For an explanation of the queries below please see page 4 of
2565
    -- "Maintaining Transitive Closure of Graphs in SQL"
2566
    -- http://www.comp.nus.edu.sg/~wongls/psZ/dlsw-ijit97-16.ps
2567
    CREATE TEMP TABLE tmp_fpsi_new(
2568
        parent integer NOT NULL,
2569
        child integer NOT NULL);
2570
2571
    INSERT INTO tmp_fpsi_new (
2572
        SELECT
2573
            X.parent AS parent, NEW.child AS child
2574
        FROM flatpackagesetinclusion X WHERE X.child = NEW.parent
2575
      UNION
2576
        SELECT
2577
            NEW.parent AS parent, X.child AS child
2578
        FROM flatpackagesetinclusion X WHERE X.parent = NEW.child
2579
      UNION
2580
        SELECT
2581
            X.parent AS parent, Y.child AS child
2582
        FROM flatpackagesetinclusion X, flatpackagesetinclusion Y
2583
        WHERE X.child = NEW.parent AND Y.parent = NEW.child
2584
        );
2585
    INSERT INTO tmp_fpsi_new(parent, child) VALUES(NEW.parent, NEW.child);
2586
2587
    INSERT INTO flatpackagesetinclusion(parent, child) (
2588
        SELECT
2589
            parent, child FROM tmp_fpsi_new
2590
        EXCEPT
2591
        SELECT F.parent, F.child FROM flatpackagesetinclusion F
2592
        );
2593
2594
    DROP TABLE tmp_fpsi_new;
2595
2596
    RETURN NULL;
2597
END;
2598
$$;
2599
2600
2601
COMMENT ON FUNCTION packagesetinclusion_inserted_trig() IS 'Maintain the transitive closure in the DAG for a newly inserted edge leading to/from a package set.';
2602
2603
2604
CREATE FUNCTION person_sort_key(displayname text, name text) RETURNS text
2605
    LANGUAGE plpythonu IMMUTABLE STRICT
2606
    AS $$
2607
    # NB: If this implementation is changed, the person_sort_idx needs to be
2608
    # rebuilt along with any other indexes using it.
2609
    import re
2610
2611
    try:
2612
        strip_re = SD["strip_re"]
2613
    except KeyError:
2614
        strip_re = re.compile("(?:[^\w\s]|[\d_])", re.U)
2615
        SD["strip_re"] = strip_re
2616
2617
    displayname, name = args
2618
2619
    # Strip noise out of displayname. We do not have to bother with
2620
    # name, as we know it is just plain ascii.
2621
    displayname = strip_re.sub('', displayname.decode('UTF-8').lower())
2622
    return ("%s, %s" % (displayname.strip(), name)).encode('UTF-8')
2623
$$;
2624
2625
2626
COMMENT ON FUNCTION person_sort_key(displayname text, name text) IS 'Return a string suitable for sorting people on, generated by stripping noise out of displayname and concatenating name';
2627
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
2628
2629
CREATE FUNCTION pgstattuple(text) RETURNS pgstattuple_type
7675.1121.53 by Stuart Bishop
New baseline
2630
    LANGUAGE c STRICT
2631
    AS '$libdir/pgstattuple', 'pgstattuple';
2632
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
2633
2634
CREATE FUNCTION pgstattuple(oid) RETURNS pgstattuple_type
7675.1121.53 by Stuart Bishop
New baseline
2635
    LANGUAGE c STRICT
2636
    AS '$libdir/pgstattuple', 'pgstattuplebyid';
2637
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
2638
2639
CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
7675.1121.53 by Stuart Bishop
New baseline
2640
    LANGUAGE c
2641
    AS '$libdir/plpgsql', 'plpgsql_call_handler';
2642
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
2643
2644
CREATE FUNCTION plpython_call_handler() RETURNS language_handler
7675.1121.53 by Stuart Bishop
New baseline
2645
    LANGUAGE c
2646
    AS '$libdir/plpython', 'plpython_call_handler';
2647
2648
2649
CREATE FUNCTION questionmessage_copy_owner_from_message() RETURNS trigger
2650
    LANGUAGE plpgsql SECURITY DEFINER
2651
    SET search_path TO public
2652
    AS $$
2653
BEGIN
2654
    IF TG_OP = 'INSERT' THEN
2655
        IF NEW.owner is NULL THEN
2656
            UPDATE QuestionMessage
2657
            SET owner = Message.owner FROM
2658
            Message WHERE
2659
            Message.id = NEW.message AND
2660
            QuestionMessage.id = NEW.id;
2661
        END IF;
2662
    ELSIF NEW.message != OLD.message THEN
2663
        UPDATE QuestionMessage
2664
        SET owner = Message.owner FROM
2665
        Message WHERE
2666
        Message.id = NEW.message AND
2667
        QuestionMessage.id = NEW.id;
2668
    END IF;
2669
    RETURN NULL; -- Ignored - this is an AFTER trigger
2670
END;
2671
$$;
2672
2673
2674
COMMENT ON FUNCTION questionmessage_copy_owner_from_message() IS 'Copies the message owner into QuestionMessage when QuestionMessage changes.';
2675
2676
2677
CREATE FUNCTION replication_lag() RETURNS interval
2678
    LANGUAGE plpgsql STABLE SECURITY DEFINER
2679
    SET search_path TO public
2680
    AS $$
2681
    DECLARE
2682
        v_lag interval;
2683
    BEGIN
2684
        SELECT INTO v_lag max(st_lag_time) FROM _sl.sl_status;
2685
        RETURN v_lag;
2686
    -- Slony-I not installed here - non-replicated setup.
2687
    EXCEPTION
2688
        WHEN invalid_schema_name THEN
2689
            RETURN NULL;
2690
        WHEN undefined_table THEN
2691
            RETURN NULL;
2692
    END;
2693
$$;
2694
2695
2696
COMMENT ON FUNCTION replication_lag() IS 'Returns the worst lag time in our cluster, or NULL if not a replicated installation. Only returns meaningful results on the lpmain replication set master.';
2697
2698
2699
CREATE FUNCTION replication_lag(node_id integer) RETURNS interval
2700
    LANGUAGE plpgsql STABLE SECURITY DEFINER
2701
    SET search_path TO public
2702
    AS $$
2703
    DECLARE
2704
        v_lag interval;
2705
    BEGIN
2706
        SELECT INTO v_lag st_lag_time FROM _sl.sl_status
2707
            WHERE st_origin = _sl.getlocalnodeid('_sl')
2708
                AND st_received = node_id;
2709
        RETURN v_lag;
2710
    -- Slony-I not installed here - non-replicated setup.
2711
    EXCEPTION
2712
        WHEN invalid_schema_name THEN
2713
            RETURN NULL;
2714
        WHEN undefined_table THEN
2715
            RETURN NULL;
2716
    END;
2717
$$;
2718
2719
2720
COMMENT ON FUNCTION replication_lag(node_id integer) IS 'Returns the lag time of the lpmain replication set to the given node, or NULL if not a replicated installation. The node id parameter can be obtained by calling getlocalnodeid() on the relevant database. This function only returns meaningful results on the lpmain replication set master.';
2721
2722
2723
CREATE FUNCTION sane_version(text) RETURNS boolean
2724
    LANGUAGE plpythonu IMMUTABLE STRICT
2725
    AS $_$
2726
    import re
2727
    if re.search("""^(?ix)
2728
        [0-9a-z]
2729
        ( [0-9a-z] | [0-9a-z.-]*[0-9a-z] )*
2730
        $""", args[0]):
2731
        return 1
2732
    return 0
2733
$_$;
2734
2735
2736
COMMENT ON FUNCTION sane_version(text) IS 'A sane version number for use by ProductRelease and DistroRelease. We may make it less strict if required, but it would be nice if we can enforce simple version strings because we use them in URLs';
2737
2738
2739
CREATE FUNCTION set_bug_date_last_message() RETURNS trigger
2740
    LANGUAGE plpgsql SECURITY DEFINER
2741
    SET search_path TO public
2742
    AS $$
2743
BEGIN
2744
    IF TG_OP = 'INSERT' THEN
2745
        UPDATE Bug
2746
        SET date_last_message = CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
2747
        WHERE Bug.id = NEW.bug;
2748
    ELSE
2749
        UPDATE Bug
2750
        SET date_last_message = max_datecreated
2751
        FROM (
2752
            SELECT BugMessage.bug, max(Message.datecreated) AS max_datecreated
2753
            FROM BugMessage, Message
2754
            WHERE BugMessage.id <> OLD.id
2755
                AND BugMessage.bug = OLD.bug
2756
                AND BugMessage.message = Message.id
2757
            GROUP BY BugMessage.bug
2758
            ) AS MessageSummary
2759
        WHERE Bug.id = MessageSummary.bug;
2760
    END IF;
2761
    RETURN NULL; -- Ignored - this is an AFTER trigger
2762
END;
2763
$$;
2764
2765
2766
COMMENT ON FUNCTION set_bug_date_last_message() IS 'AFTER INSERT trigger on BugMessage maintaining the Bug.date_last_message column';
2767
2768
2769
CREATE FUNCTION set_bug_message_count() RETURNS trigger
2770
    LANGUAGE plpgsql
2771
    AS $$
2772
BEGIN
2773
    IF TG_OP = 'UPDATE' THEN
2774
        IF NEW.bug = OLD.bug THEN
2775
            RETURN NULL; -- Ignored - this is an AFTER trigger.
2776
        END IF;
2777
    END IF;
2778
2779
    IF TG_OP <> 'DELETE' THEN
2780
        UPDATE Bug SET message_count = message_count + 1
2781
        WHERE Bug.id = NEW.bug;
2782
    END IF;
2783
2784
    IF TG_OP <> 'INSERT' THEN
2785
        UPDATE Bug SET message_count = message_count - 1
2786
        WHERE Bug.id = OLD.bug;
2787
    END IF;
2788
2789
    RETURN NULL; -- Ignored - this is an AFTER trigger.
2790
END;
2791
$$;
2792
2793
2794
COMMENT ON FUNCTION set_bug_message_count() IS 'AFTER UPDATE trigger on BugAffectsPerson maintaining the Bug.users_affected_count column';
2795
2796
2797
CREATE FUNCTION set_bug_number_of_duplicates() RETURNS trigger
2798
    LANGUAGE plpgsql
2799
    AS $$
2800
BEGIN
2801
    -- Short circuit on an update that doesn't change duplicateof
2802
    IF TG_OP = 'UPDATE' THEN
2803
        IF NEW.duplicateof = OLD.duplicateof THEN
2804
            RETURN NULL; -- Ignored - this is an AFTER trigger
2805
        END IF;
2806
    END IF;
2807
2808
    -- For update or delete, possibly decrement a bug's dupe count
2809
    IF TG_OP <> 'INSERT' THEN
2810
        IF OLD.duplicateof IS NOT NULL THEN
2811
            UPDATE Bug SET number_of_duplicates = number_of_duplicates - 1
2812
                WHERE Bug.id = OLD.duplicateof;
2813
        END IF;
2814
    END IF;
2815
2816
    -- For update or insert, possibly increment a bug's dupe cout
2817
    IF TG_OP <> 'DELETE' THEN
2818
        IF NEW.duplicateof IS NOT NULL THEN
2819
            UPDATE Bug SET number_of_duplicates = number_of_duplicates + 1
2820
                WHERE Bug.id = NEW.duplicateof;
2821
        END IF;
2822
    END IF;
2823
2824
    RETURN NULL; -- Ignored - this is an AFTER trigger
2825
END;
2826
$$;
2827
2828
2829
COMMENT ON FUNCTION set_bug_number_of_duplicates() IS 'AFTER UPDATE trigger on Bug maintaining the Bug.number_of_duplicates column';
2830
2831
2832
CREATE FUNCTION set_bug_users_affected_count() RETURNS trigger
2833
    LANGUAGE plpgsql
2834
    AS $$
2835
BEGIN
2836
    IF TG_OP = 'INSERT' THEN
2837
        IF NEW.affected = TRUE THEN
2838
            UPDATE Bug
2839
            SET users_affected_count = users_affected_count + 1
2840
            WHERE Bug.id = NEW.bug;
2841
        ELSE
2842
            UPDATE Bug
2843
            SET users_unaffected_count = users_unaffected_count + 1
2844
            WHERE Bug.id = NEW.bug;
2845
        END IF;
2846
    END IF;
2847
2848
    IF TG_OP = 'DELETE' THEN
2849
        IF OLD.affected = TRUE THEN
2850
            UPDATE Bug
2851
            SET users_affected_count = users_affected_count - 1
2852
            WHERE Bug.id = OLD.bug;
2853
        ELSE
2854
            UPDATE Bug
2855
            SET users_unaffected_count = users_unaffected_count - 1
2856
            WHERE Bug.id = OLD.bug;
2857
        END IF;
2858
    END IF;
2859
2860
    IF TG_OP = 'UPDATE' THEN
2861
        IF OLD.affected <> NEW.affected THEN
2862
            IF NEW.affected THEN
2863
                UPDATE Bug
2864
                SET users_affected_count = users_affected_count + 1,
2865
                    users_unaffected_count = users_unaffected_count - 1
2866
                WHERE Bug.id = OLD.bug;
2867
            ELSE
2868
                UPDATE Bug
2869
                SET users_affected_count = users_affected_count - 1,
2870
                    users_unaffected_count = users_unaffected_count + 1
2871
                WHERE Bug.id = OLD.bug;
2872
            END IF;
2873
        END IF;
2874
    END IF;
2875
2876
    RETURN NULL;
2877
END;
2878
$$;
2879
2880
2881
CREATE FUNCTION set_bugtask_date_milestone_set() RETURNS trigger
2882
    LANGUAGE plpgsql
2883
    AS $$
2884
BEGIN
2885
    IF TG_OP = 'INSERT' THEN
2886
        -- If the inserted row as a milestone set, set date_milestone_set.
2887
        IF NEW.milestone IS NOT NULL THEN
2888
            UPDATE BugTask
2889
            SET date_milestone_set = CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
2890
            WHERE BugTask.id = NEW.id;
2891
        END IF;
2892
    END IF;
2893
2894
    IF TG_OP = 'UPDATE' THEN
2895
        IF OLD.milestone IS NULL THEN
2896
            -- If there was no milestone set, check if the new row has a
2897
            -- milestone set and set date_milestone_set.
2898
            IF NEW.milestone IS NOT NULL THEN
2899
                UPDATE BugTask
2900
                SET date_milestone_set = CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
2901
                WHERE BugTask.id = NEW.id;
2902
            END IF;
2903
        ELSE
2904
            IF NEW.milestone IS NULL THEN
2905
                -- If the milestone was unset, clear date_milestone_set.
2906
                UPDATE BugTask
2907
                SET date_milestone_set = NULL
2908
                WHERE BugTask.id = NEW.id;
2909
            ELSE
2910
                -- Update date_milestone_set if the bug task was
2911
                -- targeted to another milestone.
2912
                IF NEW.milestone != OLD.milestone THEN
2913
                    UPDATE BugTask
2914
                    SET date_milestone_set = CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
2915
                    WHERE BugTask.id = NEW.id;
2916
                END IF;
2917
2918
            END IF;
2919
        END IF;
2920
    END IF;
2921
2922
    RETURN NULL; -- Ignored - this is an AFTER trigger.
2923
END;
2924
$$;
2925
2926
2927
COMMENT ON FUNCTION set_bugtask_date_milestone_set() IS 'Update BugTask.date_milestone_set when BugTask.milestone is changed.';
2928
2929
2930
CREATE FUNCTION set_date_status_set() RETURNS trigger
2931
    LANGUAGE plpgsql
2932
    AS $$
2933
BEGIN
2934
    IF OLD.status <> NEW.status THEN
2935
        NEW.date_status_set = CURRENT_TIMESTAMP AT TIME ZONE 'UTC';
2936
    END IF;
2937
    RETURN NEW;
2938
END;
2939
$$;
2940
2941
2942
COMMENT ON FUNCTION set_date_status_set() IS 'BEFORE UPDATE trigger on Account that maintains the Account.date_status_set column.';
2943
2944
2945
CREATE FUNCTION set_openid_identifier() RETURNS trigger
2946
    LANGUAGE plpythonu
2947
    AS $$
2948
    # If someone is trying to explicitly set the openid_identifier, let them.
2949
    # This also causes openid_identifiers to be left alone if this is an
2950
    # UPDATE trigger.
2951
    if TD['new']['openid_identifier'] is not None:
2952
        return None
2953
2954
    from random import choice
2955
2956
    # Non display confusing characters
2957
    chars = '34678bcdefhkmnprstwxyzABCDEFGHJKLMNPQRTWXY'
2958
2959
    # character length of tokens. Can be increased, decreased or even made
2960
    # random - Launchpad does not care. 7 means it takes 40 bytes to store
2961
    # a null-terminated Launchpad identity URL on the current domain name.
2962
    length=7
2963
2964
    loop_count = 0
2965
    while loop_count < 20000:
2966
        # Generate a random openid_identifier
2967
        oid = ''.join(choice(chars) for count in range(length))
2968
2969
        # Check if the oid is already in the db, although this is pretty
2970
        # unlikely
2971
        rv = plpy.execute("""
2972
            SELECT COUNT(*) AS num FROM Person WHERE openid_identifier = '%s'
2973
            """ % oid, 1)
2974
        if rv[0]['num'] == 0:
2975
            TD['new']['openid_identifier'] = oid
2976
            return "MODIFY"
2977
        loop_count += 1
2978
        if loop_count == 1:
2979
            plpy.warning(
2980
                'Clash generating unique openid_identifier. '
2981
                'Increase length if you see this warning too much.')
2982
    plpy.error(
2983
        "Unable to generate unique openid_identifier. "
2984
        "Need to increase length of tokens.")
2985
$$;
2986
2987
2988
CREATE FUNCTION set_shipit_normalized_address() RETURNS trigger
2989
    LANGUAGE plpgsql
2990
    AS $$
2991
    BEGIN
2992
        NEW.normalized_address =
2993
            lower(
2994
                -- Strip off everything that's not alphanumeric
2995
                -- characters.
2996
                regexp_replace(
2997
                    coalesce(NEW.addressline1, '') || ' ' ||
2998
                    coalesce(NEW.addressline2, '') || ' ' ||
2999
                    coalesce(NEW.city, ''),
3000
                    '[^a-zA-Z0-9]+', '', 'g'));
3001
        RETURN NEW;
3002
    END;
3003
$$;
3004
3005
3006
COMMENT ON FUNCTION set_shipit_normalized_address() IS 'Store a normalized concatenation of the request''s address into the normalized_address column.';
3007
3008
3009
CREATE FUNCTION sha1(text) RETURNS character
3010
    LANGUAGE plpythonu IMMUTABLE STRICT
3011
    AS $$
3012
    import hashlib
3013
    return hashlib.sha1(args[0]).hexdigest()
3014
$$;
3015
3016
3017
COMMENT ON FUNCTION sha1(text) IS 'Return the SHA1 one way cryptographic hash as a string of 40 hex digits';
3018
3019
3020
CREATE FUNCTION summarise_bug(bug_row bug) RETURNS void
3021
    LANGUAGE plpgsql
3022
    AS $$
3023
DECLARE
3024
    d bugsummary%ROWTYPE;
3025
BEGIN
3026
    PERFORM ensure_bugsummary_temp_journal();
3027
    FOR d IN SELECT * FROM bugsummary_locations(BUG_ROW) LOOP
3028
        d.count = 1;
3029
        PERFORM bug_summary_temp_journal_ins(d);
3030
    END LOOP;
3031
END;
3032
$$;
3033
3034
3035
COMMENT ON FUNCTION summarise_bug(bug_row bug) IS 'AFTER summarise a bug row into bugsummary.';
3036
3037
3038
CREATE FUNCTION ulower(text) RETURNS text
3039
    LANGUAGE plpythonu IMMUTABLE STRICT
3040
    AS $$
3041
    return args[0].decode('utf8').lower().encode('utf8')
3042
$$;
3043
3044
3045
COMMENT ON FUNCTION ulower(text) IS 'Return the lower case version of a UTF-8 encoded string.';
3046
3047
3048
CREATE FUNCTION unsummarise_bug(bug_row bug) RETURNS void
3049
    LANGUAGE plpgsql
3050
    AS $$
3051
DECLARE
3052
    d bugsummary%ROWTYPE;
3053
BEGIN
3054
    PERFORM ensure_bugsummary_temp_journal();
3055
    FOR d IN SELECT * FROM bugsummary_locations(BUG_ROW) LOOP
3056
        d.count = -1;
3057
        PERFORM bug_summary_temp_journal_ins(d);
3058
    END LOOP;
3059
END;
3060
$$;
3061
3062
3063
COMMENT ON FUNCTION unsummarise_bug(bug_row bug) IS 'AFTER unsummarise a bug row from bugsummary.';
3064
3065
3066
CREATE FUNCTION update_branch_name_cache() RETURNS trigger
3067
    LANGUAGE plpgsql
3068
    AS $$
3069
DECLARE
3070
    needs_update boolean := FALSE;
3071
BEGIN
3072
    IF TG_OP = 'INSERT' THEN
3073
        needs_update := TRUE;
3074
    ELSIF (NEW.owner_name IS NULL
3075
        OR NEW.unique_name IS NULL
3076
        OR OLD.owner_name <> NEW.owner_name
3077
        OR OLD.unique_name <> NEW.unique_name
3078
        OR (NEW.target_suffix IS NULL <> OLD.target_suffix IS NULL)
3079
        OR COALESCE(OLD.target_suffix, '') <> COALESCE(NEW.target_suffix, '')
3080
        OR OLD.name <> NEW.name
3081
        OR OLD.owner <> NEW.owner
3082
        OR COALESCE(OLD.product, -1) <> COALESCE(NEW.product, -1)
3083
        OR COALESCE(OLD.distroseries, -1) <> COALESCE(NEW.distroseries, -1)
3084
        OR COALESCE(OLD.sourcepackagename, -1)
3085
            <> COALESCE(NEW.sourcepackagename, -1)) THEN
3086
        needs_update := TRUE;
3087
    END IF;
3088
3089
    IF needs_update THEN
3090
        SELECT
3091
            Person.name AS owner_name,
3092
            COALESCE(Product.name, SPN.name) AS target_suffix,
3093
            '~' || Person.name || '/' || COALESCE(
3094
                Product.name,
3095
                Distribution.name || '/' || Distroseries.name
3096
                    || '/' || SPN.name,
3097
                '+junk') || '/' || NEW.name AS unique_name
3098
        INTO NEW.owner_name, NEW.target_suffix, NEW.unique_name
3099
        FROM Person
3100
        LEFT OUTER JOIN DistroSeries ON NEW.distroseries = DistroSeries.id
3101
        LEFT OUTER JOIN Product ON NEW.product = Product.id
3102
        LEFT OUTER JOIN Distribution
3103
            ON Distroseries.distribution = Distribution.id
3104
        LEFT OUTER JOIN SourcepackageName AS SPN
3105
            ON SPN.id = NEW.sourcepackagename
3106
        WHERE Person.id = NEW.owner;
3107
    END IF;
3108
3109
    RETURN NEW;
3110
END;
3111
$$;
3112
3113
3114
COMMENT ON FUNCTION update_branch_name_cache() IS 'Maintain the cached name columns in Branch.';
3115
3116
3117
CREATE FUNCTION update_database_disk_utilization() RETURNS void
3118
    LANGUAGE sql SECURITY DEFINER
3119
    SET search_path TO public
3120
    AS $$
3121
    INSERT INTO DatabaseDiskUtilization
3122
    SELECT
3123
        CURRENT_TIMESTAMP AT TIME ZONE 'UTC',
3124
        namespace, name,
3125
        sub_namespace, sub_name,
3126
        kind,
3127
        (namespace || '.' ||  name || COALESCE(
3128
                '/' || sub_namespace || '.' || sub_name, '')) AS sort,
3129
        (stat).table_len,
3130
        (stat).tuple_count,
3131
        (stat).tuple_len,
3132
        (stat).tuple_percent,
3133
        (stat).dead_tuple_count,
3134
        (stat).dead_tuple_len,
3135
        (stat).dead_tuple_percent,
3136
        (stat).free_space,
3137
        (stat).free_percent
3138
    FROM (
3139
        SELECT
3140
            pg_namespace.nspname AS namespace,
3141
            pg_class.relname AS name,
3142
            NULL AS sub_namespace,
3143
            NULL AS sub_name,
3144
            pg_class.relkind AS kind,
3145
            pgstattuple(pg_class.oid) AS stat
3146
        FROM pg_class, pg_namespace
3147
        WHERE
3148
            pg_class.relnamespace = pg_namespace.oid
3149
            AND pg_class.relkind = 'r'
3150
            AND pg_table_is_visible(pg_class.oid)
3151
3152
        UNION ALL
3153
        
3154
        SELECT
3155
            pg_namespace_table.nspname AS namespace,
3156
            pg_class_table.relname AS name,
3157
            pg_namespace_index.nspname AS sub_namespace,
3158
            pg_class_index.relname AS sub_name,
3159
            pg_class_index.relkind AS kind,
3160
            pgstattuple(pg_class_index.oid) AS stat
3161
        FROM
3162
            pg_namespace AS pg_namespace_table,
3163
            pg_namespace AS pg_namespace_index,
3164
            pg_class AS pg_class_table,
3165
            pg_class AS pg_class_index,
3166
            pg_index
3167
        WHERE
3168
            pg_class_index.relkind = 'i'
3169
            AND pg_table_is_visible(pg_class_table.oid)
3170
            AND pg_class_index.relnamespace = pg_namespace_index.oid
3171
            AND pg_class_table.relnamespace = pg_namespace_table.oid
3172
            AND pg_index.indexrelid = pg_class_index.oid
3173
            AND pg_index.indrelid = pg_class_table.oid
3174
3175
        UNION ALL
3176
3177
        -- TOAST tables
3178
        SELECT
3179
            pg_namespace_table.nspname AS namespace,
3180
            pg_class_table.relname AS name,
3181
            pg_namespace_toast.nspname AS sub_namespace,
3182
            pg_class_toast.relname AS sub_name,
3183
            pg_class_toast.relkind AS kind,
3184
            pgstattuple(pg_class_toast.oid) AS stat
3185
        FROM
3186
            pg_namespace AS pg_namespace_table,
3187
            pg_namespace AS pg_namespace_toast,
3188
            pg_class AS pg_class_table,
3189
            pg_class AS pg_class_toast
3190
        WHERE
3191
            pg_class_toast.relnamespace = pg_namespace_toast.oid
3192
            AND pg_table_is_visible(pg_class_table.oid)
3193
            AND pg_class_table.relnamespace = pg_namespace_table.oid
3194
            AND pg_class_toast.oid = pg_class_table.reltoastrelid
3195
3196
        UNION ALL
3197
3198
        -- TOAST indexes
3199
        SELECT
3200
            pg_namespace_table.nspname AS namespace,
3201
            pg_class_table.relname AS name,
3202
            pg_namespace_index.nspname AS sub_namespace,
3203
            pg_class_index.relname AS sub_name,
3204
            pg_class_index.relkind AS kind,
3205
            pgstattuple(pg_class_index.oid) AS stat
3206
        FROM
3207
            pg_namespace AS pg_namespace_table,
3208
            pg_namespace AS pg_namespace_index,
3209
            pg_class AS pg_class_table,
3210
            pg_class AS pg_class_index,
3211
            pg_class AS pg_class_toast
3212
        WHERE
3213
            pg_class_table.relnamespace = pg_namespace_table.oid
3214
            AND pg_table_is_visible(pg_class_table.oid)
3215
            AND pg_class_index.relnamespace = pg_namespace_index.oid
3216
            AND pg_class_table.reltoastrelid = pg_class_toast.oid
3217
            AND pg_class_index.oid = pg_class_toast.reltoastidxid
3218
        ) AS whatever;
3219
$$;
3220
3221
3222
CREATE FUNCTION update_database_stats() RETURNS void
3223
    LANGUAGE plpythonu SECURITY DEFINER
3224
    SET search_path TO public
3225
    AS $_$
3226
    import re
3227
    import subprocess
3228
3229
    # Prune DatabaseTableStats and insert current data.
3230
    # First, detect if the statistics have been reset.
3231
    stats_reset = plpy.execute("""
3232
        SELECT *
3233
        FROM
3234
            pg_catalog.pg_stat_user_tables AS NowStat,
3235
            DatabaseTableStats AS LastStat
3236
        WHERE
3237
            LastStat.date_created = (
3238
                SELECT max(date_created) FROM DatabaseTableStats)
3239
            AND NowStat.schemaname = LastStat.schemaname
3240
            AND NowStat.relname = LastStat.relname
3241
            AND (
3242
                NowStat.seq_scan < LastStat.seq_scan
3243
                OR NowStat.idx_scan < LastStat.idx_scan
3244
                OR NowStat.n_tup_ins < LastStat.n_tup_ins
3245
                OR NowStat.n_tup_upd < LastStat.n_tup_upd
3246
                OR NowStat.n_tup_del < LastStat.n_tup_del
3247
                OR NowStat.n_tup_hot_upd < LastStat.n_tup_hot_upd)
3248
        LIMIT 1
3249
        """, 1).nrows() > 0
3250
    if stats_reset:
3251
        # The database stats have been reset. We cannot calculate
3252
        # deltas because we do not know when this happened. So we trash
3253
        # our records as they are now useless to us. We could be more
3254
        # sophisticated about this, but this should only happen
3255
        # when an admin explicitly resets the statistics or if the
3256
        # database is rebuilt.
3257
        plpy.notice("Stats wraparound. Purging DatabaseTableStats")
3258
        plpy.execute("DELETE FROM DatabaseTableStats")
3259
    else:
3260
        plpy.execute("""
3261
            DELETE FROM DatabaseTableStats
3262
            WHERE date_created < (CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
3263
                - CAST('21 days' AS interval));
3264
            """)
3265
    # Insert current data.
3266
    plpy.execute("""
3267
        INSERT INTO DatabaseTableStats
3268
            SELECT
3269
                CURRENT_TIMESTAMP AT TIME ZONE 'UTC',
3270
                schemaname, relname, seq_scan, seq_tup_read,
3271
                coalesce(idx_scan, 0), coalesce(idx_tup_fetch, 0),
3272
                n_tup_ins, n_tup_upd, n_tup_del,
3273
                n_tup_hot_upd, n_live_tup, n_dead_tup, last_vacuum,
3274
                last_autovacuum, last_analyze, last_autoanalyze
3275
            FROM pg_catalog.pg_stat_user_tables;
3276
        """)
3277
3278
    # Prune DatabaseCpuStats. Calculate CPU utilization information
3279
    # and insert current data.
3280
    plpy.execute("""
3281
        DELETE FROM DatabaseCpuStats
3282
        WHERE date_created < (CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
3283
            - CAST('21 days' AS interval));
3284
        """)
3285
    dbname = plpy.execute(
3286
        "SELECT current_database() AS dbname", 1)[0]['dbname']
3287
    ps = subprocess.Popen(
3288
        ["ps", "-C", "postgres", "--no-headers", "-o", "cp,args"],
3289
        stdin=subprocess.PIPE, stdout=subprocess.PIPE,
3290
        stderr=subprocess.STDOUT)
3291
    stdout, stderr = ps.communicate()
3292
    cpus = {}
3293
    # We make the username match non-greedy so the trailing \d eats
3294
    # trailing digits from the database username. This collapses
3295
    # lpnet1, lpnet2 etc. into just lpnet.
3296
    ps_re = re.compile(
3297
        r"(?m)^\s*(\d+)\spostgres:\s(\w+?)\d*\s%s\s" % dbname)
3298
    for ps_match in ps_re.finditer(stdout):
3299
        cpu, username = ps_match.groups()
3300
        cpus[username] = int(cpu) + cpus.setdefault(username, 0)
3301
    cpu_ins = plpy.prepare(
3302
        "INSERT INTO DatabaseCpuStats (username, cpu) VALUES ($1, $2)",
3303
        ["text", "integer"])
3304
    for cpu_tuple in cpus.items():
3305
        plpy.execute(cpu_ins, cpu_tuple)
3306
$_$;
3307
3308
3309
COMMENT ON FUNCTION update_database_stats() IS 'Copies rows from pg_stat_user_tables into DatabaseTableStats. We use a stored procedure because it is problematic for us to grant permissions on objects in the pg_catalog schema.';
3310
3311
3312
CREATE FUNCTION update_replication_lag_cache() RETURNS boolean
3313
    LANGUAGE plpgsql SECURITY DEFINER
3314
    SET search_path TO public
3315
    AS $$
3316
    BEGIN
3317
        DELETE FROM DatabaseReplicationLag;
3318
        INSERT INTO DatabaseReplicationLag (node, lag)
3319
            SELECT st_received, st_lag_time FROM _sl.sl_status
3320
            WHERE st_origin = _sl.getlocalnodeid('_sl');
3321
        RETURN TRUE;
3322
    -- Slony-I not installed here - non-replicated setup.
3323
    EXCEPTION
3324
        WHEN invalid_schema_name THEN
3325
            RETURN FALSE;
3326
        WHEN undefined_table THEN
3327
            RETURN FALSE;
3328
    END;
3329
$$;
3330
3331
3332
COMMENT ON FUNCTION update_replication_lag_cache() IS 'Updates the DatabaseReplicationLag materialized view.';
3333
3334
3335
CREATE FUNCTION update_transitively_private(start_branch integer, _root_branch integer DEFAULT NULL::integer, _root_transitively_private boolean DEFAULT NULL::boolean) RETURNS void
3336
    LANGUAGE plpgsql SECURITY DEFINER
3337
    SET search_path TO public
3338
    AS $$
3339
DECLARE
3340
    root_transitively_private boolean := _root_transitively_private;
3341
    root_branch int := _root_branch;
3342
BEGIN
3343
    IF root_transitively_private IS NULL THEN
3344
        -- We can't just trust the transitively_private flag of the
3345
        -- branch we are stacked on, as if we are updating multiple
3346
        -- records they will be updated in an indeterminate order.
3347
        -- We need a recursive query.
3348
        UPDATE Branch SET transitively_private = (
3349
            WITH RECURSIVE stacked_branches AS (
3350
                SELECT
3351
                    top_branch.id, top_branch.stacked_on, top_branch.private
3352
                FROM Branch AS top_branch
3353
                WHERE top_branch.id = start_branch
3354
                UNION ALL
3355
                SELECT
3356
                    sub_branch.id, sub_branch.stacked_on, sub_branch.private
3357
                FROM stacked_branches, Branch AS sub_branch
3358
                WHERE
3359
                    stacked_branches.stacked_on = sub_branch.id
3360
                    AND stacked_branches.stacked_on != start_branch
3361
                    -- Shortcircuit. No need to recurse if already private.
3362
                    AND stacked_branches.private IS FALSE
3363
                    )
3364
            SELECT COUNT(*) > 0
3365
            FROM stacked_branches
3366
            WHERE private IS TRUE)
3367
        WHERE Branch.id = start_branch
3368
        RETURNING transitively_private INTO root_transitively_private;
3369
        root_branch := start_branch;
3370
    ELSE
3371
        -- Now we have calculated the correct transitively_private flag
3372
        -- we can trust it.
3373
        UPDATE Branch SET
3374
            transitively_private = GREATEST(private, root_transitively_private)
3375
        WHERE id = root_branch;
3376
    END IF;
3377
3378
    -- Recurse to branches stacked on this one.
3379
    PERFORM update_transitively_private(
3380
        start_branch, id, GREATEST(private, root_transitively_private))
3381
    FROM Branch WHERE stacked_on = root_branch AND id != start_branch;
3382
END;
3383
$$;
3384
3385
3386
COMMENT ON FUNCTION update_transitively_private(start_branch integer, _root_branch integer, _root_transitively_private boolean) IS 'A branch is transitively private if it is private or is stacked on any transitively private branches.';
3387
3388
3389
CREATE FUNCTION valid_absolute_url(text) RETURNS boolean
3390
    LANGUAGE plpythonu IMMUTABLE STRICT
3391
    AS $$
3392
    from urlparse import urlparse, uses_netloc
3393
    # Extend list of schemes that specify netloc. We can drop sftp
3394
    # with Python 2.5 in the DB.
3395
    if 'git' not in uses_netloc:
3396
        uses_netloc.insert(0, 'sftp')
3397
        uses_netloc.insert(0, 'bzr')
3398
        uses_netloc.insert(0, 'bzr+ssh')
3399
        uses_netloc.insert(0, 'ssh') # Mercurial
3400
        uses_netloc.insert(0, 'git')
3401
    (scheme, netloc, path, params, query, fragment) = urlparse(args[0])
3402
    return bool(scheme and netloc)
3403
$$;
3404
3405
3406
COMMENT ON FUNCTION valid_absolute_url(text) IS 'Ensure the given test is a valid absolute URL, containing both protocol and network location';
3407
3408
3409
CREATE FUNCTION valid_branch_name(text) RETURNS boolean
3410
    LANGUAGE plpythonu IMMUTABLE STRICT
3411
    AS $$
3412
    import re
3413
    name = args[0]
3414
    pat = r"^(?i)[a-z0-9][a-z0-9+\.\-@_]*\Z"
3415
    if re.match(pat, name):
3416
        return 1
3417
    return 0
3418
$$;
3419
3420
3421
COMMENT ON FUNCTION valid_branch_name(text) IS 'validate a branch name.
3422
3423
    As per valid_name, except we allow uppercase and @';
3424
3425
3426
CREATE FUNCTION valid_cve(text) RETURNS boolean
3427
    LANGUAGE plpythonu IMMUTABLE STRICT
3428
    AS $_$
3429
    import re
3430
    name = args[0]
3431
    pat = r"^(19|20)\d{2}-\d{4}$"
3432
    if re.match(pat, name):
3433
        return 1
3434
    return 0
3435
$_$;
3436
3437
3438
COMMENT ON FUNCTION valid_cve(text) IS 'validate a common vulnerability number as defined on www.cve.mitre.org, minus the CAN- or CVE- prefix.';
3439
3440
3441
CREATE FUNCTION valid_debian_version(text) RETURNS boolean
3442
    LANGUAGE plpythonu IMMUTABLE STRICT
3443
    AS $_$
3444
    import re
3445
    m = re.search("""^(?ix)
3446
        ([0-9]+:)?
3447
        ([0-9a-z][a-z0-9+:.~-]*?)
3448
        (-[a-z0-9+.~]+)?
3449
        $""", args[0])
3450
    if m is None:
3451
        return 0
3452
    epoch, version, revision = m.groups()
3453
    if not epoch:
3454
        # Can''t contain : if no epoch
3455
        if ":" in version:
3456
            return 0
3457
    if not revision:
3458
        # Can''t contain - if no revision
3459
        if "-" in version:
3460
            return 0
3461
    return 1
3462
$_$;
3463
3464
3465
COMMENT ON FUNCTION valid_debian_version(text) IS 'validate a version number as per Debian Policy';
3466
3467
3468
CREATE FUNCTION valid_fingerprint(text) RETURNS boolean
3469
    LANGUAGE plpythonu IMMUTABLE STRICT
3470
    AS $$
3471
    import re
3472
    if re.match(r"[\dA-F]{40}", args[0]) is not None:
3473
        return 1
3474
    else:
3475
        return 0
3476
$$;
3477
3478
3479
COMMENT ON FUNCTION valid_fingerprint(text) IS 'Returns true if passed a valid GPG fingerprint. Valid GPG fingerprints are a 40 character long hexadecimal number in uppercase.';
3480
3481
3482
CREATE FUNCTION valid_keyid(text) RETURNS boolean
3483
    LANGUAGE plpythonu IMMUTABLE STRICT
3484
    AS $$
3485
    import re
3486
    if re.match(r"[\dA-F]{8}", args[0]) is not None:
3487
        return 1
3488
    else:
3489
        return 0
3490
$$;
3491
3492
3493
COMMENT ON FUNCTION valid_keyid(text) IS 'Returns true if passed a valid GPG keyid. Valid GPG keyids are an 8 character long hexadecimal number in uppercase (in reality, they are 16 characters long but we are using the ''common'' definition.';
3494
3495
3496
CREATE FUNCTION valid_regexp(text) RETURNS boolean
3497
    LANGUAGE plpythonu IMMUTABLE STRICT
3498
    AS $$
3499
    import re
3500
    try:
3501
        re.compile(args[0])
3502
    except:
3503
        return False
3504
    else:
3505
        return True
3506
$$;
3507
3508
3509
COMMENT ON FUNCTION valid_regexp(text) IS 'Returns true if the input can be compiled as a regular expression.';
3510
3511
3512
CREATE FUNCTION version_sort_key(version text) RETURNS text
3513
    LANGUAGE plpythonu IMMUTABLE STRICT
3514
    AS $$
3515
    # If this method is altered, then any functional indexes using it
3516
    # need to be rebuilt.
3517
    import re
3518
3519
    [version] = args
3520
3521
    def substitute_filled_numbers(match):
3522
        # Prepend "~" so that version numbers will show up first
3523
        # when sorted descending, i.e. [3, 2c, 2b, 1, c, b, a] instead
3524
        # of [c, b, a, 3, 2c, 2b, 1]. "~" has the highest ASCII value
3525
        # of visible ASCII characters.
3526
        return '~' + match.group(0).zfill(5)
3527
3528
    return re.sub(u'\d+', substitute_filled_numbers, version)
3529
$$;
3530
3531
3532
COMMENT ON FUNCTION version_sort_key(version text) IS 'Sort a field as version numbers that do not necessarily conform to debian package versions (For example, when "2-2" should be considered greater than "1:1"). debversion_sort_key() should be used for debian versions. Numbers will be sorted after letters unlike typical ASCII, so that a descending sort will put the latest version number that starts with a number instead of a letter will be at the top. E.g. ascending is [a, z, 1, 9] and descending is [9, 1, z, a].';
3533
3534
3535
CREATE FUNCTION you_are_your_own_member() RETURNS trigger
3536
    LANGUAGE plpgsql
3537
    AS $$
3538
    BEGIN
3539
        INSERT INTO TeamParticipation (person, team)
3540
            VALUES (NEW.id, NEW.id);
3541
        RETURN NULL;
3542
    END;
3543
$$;
3544
3545
3546
COMMENT ON FUNCTION you_are_your_own_member() IS 'Trigger function to ensure that every row added to the Person table gets a corresponding row in the TeamParticipation table, as per the TeamParticipationUsage page on the Launchpad wiki';
3547
3548
3549
SET search_path = ts2, pg_catalog;
3550
3551
CREATE FUNCTION _ftq(text) RETURNS text
3552
    LANGUAGE plpythonu IMMUTABLE STRICT
3553
    AS $_$
3554
        import re
3555
3556
        # I think this method would be more robust if we used a real
3557
        # tokenizer and parser to generate the query string, but we need
3558
        # something suitable for use as a stored procedure which currently
3559
        # means no external dependancies.
3560
3561
        # Convert to Unicode
3562
        query = args[0].decode('utf8')
3563
        ## plpy.debug('1 query is %s' % repr(query))
3564
3565
        # Normalize whitespace
3566
        query = re.sub("(?u)\s+"," ", query)
3567
3568
        # Convert AND, OR, NOT and - to tsearch2 punctuation
3569
        query = re.sub(r"(?u)(?:^|\s)-([\w\(])", r" !\1", query)
3570
        query = re.sub(r"(?u)\bAND\b", "&", query)
3571
        query = re.sub(r"(?u)\bOR\b", "|", query)
3572
        query = re.sub(r"(?u)\bNOT\b", " !", query)
3573
        ## plpy.debug('2 query is %s' % repr(query))
3574
3575
        # Deal with unwanted punctuation. We convert strings of punctuation
3576
        # inside words to a '-' character for the hypenation handling below
3577
        # to deal with further. Outside of words we replace with whitespace.
3578
        # We don't mess with -&|!()' as they are handled later.
3579
        #punctuation = re.escape(r'`~@#$%^*+=[]{}:;"<>,.?\/')
3580
        punctuation = r"[^\w\s\-\&\|\!\(\)']"
3581
        query = re.sub(r"(?u)(\w)%s+(\w)" % (punctuation,), r"\1-\2", query)
3582
        query = re.sub(r"(?u)%s+" % (punctuation,), " ", query)
3583
        ## plpy.debug('3 query is %s' % repr(query))
3584
3585
        # Strip ! characters inside and at the end of a word
3586
        query = re.sub(r"(?u)(?<=\w)[\!]+", " ", query)
3587
3588
        # Now that we have handle case sensitive booleans, convert to lowercase
3589
        query = query.lower()
3590
3591
        # Convert foo-bar to ((foo&bar)|foobar) and foo-bar-baz to
3592
        # ((foo&bar&baz)|foobarbaz)
3593
        def hyphen_repl(match):
3594
            bits = match.group(0).split("-")
3595
            return "((%s)|%s)" % ("&".join(bits), "".join(bits))
3596
        query = re.sub(r"(?u)\b\w+-[\w\-]+\b", hyphen_repl, query)
3597
        ## plpy.debug('4 query is %s' % repr(query))
3598
3599
        # Any remaining - characters are spurious
3600
        query = query.replace('-','')
3601
3602
        # Remove unpartnered bracket on the left and right
3603
        query = re.sub(r"(?ux) ^ ( [^(]* ) \)", r"(\1)", query)
3604
        query = re.sub(r"(?ux) \( ( [^)]* ) $", r"(\1)", query)
3605
3606
        # Remove spurious brackets
3607
        query = re.sub(r"(?u)\(([^\&\|]*?)\)", r" \1 ", query)
3608
        ## plpy.debug('5 query is %s' % repr(query))
3609
3610
        # Insert & between tokens without an existing boolean operator
3611
        # ( not proceeded by (|&!
3612
        query = re.sub(r"(?u)(?<![\(\|\&\!])\s*\(", "&(", query)
3613
        ## plpy.debug('6 query is %s' % repr(query))
3614
        # ) not followed by )|&
3615
        query = re.sub(r"(?u)\)(?!\s*(\)|\||\&|\s*$))", ")&", query)
3616
        ## plpy.debug('6.1 query is %s' % repr(query))
3617
        # Whitespace not proceded by (|&! not followed by &|
3618
        query = re.sub(r"(?u)(?<![\(\|\&\!\s])\s+(?![\&\|\s])", "&", query)
3619
        ## plpy.debug('7 query is %s' % repr(query))
3620
3621
        # Detect and repair syntax errors - we are lenient because
3622
        # this input is generally from users.
3623
3624
        # Fix unbalanced brackets
3625
        openings = query.count("(")
3626
        closings = query.count(")")
3627
        if openings > closings:
3628
            query = query + " ) "*(openings-closings)
3629
        elif closings > openings:
3630
            query = " ( "*(closings-openings) + query
3631
        ## plpy.debug('8 query is %s' % repr(query))
3632
3633
        # Strip ' character that do not have letters on both sides
3634
        query = re.sub(r"(?u)((?<!\w)'|'(?!\w))", "", query)
3635
3636
        # Brackets containing nothing but whitespace and booleans, recursive
3637
        last = ""
3638
        while last != query:
3639
            last = query
3640
            query = re.sub(r"(?u)\([\s\&\|\!]*\)", "", query)
3641
        ## plpy.debug('9 query is %s' % repr(query))
3642
3643
        # An & or | following a (
3644
        query = re.sub(r"(?u)(?<=\()[\&\|\s]+", "", query)
3645
        ## plpy.debug('10 query is %s' % repr(query))
3646
3647
        # An &, | or ! immediatly before a )
3648
        query = re.sub(r"(?u)[\&\|\!\s]*[\&\|\!]+\s*(?=\))", "", query)
3649
        ## plpy.debug('11 query is %s' % repr(query))
3650
3651
        # An &,| or ! followed by another boolean.
3652
        query = re.sub(r"(?ux) \s* ( [\&\|\!] ) [\s\&\|]+", r"\1", query)
3653
        ## plpy.debug('12 query is %s' % repr(query))
3654
3655
        # Leading & or |
3656
        query = re.sub(r"(?u)^[\s\&\|]+", "", query)
3657
        ## plpy.debug('13 query is %s' % repr(query))
3658
3659
        # Trailing &, | or !
3660
        query = re.sub(r"(?u)[\&\|\!\s]+$", "", query)
3661
        ## plpy.debug('14 query is %s' % repr(query))
3662
3663
        # If we have nothing but whitespace and tsearch2 operators,
3664
        # return NULL.
3665
        if re.search(r"(?u)^[\&\|\!\s\(\)]*$", query) is not None:
3666
            return None
3667
3668
        # Convert back to UTF-8
3669
        query = query.encode('utf8')
3670
        ## plpy.debug('15 query is %s' % repr(query))
3671
        
3672
        return query or None
3673
        $_$;
3674
3675
3676
CREATE FUNCTION _get_parser_from_curcfg() RETURNS text
3677
    LANGUAGE sql IMMUTABLE STRICT
3678
    AS $$select prsname::text from pg_catalog.pg_ts_parser p join pg_ts_config c on cfgparser = p.oid where c.oid = show_curcfg();$$;
3679
3680
3681
CREATE FUNCTION concat(pg_catalog.tsvector, pg_catalog.tsvector) RETURNS pg_catalog.tsvector
3682
    LANGUAGE internal IMMUTABLE STRICT
3683
    AS $$tsvector_concat$$;
3684
3685
3686
CREATE FUNCTION dex_init(internal) RETURNS internal
3687
    LANGUAGE c
3688
    AS '$libdir/tsearch2', 'tsa_dex_init';
3689
3690
3691
CREATE FUNCTION dex_lexize(internal, internal, integer) RETURNS internal
3692
    LANGUAGE c STRICT
3693
    AS '$libdir/tsearch2', 'tsa_dex_lexize';
3694
3695
3696
CREATE FUNCTION ftiupdate() RETURNS trigger
3697
    LANGUAGE plpythonu
3698
    AS $_$
3699
    new = TD["new"]
3700
    args = TD["args"][:]
3701
3702
    # Short circuit if none of the relevant columns have been
3703
    # modified and fti is not being set to NULL (setting the fti
3704
    # column to NULL is thus how we can force a rebuild of the fti
3705
    # column).
3706
    if TD["event"] == "UPDATE" and new["fti"] != None:
3707
        old = TD["old"]
3708
        relevant_modification = False
3709
        for column_name in args[::2]:
3710
            if new[column_name] != old[column_name]:
3711
                relevant_modification = True
3712
                break
3713
        if not relevant_modification:
3714
            return "OK"
3715
3716
    # Generate an SQL statement that turns the requested
3717
    # column values into a weighted tsvector
3718
    sql = []
3719
    for i in range(0, len(args), 2):
3720
        sql.append(
3721
                "ts2.setweight(ts2.to_tsvector('default', coalesce("
3722
                "substring(ltrim($%d) from 1 for 2500),'')),"
3723
                "CAST($%d AS \"char\"))" % (i + 1, i + 2))
3724
        args[i] = new[args[i]]
3725
3726
    sql = "SELECT %s AS fti" % "||".join(sql)
3727
3728
    # Execute and store in the fti column
3729
    plan = plpy.prepare(sql, ["text", "char"] * (len(args)/2))
3730
    new["fti"] = plpy.execute(plan, args, 1)[0]["fti"]
3731
3732
    # Tell PostgreSQL we have modified the data
3733
    return "MODIFY"
3734
$_$;
3735
3736
3737
COMMENT ON FUNCTION ftiupdate() IS 'Trigger function that keeps the fti tsvector column up to date.';
3738
3739
3740
CREATE FUNCTION ftq(text) RETURNS pg_catalog.tsquery
3741
    LANGUAGE plpythonu IMMUTABLE STRICT
3742
    AS $_$
3743
        import re
3744
3745
        # I think this method would be more robust if we used a real
3746
        # tokenizer and parser to generate the query string, but we need
3747
        # something suitable for use as a stored procedure which currently
3748
        # means no external dependancies.
3749
3750
        # Convert to Unicode
3751
        query = args[0].decode('utf8')
3752
        ## plpy.debug('1 query is %s' % repr(query))
3753
3754
        # Normalize whitespace
3755
        query = re.sub("(?u)\s+"," ", query)
3756
3757
        # Convert AND, OR, NOT and - to tsearch2 punctuation
3758
        query = re.sub(r"(?u)(?:^|\s)-([\w\(])", r" !\1", query)
3759
        query = re.sub(r"(?u)\bAND\b", "&", query)
3760
        query = re.sub(r"(?u)\bOR\b", "|", query)
3761
        query = re.sub(r"(?u)\bNOT\b", " !", query)
3762
        ## plpy.debug('2 query is %s' % repr(query))
3763
3764
        # Deal with unwanted punctuation. We convert strings of punctuation
3765
        # inside words to a '-' character for the hypenation handling below
3766
        # to deal with further. Outside of words we replace with whitespace.
3767
        # We don't mess with -&|!()' as they are handled later.
3768
        #punctuation = re.escape(r'`~@#$%^*+=[]{}:;"<>,.?\/')
3769
        punctuation = r"[^\w\s\-\&\|\!\(\)']"
3770
        query = re.sub(r"(?u)(\w)%s+(\w)" % (punctuation,), r"\1-\2", query)
3771
        query = re.sub(r"(?u)%s+" % (punctuation,), " ", query)
3772
        ## plpy.debug('3 query is %s' % repr(query))
3773
3774
        # Strip ! characters inside and at the end of a word
3775
        query = re.sub(r"(?u)(?<=\w)[\!]+", " ", query)
3776
3777
        # Now that we have handle case sensitive booleans, convert to lowercase
3778
        query = query.lower()
3779
3780
        # Convert foo-bar to ((foo&bar)|foobar) and foo-bar-baz to
3781
        # ((foo&bar&baz)|foobarbaz)
3782
        def hyphen_repl(match):
3783
            bits = match.group(0).split("-")
3784
            return "((%s)|%s)" % ("&".join(bits), "".join(bits))
3785
        query = re.sub(r"(?u)\b\w+-[\w\-]+\b", hyphen_repl, query)
3786
        ## plpy.debug('4 query is %s' % repr(query))
3787
3788
        # Any remaining - characters are spurious
3789
        query = query.replace('-','')
3790
3791
        # Remove unpartnered bracket on the left and right
3792
        query = re.sub(r"(?ux) ^ ( [^(]* ) \)", r"(\1)", query)
3793
        query = re.sub(r"(?ux) \( ( [^)]* ) $", r"(\1)", query)
3794
3795
        # Remove spurious brackets
3796
        query = re.sub(r"(?u)\(([^\&\|]*?)\)", r" \1 ", query)
3797
        ## plpy.debug('5 query is %s' % repr(query))
3798
3799
        # Insert & between tokens without an existing boolean operator
3800
        # ( not proceeded by (|&!
3801
        query = re.sub(r"(?u)(?<![\(\|\&\!])\s*\(", "&(", query)
3802
        ## plpy.debug('6 query is %s' % repr(query))
3803
        # ) not followed by )|&
3804
        query = re.sub(r"(?u)\)(?!\s*(\)|\||\&|\s*$))", ")&", query)
3805
        ## plpy.debug('6.1 query is %s' % repr(query))
3806
        # Whitespace not proceded by (|&! not followed by &|
3807
        query = re.sub(r"(?u)(?<![\(\|\&\!\s])\s+(?![\&\|\s])", "&", query)
3808
        ## plpy.debug('7 query is %s' % repr(query))
3809
3810
        # Detect and repair syntax errors - we are lenient because
3811
        # this input is generally from users.
3812
3813
        # Fix unbalanced brackets
3814
        openings = query.count("(")
3815
        closings = query.count(")")
3816
        if openings > closings:
3817
            query = query + " ) "*(openings-closings)
3818
        elif closings > openings:
3819
            query = " ( "*(closings-openings) + query
3820
        ## plpy.debug('8 query is %s' % repr(query))
3821
3822
        # Strip ' character that do not have letters on both sides
3823
        query = re.sub(r"(?u)((?<!\w)'|'(?!\w))", "", query)
3824
3825
        # Brackets containing nothing but whitespace and booleans, recursive
3826
        last = ""
3827
        while last != query:
3828
            last = query
3829
            query = re.sub(r"(?u)\([\s\&\|\!]*\)", "", query)
3830
        ## plpy.debug('9 query is %s' % repr(query))
3831
3832
        # An & or | following a (
3833
        query = re.sub(r"(?u)(?<=\()[\&\|\s]+", "", query)
3834
        ## plpy.debug('10 query is %s' % repr(query))
3835
3836
        # An &, | or ! immediatly before a )
3837
        query = re.sub(r"(?u)[\&\|\!\s]*[\&\|\!]+\s*(?=\))", "", query)
3838
        ## plpy.debug('11 query is %s' % repr(query))
3839
3840
        # An &,| or ! followed by another boolean.
3841
        query = re.sub(r"(?ux) \s* ( [\&\|\!] ) [\s\&\|]+", r"\1", query)
3842
        ## plpy.debug('12 query is %s' % repr(query))
3843
3844
        # Leading & or |
3845
        query = re.sub(r"(?u)^[\s\&\|]+", "", query)
3846
        ## plpy.debug('13 query is %s' % repr(query))
3847
3848
        # Trailing &, | or !
3849
        query = re.sub(r"(?u)[\&\|\!\s]+$", "", query)
3850
        ## plpy.debug('14 query is %s' % repr(query))
3851
3852
        # If we have nothing but whitespace and tsearch2 operators,
3853
        # return NULL.
3854
        if re.search(r"(?u)^[\&\|\!\s\(\)]*$", query) is not None:
3855
            return None
3856
3857
        # Convert back to UTF-8
3858
        query = query.encode('utf8')
3859
        ## plpy.debug('15 query is %s' % repr(query))
3860
        
3861
        p = plpy.prepare("SELECT to_tsquery('default', $1) AS x", ["text"])
3862
        query = plpy.execute(p, [query], 1)[0]["x"]
3863
        return query or None
3864
        $_$;
3865
3866
3867
COMMENT ON FUNCTION ftq(text) IS 'Convert a string to an unparsed tsearch2 query';
3868
3869
3870
CREATE FUNCTION get_covers(pg_catalog.tsvector, pg_catalog.tsquery) RETURNS text
3871
    LANGUAGE c STRICT
3872
    AS '$libdir/tsearch2', 'tsa_get_covers';
3873
3874
3875
CREATE FUNCTION headline(oid, text, pg_catalog.tsquery, text) RETURNS text
3876
    LANGUAGE internal IMMUTABLE STRICT
3877
    AS $$ts_headline_byid_opt$$;
3878
3879
3880
CREATE FUNCTION headline(oid, text, pg_catalog.tsquery) RETURNS text
3881
    LANGUAGE internal IMMUTABLE STRICT
3882
    AS $$ts_headline_byid$$;
3883
3884
3885
CREATE FUNCTION headline(text, text, pg_catalog.tsquery, text) RETURNS text
3886
    LANGUAGE c IMMUTABLE STRICT
3887
    AS '$libdir/tsearch2', 'tsa_headline_byname';
3888
3889
3890
CREATE FUNCTION headline(text, text, pg_catalog.tsquery) RETURNS text
3891
    LANGUAGE c IMMUTABLE STRICT
3892
    AS '$libdir/tsearch2', 'tsa_headline_byname';
3893
3894
3895
CREATE FUNCTION headline(text, pg_catalog.tsquery, text) RETURNS text
3896
    LANGUAGE internal IMMUTABLE STRICT
3897
    AS $$ts_headline_opt$$;
3898
3899
3900
CREATE FUNCTION headline(text, pg_catalog.tsquery) RETURNS text
3901
    LANGUAGE internal IMMUTABLE STRICT
3902
    AS $$ts_headline$$;
3903
3904
3905
CREATE FUNCTION length(pg_catalog.tsvector) RETURNS integer
3906
    LANGUAGE internal IMMUTABLE STRICT
3907
    AS $$tsvector_length$$;
3908
3909
3910
CREATE FUNCTION lexize(oid, text) RETURNS text[]
3911
    LANGUAGE internal STRICT
3912
    AS $$ts_lexize$$;
3913
3914
3915
CREATE FUNCTION lexize(text, text) RETURNS text[]
3916
    LANGUAGE c STRICT
3917
    AS '$libdir/tsearch2', 'tsa_lexize_byname';
3918
3919
3920
CREATE FUNCTION lexize(text) RETURNS text[]
3921
    LANGUAGE c STRICT
3922
    AS '$libdir/tsearch2', 'tsa_lexize_bycurrent';
3923
3924
3925
CREATE FUNCTION numnode(pg_catalog.tsquery) RETURNS integer
3926
    LANGUAGE internal IMMUTABLE STRICT
3927
    AS $$tsquery_numnode$$;
3928
3929
3930
CREATE FUNCTION parse(oid, text) RETURNS SETOF tokenout
3931
    LANGUAGE internal STRICT
3932
    AS $$ts_parse_byid$$;
3933
3934
3935
CREATE FUNCTION parse(text, text) RETURNS SETOF tokenout
3936
    LANGUAGE internal STRICT
3937
    AS $$ts_parse_byname$$;
3938
3939
3940
CREATE FUNCTION parse(text) RETURNS SETOF tokenout
3941
    LANGUAGE c STRICT
3942
    AS '$libdir/tsearch2', 'tsa_parse_current';
3943
3944
3945
CREATE FUNCTION plainto_tsquery(oid, text) RETURNS pg_catalog.tsquery
3946
    LANGUAGE internal IMMUTABLE STRICT
3947
    AS $$plainto_tsquery_byid$$;
3948
3949
3950
CREATE FUNCTION plainto_tsquery(text, text) RETURNS pg_catalog.tsquery
3951
    LANGUAGE c IMMUTABLE STRICT
3952
    AS '$libdir/tsearch2', 'tsa_plainto_tsquery_name';
3953
3954
3955
CREATE FUNCTION plainto_tsquery(text) RETURNS pg_catalog.tsquery
3956
    LANGUAGE internal IMMUTABLE STRICT
3957
    AS $$plainto_tsquery$$;
3958
3959
3960
CREATE FUNCTION prsd_end(internal) RETURNS void
3961
    LANGUAGE c
3962
    AS '$libdir/tsearch2', 'tsa_prsd_end';
3963
3964
3965
CREATE FUNCTION prsd_getlexeme(internal, internal, internal) RETURNS integer
3966
    LANGUAGE c
3967
    AS '$libdir/tsearch2', 'tsa_prsd_getlexeme';
3968
3969
3970
CREATE FUNCTION prsd_headline(internal, internal, internal) RETURNS internal
3971
    LANGUAGE c
3972
    AS '$libdir/tsearch2', 'tsa_prsd_headline';
3973
3974
3975
CREATE FUNCTION prsd_lextype(internal) RETURNS internal
3976
    LANGUAGE c
3977
    AS '$libdir/tsearch2', 'tsa_prsd_lextype';
3978
3979
3980
CREATE FUNCTION prsd_start(internal, integer) RETURNS internal
3981
    LANGUAGE c
3982
    AS '$libdir/tsearch2', 'tsa_prsd_start';
3983
3984
3985
CREATE FUNCTION querytree(pg_catalog.tsquery) RETURNS text
3986
    LANGUAGE internal STRICT
3987
    AS $$tsquerytree$$;
3988
3989
3990
CREATE FUNCTION rank(real[], pg_catalog.tsvector, pg_catalog.tsquery) RETURNS real
3991
    LANGUAGE internal IMMUTABLE STRICT
3992
    AS $$ts_rank_wtt$$;
3993
3994
3995
CREATE FUNCTION rank(real[], pg_catalog.tsvector, pg_catalog.tsquery, integer) RETURNS real
3996
    LANGUAGE internal IMMUTABLE STRICT
3997
    AS $$ts_rank_wttf$$;
3998
3999
4000
CREATE FUNCTION rank(pg_catalog.tsvector, pg_catalog.tsquery) RETURNS real
4001
    LANGUAGE internal IMMUTABLE STRICT
4002
    AS $$ts_rank_tt$$;
4003
4004
4005
CREATE FUNCTION rank(pg_catalog.tsvector, pg_catalog.tsquery, integer) RETURNS real
4006
    LANGUAGE internal IMMUTABLE STRICT
4007
    AS $$ts_rank_ttf$$;
4008
4009
4010
CREATE FUNCTION rank_cd(real[], pg_catalog.tsvector, pg_catalog.tsquery) RETURNS real
4011
    LANGUAGE internal IMMUTABLE STRICT
4012
    AS $$ts_rankcd_wtt$$;
4013
4014
4015
CREATE FUNCTION rank_cd(real[], pg_catalog.tsvector, pg_catalog.tsquery, integer) RETURNS real
4016
    LANGUAGE internal IMMUTABLE STRICT
4017
    AS $$ts_rankcd_wttf$$;
4018
4019
4020
CREATE FUNCTION rank_cd(pg_catalog.tsvector, pg_catalog.tsquery) RETURNS real
4021
    LANGUAGE internal IMMUTABLE STRICT
4022
    AS $$ts_rankcd_tt$$;
4023
4024
4025
CREATE FUNCTION rank_cd(pg_catalog.tsvector, pg_catalog.tsquery, integer) RETURNS real
4026
    LANGUAGE internal IMMUTABLE STRICT
4027
    AS $$ts_rankcd_ttf$$;
4028
4029
4030
CREATE FUNCTION reset_tsearch() RETURNS void
4031
    LANGUAGE c STRICT
4032
    AS '$libdir/tsearch2', 'tsa_reset_tsearch';
4033
4034
4035
CREATE FUNCTION rewrite(pg_catalog.tsquery, text) RETURNS pg_catalog.tsquery
4036
    LANGUAGE internal IMMUTABLE STRICT
4037
    AS $$tsquery_rewrite_query$$;
4038
4039
4040
CREATE FUNCTION rewrite(pg_catalog.tsquery, pg_catalog.tsquery, pg_catalog.tsquery) RETURNS pg_catalog.tsquery
4041
    LANGUAGE internal IMMUTABLE STRICT
4042
    AS $$tsquery_rewrite$$;
4043
4044
4045
CREATE FUNCTION rewrite_accum(pg_catalog.tsquery, pg_catalog.tsquery[]) RETURNS pg_catalog.tsquery
4046
    LANGUAGE c
4047
    AS '$libdir/tsearch2', 'tsa_rewrite_accum';
4048
4049
4050
CREATE FUNCTION rewrite_finish(pg_catalog.tsquery) RETURNS pg_catalog.tsquery
4051
    LANGUAGE c
4052
    AS '$libdir/tsearch2', 'tsa_rewrite_finish';
4053
4054
4055
CREATE FUNCTION set_curcfg(integer) RETURNS void
4056
    LANGUAGE c STRICT
4057
    AS '$libdir/tsearch2', 'tsa_set_curcfg';
4058
4059
4060
CREATE FUNCTION set_curcfg(text) RETURNS void
4061
    LANGUAGE c STRICT
4062
    AS '$libdir/tsearch2', 'tsa_set_curcfg_byname';
4063
4064
4065
CREATE FUNCTION set_curdict(integer) RETURNS void
4066
    LANGUAGE c STRICT
4067
    AS '$libdir/tsearch2', 'tsa_set_curdict';
4068
4069
4070
CREATE FUNCTION set_curdict(text) RETURNS void
4071
    LANGUAGE c STRICT
4072
    AS '$libdir/tsearch2', 'tsa_set_curdict_byname';
4073
4074
4075
CREATE FUNCTION set_curprs(integer) RETURNS void
4076
    LANGUAGE c STRICT
4077
    AS '$libdir/tsearch2', 'tsa_set_curprs';
4078
4079
4080
CREATE FUNCTION set_curprs(text) RETURNS void
4081
    LANGUAGE c STRICT
4082
    AS '$libdir/tsearch2', 'tsa_set_curprs_byname';
4083
4084
4085
CREATE FUNCTION setweight(pg_catalog.tsvector, "char") RETURNS pg_catalog.tsvector
4086
    LANGUAGE internal IMMUTABLE STRICT
4087
    AS $$tsvector_setweight$$;
4088
4089
4090
CREATE FUNCTION show_curcfg() RETURNS oid
4091
    LANGUAGE internal STABLE STRICT
4092
    AS $$get_current_ts_config$$;
4093
4094
4095
CREATE FUNCTION snb_en_init(internal) RETURNS internal
4096
    LANGUAGE c
4097
    AS '$libdir/tsearch2', 'tsa_snb_en_init';
4098
4099
4100
CREATE FUNCTION snb_lexize(internal, internal, integer) RETURNS internal
4101
    LANGUAGE c STRICT
4102
    AS '$libdir/tsearch2', 'tsa_snb_lexize';
4103
4104
4105
CREATE FUNCTION snb_ru_init(internal) RETURNS internal
4106
    LANGUAGE c
4107
    AS '$libdir/tsearch2', 'tsa_snb_ru_init';
4108
4109
4110
CREATE FUNCTION snb_ru_init_koi8(internal) RETURNS internal
4111
    LANGUAGE c
4112
    AS '$libdir/tsearch2', 'tsa_snb_ru_init_koi8';
4113
4114
4115
CREATE FUNCTION snb_ru_init_utf8(internal) RETURNS internal
4116
    LANGUAGE c
4117
    AS '$libdir/tsearch2', 'tsa_snb_ru_init_utf8';
4118
4119
4120
CREATE FUNCTION spell_init(internal) RETURNS internal
4121
    LANGUAGE c
4122
    AS '$libdir/tsearch2', 'tsa_spell_init';
4123
4124
4125
CREATE FUNCTION spell_lexize(internal, internal, integer) RETURNS internal
4126
    LANGUAGE c STRICT
4127
    AS '$libdir/tsearch2', 'tsa_spell_lexize';
4128
4129
4130
CREATE FUNCTION stat(text) RETURNS SETOF statinfo
4131
    LANGUAGE internal STRICT
4132
    AS $$ts_stat1$$;
4133
4134
4135
CREATE FUNCTION stat(text, text) RETURNS SETOF statinfo
4136
    LANGUAGE internal STRICT
4137
    AS $$ts_stat2$$;
4138
4139
4140
CREATE FUNCTION strip(pg_catalog.tsvector) RETURNS pg_catalog.tsvector
4141
    LANGUAGE internal IMMUTABLE STRICT
4142
    AS $$tsvector_strip$$;
4143
4144
4145
CREATE FUNCTION syn_init(internal) RETURNS internal
4146
    LANGUAGE c
4147
    AS '$libdir/tsearch2', 'tsa_syn_init';
4148
4149
4150
CREATE FUNCTION syn_lexize(internal, internal, integer) RETURNS internal
4151
    LANGUAGE c STRICT
4152
    AS '$libdir/tsearch2', 'tsa_syn_lexize';
4153
4154
4155
CREATE FUNCTION thesaurus_init(internal) RETURNS internal
4156
    LANGUAGE c
4157
    AS '$libdir/tsearch2', 'tsa_thesaurus_init';
4158
4159
4160
CREATE FUNCTION thesaurus_lexize(internal, internal, integer, internal) RETURNS internal
4161
    LANGUAGE c STRICT
4162
    AS '$libdir/tsearch2', 'tsa_thesaurus_lexize';
4163
4164
4165
CREATE FUNCTION to_tsquery(oid, text) RETURNS pg_catalog.tsquery
4166
    LANGUAGE internal IMMUTABLE STRICT
4167
    AS $$to_tsquery_byid$$;
4168
4169
4170
CREATE FUNCTION to_tsquery(text, text) RETURNS pg_catalog.tsquery
4171
    LANGUAGE c IMMUTABLE STRICT
4172
    AS '$libdir/tsearch2', 'tsa_to_tsquery_name';
4173
4174
4175
CREATE FUNCTION to_tsquery(text) RETURNS pg_catalog.tsquery
4176
    LANGUAGE internal IMMUTABLE STRICT
4177
    AS $$to_tsquery$$;
4178
4179
4180
CREATE FUNCTION to_tsvector(oid, text) RETURNS pg_catalog.tsvector
4181
    LANGUAGE internal IMMUTABLE STRICT
4182
    AS $$to_tsvector_byid$$;
4183
4184
4185
CREATE FUNCTION to_tsvector(text, text) RETURNS pg_catalog.tsvector
4186
    LANGUAGE c IMMUTABLE STRICT
4187
    AS '$libdir/tsearch2', 'tsa_to_tsvector_name';
4188
4189
4190
CREATE FUNCTION to_tsvector(text) RETURNS pg_catalog.tsvector
4191
    LANGUAGE internal IMMUTABLE STRICT
4192
    AS $$to_tsvector$$;
4193
4194
4195
CREATE FUNCTION token_type(integer) RETURNS SETOF tokentype
4196
    LANGUAGE internal STRICT ROWS 16
4197
    AS $$ts_token_type_byid$$;
4198
4199
4200
CREATE FUNCTION token_type(text) RETURNS SETOF tokentype
4201
    LANGUAGE internal STRICT ROWS 16
4202
    AS $$ts_token_type_byname$$;
4203
4204
4205
CREATE FUNCTION token_type() RETURNS SETOF tokentype
4206
    LANGUAGE c STRICT ROWS 16
4207
    AS '$libdir/tsearch2', 'tsa_token_type_current';
4208
4209
4210
CREATE FUNCTION ts_debug(text) RETURNS SETOF tsdebug
4211
    LANGUAGE sql STRICT
4212
    AS $_$
4213
select
4214
        (select c.cfgname::text from pg_catalog.pg_ts_config as c
4215
         where c.oid = show_curcfg()),
4216
        t.alias as tok_type,
4217
        t.descr as description,
4218
        p.token,
4219
        ARRAY ( SELECT m.mapdict::pg_catalog.regdictionary::pg_catalog.text
4220
                FROM pg_catalog.pg_ts_config_map AS m
4221
                WHERE m.mapcfg = show_curcfg() AND m.maptokentype = p.tokid
4222
                ORDER BY m.mapseqno )
4223
        AS dict_name,
4224
        strip(to_tsvector(p.token)) as tsvector
4225
from
4226
        parse( _get_parser_from_curcfg(), $1 ) as p,
4227
        token_type() as t
4228
where
4229
        t.tokid = p.tokid
4230
$_$;
4231
4232
4233
CREATE FUNCTION tsearch2() RETURNS trigger
4234
    LANGUAGE c
4235
    AS '$libdir/tsearch2', 'tsa_tsearch2';
4236
4237
4238
CREATE FUNCTION tsq_mcontained(pg_catalog.tsquery, pg_catalog.tsquery) RETURNS boolean
4239
    LANGUAGE internal IMMUTABLE STRICT
4240
    AS $$tsq_mcontained$$;
4241
4242
4243
CREATE FUNCTION tsq_mcontains(pg_catalog.tsquery, pg_catalog.tsquery) RETURNS boolean
4244
    LANGUAGE internal IMMUTABLE STRICT
4245
    AS $$tsq_mcontains$$;
4246
4247
4248
CREATE FUNCTION tsquery_and(pg_catalog.tsquery, pg_catalog.tsquery) RETURNS pg_catalog.tsquery
4249
    LANGUAGE internal IMMUTABLE STRICT
4250
    AS $$tsquery_and$$;
4251
4252
4253
CREATE FUNCTION tsquery_not(pg_catalog.tsquery) RETURNS pg_catalog.tsquery
4254
    LANGUAGE internal IMMUTABLE STRICT
4255
    AS $$tsquery_not$$;
4256
4257
4258
CREATE FUNCTION tsquery_or(pg_catalog.tsquery, pg_catalog.tsquery) RETURNS pg_catalog.tsquery
4259
    LANGUAGE internal IMMUTABLE STRICT
4260
    AS $$tsquery_or$$;
4261
4262
4263
SET search_path = public, pg_catalog;
4264
4265
CREATE OPERATOR > (
4266
    PROCEDURE = debversion_gt,
4267
    LEFTARG = debversion,
4268
    RIGHTARG = debversion,
4269
    COMMUTATOR = <,
4270
    NEGATOR = >=
4271
);
4272
4273
4274
COMMENT ON OPERATOR > (debversion, debversion) IS 'debversion greater-than';
4275
4276
4277
CREATE AGGREGATE max(debversion) (
4278
    SFUNC = debversion_larger,
4279
    STYPE = debversion,
4280
    SORTOP = >
4281
);
4282
4283
4284
CREATE OPERATOR < (
4285
    PROCEDURE = debversion_lt,
4286
    LEFTARG = debversion,
4287
    RIGHTARG = debversion,
4288
    COMMUTATOR = >,
4289
    NEGATOR = >=
4290
);
4291
4292
4293
COMMENT ON OPERATOR < (debversion, debversion) IS 'debversion less-than';
4294
4295
4296
CREATE AGGREGATE min(debversion) (
4297
    SFUNC = debversion_smaller,
4298
    STYPE = debversion,
4299
    SORTOP = <
4300
);
4301
4302
4303
SET search_path = ts2, pg_catalog;
4304
4305
CREATE AGGREGATE rewrite(pg_catalog.tsquery[]) (
4306
    SFUNC = rewrite_accum,
4307
    STYPE = pg_catalog.tsquery,
4308
    FINALFUNC = rewrite_finish
4309
);
4310
4311
4312
SET search_path = public, pg_catalog;
4313
4314
CREATE OPERATOR <= (
4315
    PROCEDURE = debversion_le,
4316
    LEFTARG = debversion,
4317
    RIGHTARG = debversion,
4318
    COMMUTATOR = >=,
4319
    NEGATOR = >
4320
);
4321
4322
4323
COMMENT ON OPERATOR <= (debversion, debversion) IS 'debversion less-than-or-equal';
4324
4325
4326
CREATE OPERATOR <> (
4327
    PROCEDURE = debversion_ne,
4328
    LEFTARG = debversion,
4329
    RIGHTARG = debversion,
4330
    COMMUTATOR = <>,
4331
    NEGATOR = =
4332
);
4333
4334
4335
COMMENT ON OPERATOR <> (debversion, debversion) IS 'debversion not equal';
4336
4337
4338
CREATE OPERATOR = (
4339
    PROCEDURE = debversion_eq,
4340
    LEFTARG = debversion,
4341
    RIGHTARG = debversion,
4342
    COMMUTATOR = =,
4343
    NEGATOR = <>
4344
);
4345
4346
4347
COMMENT ON OPERATOR = (debversion, debversion) IS 'debversion equal';
4348
4349
4350
CREATE OPERATOR >= (
4351
    PROCEDURE = debversion_ge,
4352
    LEFTARG = debversion,
4353
    RIGHTARG = debversion,
4354
    COMMUTATOR = <=,
4355
    NEGATOR = <
4356
);
4357
4358
4359
COMMENT ON OPERATOR >= (debversion, debversion) IS 'debversion greater-than-or-equal';
4360
4361
4362
CREATE OPERATOR FAMILY debversion_ops USING btree;
4363
4364
4365
CREATE OPERATOR CLASS debversion_ops
4366
    DEFAULT FOR TYPE debversion USING btree AS
4367
    OPERATOR 1 <(debversion,debversion) ,
4368
    OPERATOR 2 <=(debversion,debversion) ,
4369
    OPERATOR 3 =(debversion,debversion) ,
4370
    OPERATOR 4 >=(debversion,debversion) ,
4371
    OPERATOR 5 >(debversion,debversion) ,
4372
    FUNCTION 1 debversion_cmp(debversion,debversion);
4373
4374
4375
CREATE OPERATOR FAMILY debversion_ops USING hash;
4376
4377
4378
CREATE OPERATOR CLASS debversion_ops
4379
    DEFAULT FOR TYPE debversion USING hash AS
4380
    OPERATOR 1 =(debversion,debversion) ,
4381
    FUNCTION 1 debversion_hash(debversion);
4382
4383
4384
SET search_path = ts2, pg_catalog;
4385
4386
CREATE OPERATOR FAMILY tsquery_ops USING btree;
4387
4388
4389
CREATE OPERATOR CLASS tsquery_ops
4390
    FOR TYPE pg_catalog.tsquery USING btree AS
4391
    OPERATOR 1 <(pg_catalog.tsquery,pg_catalog.tsquery) ,
4392
    OPERATOR 2 <=(pg_catalog.tsquery,pg_catalog.tsquery) ,
4393
    OPERATOR 3 =(pg_catalog.tsquery,pg_catalog.tsquery) ,
4394
    OPERATOR 4 >=(pg_catalog.tsquery,pg_catalog.tsquery) ,
4395
    OPERATOR 5 >(pg_catalog.tsquery,pg_catalog.tsquery) ,
4396
    FUNCTION 1 tsquery_cmp(pg_catalog.tsquery,pg_catalog.tsquery);
4397
4398
4399
CREATE OPERATOR FAMILY tsvector_ops USING btree;
4400
4401
4402
CREATE OPERATOR CLASS tsvector_ops
4403
    FOR TYPE pg_catalog.tsvector USING btree AS
4404
    OPERATOR 1 <(pg_catalog.tsvector,pg_catalog.tsvector) ,
4405
    OPERATOR 2 <=(pg_catalog.tsvector,pg_catalog.tsvector) ,
4406
    OPERATOR 3 =(pg_catalog.tsvector,pg_catalog.tsvector) ,
4407
    OPERATOR 4 >=(pg_catalog.tsvector,pg_catalog.tsvector) ,
4408
    OPERATOR 5 >(pg_catalog.tsvector,pg_catalog.tsvector) ,
4409
    FUNCTION 1 tsvector_cmp(pg_catalog.tsvector,pg_catalog.tsvector);
4410
4411
4412
SET search_path = pg_catalog;
4413
4414
CREATE CAST (character AS public.debversion) WITH FUNCTION public.debversion(character);
4415
4416
4417
CREATE CAST (public.debversion AS character) WITHOUT FUNCTION AS ASSIGNMENT;
4418
4419
4420
CREATE CAST (public.debversion AS text) WITHOUT FUNCTION AS IMPLICIT;
4421
4422
4423
CREATE CAST (public.debversion AS character varying) WITHOUT FUNCTION AS IMPLICIT;
4424
4425
4426
CREATE CAST (text AS public.debversion) WITHOUT FUNCTION AS ASSIGNMENT;
4427
4428
4429
CREATE CAST (character varying AS public.debversion) WITHOUT FUNCTION AS ASSIGNMENT;
4430
4431
4432
SET search_path = ts2, pg_catalog;
4433
4434
CREATE TEXT SEARCH CONFIGURATION "default" (
4435
    PARSER = pg_catalog."default" );
4436
4437
ALTER TEXT SEARCH CONFIGURATION "default"
4438
    ADD MAPPING FOR asciiword WITH english_stem;
4439
4440
ALTER TEXT SEARCH CONFIGURATION "default"
4441
    ADD MAPPING FOR word WITH english_stem;
4442
4443
ALTER TEXT SEARCH CONFIGURATION "default"
4444
    ADD MAPPING FOR numword WITH simple;
4445
4446
ALTER TEXT SEARCH CONFIGURATION "default"
4447
    ADD MAPPING FOR email WITH simple;
4448
4449
ALTER TEXT SEARCH CONFIGURATION "default"
4450
    ADD MAPPING FOR url WITH simple;
4451
4452
ALTER TEXT SEARCH CONFIGURATION "default"
4453
    ADD MAPPING FOR host WITH simple;
4454
4455
ALTER TEXT SEARCH CONFIGURATION "default"
4456
    ADD MAPPING FOR sfloat WITH simple;
4457
4458
ALTER TEXT SEARCH CONFIGURATION "default"
4459
    ADD MAPPING FOR version WITH simple;
4460
4461
ALTER TEXT SEARCH CONFIGURATION "default"
4462
    ADD MAPPING FOR hword_numpart WITH simple;
4463
4464
ALTER TEXT SEARCH CONFIGURATION "default"
4465
    ADD MAPPING FOR hword_part WITH english_stem;
4466
4467
ALTER TEXT SEARCH CONFIGURATION "default"
4468
    ADD MAPPING FOR hword_asciipart WITH english_stem;
4469
4470
ALTER TEXT SEARCH CONFIGURATION "default"
4471
    ADD MAPPING FOR numhword WITH simple;
4472
4473
ALTER TEXT SEARCH CONFIGURATION "default"
4474
    ADD MAPPING FOR asciihword WITH english_stem;
4475
4476
ALTER TEXT SEARCH CONFIGURATION "default"
4477
    ADD MAPPING FOR hword WITH english_stem;
4478
4479
ALTER TEXT SEARCH CONFIGURATION "default"
4480
    ADD MAPPING FOR url_path WITH simple;
4481
4482
ALTER TEXT SEARCH CONFIGURATION "default"
4483
    ADD MAPPING FOR file WITH simple;
4484
4485
ALTER TEXT SEARCH CONFIGURATION "default"
4486
    ADD MAPPING FOR "float" WITH simple;
4487
4488
ALTER TEXT SEARCH CONFIGURATION "default"
4489
    ADD MAPPING FOR "int" WITH simple;
4490
4491
ALTER TEXT SEARCH CONFIGURATION "default"
4492
    ADD MAPPING FOR uint WITH simple;
4493
4494
4495
SET search_path = public, pg_catalog;
4496
4497
CREATE TABLE accesspolicy (
4498
    id integer NOT NULL,
4499
    product integer,
4500
    distribution integer,
4501
    type integer NOT NULL,
4502
    CONSTRAINT has_target CHECK (((product IS NULL) <> (distribution IS NULL)))
4503
);
4504
4505
4506
CREATE SEQUENCE accesspolicy_id_seq
4507
    START WITH 1
4508
    INCREMENT BY 1
4509
    NO MAXVALUE
4510
    NO MINVALUE
4511
    CACHE 1;
4512
4513
4514
ALTER SEQUENCE accesspolicy_id_seq OWNED BY accesspolicy.id;
4515
4516
4517
CREATE TABLE accesspolicyartifact (
4518
    id integer NOT NULL,
4519
    bug integer,
4520
    branch integer,
4521
    policy integer,
4522
    CONSTRAINT has_artifact CHECK (((bug IS NULL) <> (branch IS NULL)))
4523
);
4524
4525
4526
CREATE SEQUENCE accesspolicyartifact_id_seq
4527
    START WITH 1
4528
    INCREMENT BY 1
4529
    NO MAXVALUE
4530
    NO MINVALUE
4531
    CACHE 1;
4532
4533
4534
ALTER SEQUENCE accesspolicyartifact_id_seq OWNED BY accesspolicyartifact.id;
4535
4536
4537
CREATE TABLE accesspolicygrant (
4538
    id integer NOT NULL,
4539
    grantee integer NOT NULL,
4540
    grantor integer NOT NULL,
4541
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4542
    policy integer,
4543
    artifact integer,
4544
    CONSTRAINT has_target CHECK (((policy IS NULL) <> (artifact IS NULL)))
4545
);
4546
4547
4548
CREATE SEQUENCE accesspolicygrant_id_seq
4549
    START WITH 1
4550
    INCREMENT BY 1
4551
    NO MAXVALUE
4552
    NO MINVALUE
4553
    CACHE 1;
4554
4555
4556
ALTER SEQUENCE accesspolicygrant_id_seq OWNED BY accesspolicygrant.id;
4557
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4558
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4559
CREATE TABLE account (
4560
    id integer NOT NULL,
4561
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4562
    creation_rationale integer NOT NULL,
4563
    status integer NOT NULL,
4564
    date_status_set timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4565
    displayname text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
4566
    status_comment text
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4567
);
4568
7675.1121.53 by Stuart Bishop
New baseline
4569
4570
COMMENT ON TABLE account IS 'An account that may be used for authenticating to Canonical or other systems.';
4571
4572
4573
COMMENT ON COLUMN account.status IS 'The status of the account.';
4574
4575
4576
COMMENT ON COLUMN account.date_status_set IS 'When the status was last changed.';
4577
4578
4579
COMMENT ON COLUMN account.displayname IS 'Name to display when rendering information about this account.';
4580
4581
4582
COMMENT ON COLUMN account.status_comment IS 'The comment on the status of the account.';
4583
4584
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4585
CREATE SEQUENCE account_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4586
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4587
    INCREMENT BY 1
4588
    NO MAXVALUE
4589
    NO MINVALUE
4590
    CACHE 1;
4591
7675.1121.53 by Stuart Bishop
New baseline
4592
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4593
ALTER SEQUENCE account_id_seq OWNED BY account.id;
4594
7675.1121.53 by Stuart Bishop
New baseline
4595
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4596
CREATE TABLE accountpassword (
4597
    id integer NOT NULL,
4598
    account integer NOT NULL,
4599
    password text NOT NULL
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
4600
);
4601
7675.1121.53 by Stuart Bishop
New baseline
4602
4603
COMMENT ON TABLE accountpassword IS 'A password used to authenticate an Account.';
4604
4605
4606
COMMENT ON COLUMN accountpassword.password IS 'SSHA digest encrypted password.';
4607
4608
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4609
CREATE SEQUENCE accountpassword_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4610
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4611
    INCREMENT BY 1
4612
    NO MAXVALUE
4613
    NO MINVALUE
4614
    CACHE 1;
4615
7675.1121.53 by Stuart Bishop
New baseline
4616
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4617
ALTER SEQUENCE accountpassword_id_seq OWNED BY accountpassword.id;
4618
7675.1121.53 by Stuart Bishop
New baseline
4619
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4620
CREATE VIEW alllocks AS
4621
    SELECT a.procpid, a.usename, (now() - a.query_start) AS age, c.relname, l.mode, l.granted, a.current_query FROM ((pg_locks l JOIN pg_class c ON ((l.relation = c.oid))) LEFT JOIN pg_stat_activity a ON ((a.procpid = l.pid)));
4622
7675.1121.53 by Stuart Bishop
New baseline
4623
5529.1.3 by Stuart Bishop
New database schema baseline
4624
CREATE TABLE announcement (
4625
    id integer NOT NULL,
4626
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4627
    date_announced timestamp without time zone,
4628
    registrant integer NOT NULL,
4629
    product integer,
4630
    distribution integer,
4631
    project integer,
4632
    title text NOT NULL,
4633
    summary text,
4634
    url text,
4635
    active boolean DEFAULT true NOT NULL,
4636
    date_updated timestamp without time zone,
4637
    CONSTRAINT has_target CHECK ((((product IS NOT NULL) OR (project IS NOT NULL)) OR (distribution IS NOT NULL))),
4638
    CONSTRAINT valid_url CHECK (valid_absolute_url(url))
4639
);
4640
7675.1121.53 by Stuart Bishop
New baseline
4641
4642
COMMENT ON TABLE announcement IS 'A project announcement. This is a single item of news or information that the project is communicating. Announcements can be attached to a Project, a Product or a Distribution.';
4643
4644
4645
COMMENT ON COLUMN announcement.date_announced IS 'The date at which an announcement will become public, if it is active. If this is not set then the announcement will not become public until someone consciously publishes it (which sets this date).';
4646
4647
4648
COMMENT ON COLUMN announcement.url IS 'A web location for the announcement itself.';
4649
4650
4651
COMMENT ON COLUMN announcement.active IS 'Whether or not the announcement is public. This is TRUE by default, but can be set to FALSE if the project "retracts" the announcement.';
4652
4653
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4654
CREATE SEQUENCE announcement_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4655
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4656
    INCREMENT BY 1
4657
    NO MAXVALUE
4658
    NO MINVALUE
4659
    CACHE 1;
4660
7675.1121.53 by Stuart Bishop
New baseline
4661
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4662
ALTER SEQUENCE announcement_id_seq OWNED BY announcement.id;
4663
7675.1121.53 by Stuart Bishop
New baseline
4664
4212.1.1 by Stuart Bishop
New database baseline
4665
CREATE TABLE answercontact (
4666
    id integer NOT NULL,
4667
    product integer,
4668
    distribution integer,
4669
    sourcepackagename integer,
4670
    person integer NOT NULL,
4671
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4672
    CONSTRAINT valid_target CHECK ((((product IS NULL) <> (distribution IS NULL)) AND ((product IS NULL) OR (sourcepackagename IS NULL))))
4673
);
4674
7675.1121.53 by Stuart Bishop
New baseline
4675
4676
COMMENT ON TABLE answercontact IS 'Defines the answer contact for a given question target. The answer contact will be automatically notified about changes to any questions filed on the question target.';
4677
4678
4679
COMMENT ON COLUMN answercontact.product IS 'The product that the answer contact supports.';
4680
4681
4682
COMMENT ON COLUMN answercontact.distribution IS 'The distribution that the answer contact supports.';
4683
4684
4685
COMMENT ON COLUMN answercontact.sourcepackagename IS 'The sourcepackagename that the answer contact supports.';
4686
4687
4688
COMMENT ON COLUMN answercontact.person IS 'The person or team associated with the question target.';
4689
4690
4691
COMMENT ON COLUMN answercontact.date_created IS 'The date the answer contact was submitted.';
4692
4693
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4694
CREATE SEQUENCE answercontact_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4695
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4696
    INCREMENT BY 1
4697
    NO MAXVALUE
4698
    NO MINVALUE
4699
    CACHE 1;
4700
7675.1121.53 by Stuart Bishop
New baseline
4701
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4702
ALTER SEQUENCE answercontact_id_seq OWNED BY answercontact.id;
4703
7675.1121.53 by Stuart Bishop
New baseline
4704
7675.395.118 by Stuart Bishop
New database baseline from production
4705
CREATE TABLE apportjob (
4706
    id integer NOT NULL,
4707
    job integer NOT NULL,
4708
    blob integer NOT NULL,
4709
    job_type integer NOT NULL,
4710
    json_data text
4711
);
4712
7675.1121.53 by Stuart Bishop
New baseline
4713
4714
COMMENT ON TABLE apportjob IS 'Contains references to jobs to be run against Apport BLOBs.';
4715
4716
4717
COMMENT ON COLUMN apportjob.blob IS 'The TemporaryBlobStorage entry on which the job is to be run.';
4718
4719
4720
COMMENT ON COLUMN apportjob.job_type IS 'The type of job (enumeration value). Allows us to query the database for a given subset of ApportJobs.';
4721
4722
4723
COMMENT ON COLUMN apportjob.json_data IS 'A JSON struct containing data for the job.';
4724
4725
7675.395.118 by Stuart Bishop
New database baseline from production
4726
CREATE SEQUENCE apportjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4727
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
4728
    INCREMENT BY 1
4729
    NO MAXVALUE
4730
    NO MINVALUE
4731
    CACHE 1;
4732
7675.1121.53 by Stuart Bishop
New baseline
4733
7675.395.118 by Stuart Bishop
New database baseline from production
4734
ALTER SEQUENCE apportjob_id_seq OWNED BY apportjob.id;
4735
7675.1121.53 by Stuart Bishop
New baseline
4736
4990.1.1 by Stuart Bishop
New database baseline
4737
CREATE TABLE archive (
4212.1.1 by Stuart Bishop
New database baseline
4738
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4739
    owner integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
4740
    description text,
4741
    enabled boolean DEFAULT true NOT NULL,
4742
    authorized_size integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4743
    distribution integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
4744
    purpose integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4745
    private boolean DEFAULT false NOT NULL,
4746
    sources_cached integer,
4747
    binaries_cached integer,
4748
    package_description_cache text,
4749
    fti ts2.tsvector,
4750
    buildd_secret text,
4751
    require_virtualized boolean DEFAULT true NOT NULL,
4752
    name text DEFAULT 'default'::text NOT NULL,
4753
    publish boolean DEFAULT true NOT NULL,
4754
    date_updated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
4755
    total_count integer DEFAULT 0 NOT NULL,
4756
    pending_count integer DEFAULT 0 NOT NULL,
4757
    succeeded_count integer DEFAULT 0 NOT NULL,
4758
    failed_count integer DEFAULT 0 NOT NULL,
4759
    building_count integer DEFAULT 0 NOT NULL,
4760
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4761
    signing_key integer,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4762
    removed_binary_retention_days integer,
4763
    num_old_versions_published integer,
4764
    displayname text NOT NULL,
4765
    relative_build_score integer DEFAULT 0 NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
4766
    external_dependencies text,
4767
    status integer DEFAULT 0 NOT NULL,
4768
    commercial boolean DEFAULT false NOT NULL,
4769
    build_debug_symbols boolean DEFAULT false NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4770
    CONSTRAINT valid_buildd_secret CHECK ((((private = true) AND (buildd_secret IS NOT NULL)) OR (private = false))),
4771
    CONSTRAINT valid_name CHECK (valid_name(name))
4772
);
4773
7675.1121.53 by Stuart Bishop
New baseline
4774
4775
COMMENT ON TABLE archive IS 'A package archive. Commonly either a distribution''s main_archive or a ppa''s archive.';
4776
4777
4778
COMMENT ON COLUMN archive.owner IS 'Identifies the PPA owner when it has one.';
4779
4780
4781
COMMENT ON COLUMN archive.description IS 'Allow users to describe their PPAs content.';
4782
4783
4784
COMMENT ON COLUMN archive.enabled IS 'Whether or not the PPA is enabled for accepting uploads.';
4785
4786
4787
COMMENT ON COLUMN archive.authorized_size IS 'Size, in MiB, allowed for this PPA.';
4788
4789
4790
COMMENT ON COLUMN archive.distribution IS 'The distribution that uses this archive.';
4791
4792
4793
COMMENT ON COLUMN archive.purpose IS 'The purpose of this archive, e.g. COMMERCIAL.  See the ArchivePurpose DBSchema item.';
4794
4795
4796
COMMENT ON COLUMN archive.private IS 'Whether or not the archive is private. This affects the global visibility of the archive.';
4797
4798
4799
COMMENT ON COLUMN archive.sources_cached IS 'Number of sources already cached for this archive.';
4800
4801
4802
COMMENT ON COLUMN archive.binaries_cached IS 'Number of binaries already cached for this archive.';
4803
4804
4805
COMMENT ON COLUMN archive.package_description_cache IS 'Text blob containing all source and binary names and descriptions concatenated. Used to to build the tsearch indexes on this table.';
4806
4807
4808
COMMENT ON COLUMN archive.require_virtualized IS 'Whether this archive has binaries that should be built on a virtual machine, e.g. PPAs';
4809
4810
4811
COMMENT ON COLUMN archive.name IS 'The name of the archive.';
4812
4813
4814
COMMENT ON COLUMN archive.publish IS 'Whether this archive should be published.';
4815
4816
4817
COMMENT ON COLUMN archive.date_updated IS 'When were the rebuild statistics last updated?';
4818
4819
4820
COMMENT ON COLUMN archive.total_count IS 'How many source packages are in the rebuild archive altogether?';
4821
4822
4823
COMMENT ON COLUMN archive.pending_count IS 'How many packages still need building?';
4824
4825
4826
COMMENT ON COLUMN archive.succeeded_count IS 'How many source packages were built sucessfully?';
4827
4828
4829
COMMENT ON COLUMN archive.failed_count IS 'How many packages failed to build?';
4830
4831
4832
COMMENT ON COLUMN archive.building_count IS 'How many packages are building at present?';
4833
4834
4835
COMMENT ON COLUMN archive.signing_key IS 'The GpgKey used for signing this archive.';
4836
4837
4838
COMMENT ON COLUMN archive.removed_binary_retention_days IS 'The number of days before superseded or deleted binary files are expired in the librarian, or zero for never.';
4839
4840
4841
COMMENT ON COLUMN archive.num_old_versions_published IS 'The number of versions of a package to keep published before older versions are superseded.';
4842
4843
4844
COMMENT ON COLUMN archive.displayname IS 'User defined displayname for this archive.';
4845
4846
4847
COMMENT ON COLUMN archive.relative_build_score IS 'A delta to the build score that is applied to all builds in this archive.';
4848
4849
4850
COMMENT ON COLUMN archive.external_dependencies IS 'Newline-separated list of repositories to be used to retrieve any external build dependencies when building packages in this archive, in the format: deb http[s]://[user:pass@]<host>[/path] %(series)s[-pocket] [components]  The series variable is replaced with the series name of the context build.  This column is specifically and only intended for OEM migration to Launchpad and should be re-examined in October 2010 to see if it is still relevant.';
4851
4852
4853
COMMENT ON COLUMN archive.status IS 'The status of this archive, e.g. ACTIVE.  See the ArchiveState DBSchema item.';
4854
4855
4856
COMMENT ON COLUMN archive.commercial IS 'Whether this archive is a commercial Archive and should appear in the Software Center.';
4857
4858
4859
COMMENT ON COLUMN archive.build_debug_symbols IS 'Whether builds for this archive should create debug symbol packages.';
4860
4861
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4862
CREATE SEQUENCE archive_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4863
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4864
    INCREMENT BY 1
4865
    NO MAXVALUE
4866
    NO MINVALUE
4867
    CACHE 1;
4868
7675.1121.53 by Stuart Bishop
New baseline
4869
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4870
ALTER SEQUENCE archive_id_seq OWNED BY archive.id;
4871
7675.1121.53 by Stuart Bishop
New baseline
4872
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4873
CREATE TABLE archivearch (
4874
    id integer NOT NULL,
4875
    archive integer NOT NULL,
4876
    processorfamily integer NOT NULL
4877
);
4878
7675.1121.53 by Stuart Bishop
New baseline
4879
4880
COMMENT ON TABLE archivearch IS 'ArchiveArch: A table that allows a user to specify which architectures an archive requires or supports.';
4881
4882
4883
COMMENT ON COLUMN archivearch.archive IS 'The archive for which an architecture is specified.';
4884
4885
4886
COMMENT ON COLUMN archivearch.processorfamily IS 'The architecture specified for the archive on hand.';
4887
4888
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4889
CREATE SEQUENCE archivearch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4890
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4891
    INCREMENT BY 1
4892
    NO MAXVALUE
4893
    NO MINVALUE
4894
    CACHE 1;
4895
7675.1121.53 by Stuart Bishop
New baseline
4896
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4897
ALTER SEQUENCE archivearch_id_seq OWNED BY archivearch.id;
4898
7675.1121.53 by Stuart Bishop
New baseline
4899
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4900
CREATE TABLE archiveauthtoken (
4901
    id integer NOT NULL,
4902
    archive integer NOT NULL,
4903
    person integer NOT NULL,
4904
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4905
    date_deactivated timestamp without time zone,
4906
    token text NOT NULL
4907
);
4908
7675.1121.53 by Stuart Bishop
New baseline
4909
4910
COMMENT ON TABLE archiveauthtoken IS 'Authorisation tokens to use in .htaccess for published archives.';
4911
4912
4913
COMMENT ON COLUMN archiveauthtoken.archive IS 'The archive to which this token refers.';
4914
4915
4916
COMMENT ON COLUMN archiveauthtoken.person IS 'The person to which this token applies.';
4917
4918
4919
COMMENT ON COLUMN archiveauthtoken.date_created IS 'The date and time this token was created.';
4920
4921
4922
COMMENT ON COLUMN archiveauthtoken.date_deactivated IS 'The date and time this token was deactivated.';
4923
4924
4925
COMMENT ON COLUMN archiveauthtoken.token IS 'The token text for this authorisation.';
4926
4927
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4928
CREATE SEQUENCE archiveauthtoken_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4929
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4930
    INCREMENT BY 1
4931
    NO MAXVALUE
4932
    NO MINVALUE
4933
    CACHE 1;
4934
7675.1121.53 by Stuart Bishop
New baseline
4935
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4936
ALTER SEQUENCE archiveauthtoken_id_seq OWNED BY archiveauthtoken.id;
4937
7675.1121.53 by Stuart Bishop
New baseline
4938
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4939
CREATE TABLE archivedependency (
4940
    id integer NOT NULL,
4941
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4942
    archive integer NOT NULL,
4943
    dependency integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4944
    pocket integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
4945
    component integer,
4946
    CONSTRAINT distinct_archives CHECK ((archive <> dependency))
4947
);
4948
7675.1121.53 by Stuart Bishop
New baseline
4949
4950
COMMENT ON TABLE archivedependency IS 'This table maps a given archive to all other archives it should depend on.';
4951
4952
4953
COMMENT ON COLUMN archivedependency.date_created IS 'Instant when the dependency was created.';
4954
4955
4956
COMMENT ON COLUMN archivedependency.archive IS 'The archive where the dependency should be applied.';
4957
4958
4959
COMMENT ON COLUMN archivedependency.dependency IS 'The archive to depend on.';
4960
4961
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4962
CREATE SEQUENCE archivedependency_id_seq
7675.1121.53 by Stuart Bishop
New baseline
4963
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4964
    INCREMENT BY 1
4965
    NO MAXVALUE
4966
    NO MINVALUE
4967
    CACHE 1;
4968
7675.1121.53 by Stuart Bishop
New baseline
4969
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
4970
ALTER SEQUENCE archivedependency_id_seq OWNED BY archivedependency.id;
4971
7675.1121.53 by Stuart Bishop
New baseline
4972
7675.395.118 by Stuart Bishop
New database baseline from production
4973
CREATE TABLE archivejob (
4974
    id integer NOT NULL,
4975
    job integer NOT NULL,
4976
    archive integer NOT NULL,
4977
    job_type integer NOT NULL,
4978
    json_data text
4979
);
4980
7675.1121.53 by Stuart Bishop
New baseline
4981
4982
COMMENT ON TABLE archivejob IS 'Contains references to jobs to be run against Archives.';
4983
4984
4985
COMMENT ON COLUMN archivejob.archive IS 'The archive on which the job is to be run.';
4986
4987
4988
COMMENT ON COLUMN archivejob.job_type IS 'The type of job (enumeration value). Allows us to query the database for a given subset of ArchiveJobs.';
4989
4990
4991
COMMENT ON COLUMN archivejob.json_data IS 'A JSON struct containing data for the job.';
4992
4993
7675.395.118 by Stuart Bishop
New database baseline from production
4994
CREATE SEQUENCE archivejob_id_seq
4995
    START WITH 1
4996
    INCREMENT BY 1
4997
    NO MAXVALUE
4998
    NO MINVALUE
4999
    CACHE 1;
5000
7675.1121.53 by Stuart Bishop
New baseline
5001
7675.395.118 by Stuart Bishop
New database baseline from production
5002
ALTER SEQUENCE archivejob_id_seq OWNED BY archivejob.id;
5003
7675.1121.53 by Stuart Bishop
New baseline
5004
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5005
CREATE TABLE archivepermission (
5006
    id integer NOT NULL,
5007
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5008
    person integer NOT NULL,
5009
    permission integer NOT NULL,
5010
    archive integer NOT NULL,
5011
    component integer,
5012
    sourcepackagename integer,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5013
    packageset integer,
5014
    explicit boolean DEFAULT false NOT NULL,
5015
    CONSTRAINT one_target CHECK ((null_count(ARRAY[packageset, component, sourcepackagename]) = 2))
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5016
);
5017
7675.1121.53 by Stuart Bishop
New baseline
5018
5019
COMMENT ON TABLE archivepermission IS 'ArchivePermission: A record of who has permission to upload and approve uploads to an archive (and hence a distribution)';
5020
5021
5022
COMMENT ON COLUMN archivepermission.date_created IS 'The date that this permission was created.';
5023
5024
5025
COMMENT ON COLUMN archivepermission.person IS 'The person or team to whom the permission is being granted.';
5026
5027
5028
COMMENT ON COLUMN archivepermission.permission IS 'The permission type being granted.';
5029
5030
5031
COMMENT ON COLUMN archivepermission.archive IS 'The archive to which this permission applies.';
5032
5033
5034
COMMENT ON COLUMN archivepermission.component IS 'The component to which this upload permission applies.';
5035
5036
5037
COMMENT ON COLUMN archivepermission.sourcepackagename IS 'The source package name to which this permission applies.  This can be used to provide package-level permissions to single users.';
5038
5039
5040
COMMENT ON COLUMN archivepermission.packageset IS 'The package set to which this permission applies.';
5041
5042
5043
COMMENT ON COLUMN archivepermission.explicit IS 'This flag is set for package sets containing high-profile packages that must not break and/or require specialist skills for proper handling e.g. the kernel.';
5044
5045
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5046
CREATE SEQUENCE archivepermission_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5047
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5048
    INCREMENT BY 1
5049
    NO MAXVALUE
5050
    NO MINVALUE
5051
    CACHE 1;
5052
7675.1121.53 by Stuart Bishop
New baseline
5053
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5054
ALTER SEQUENCE archivepermission_id_seq OWNED BY archivepermission.id;
5055
7675.1121.53 by Stuart Bishop
New baseline
5056
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5057
CREATE TABLE archivesubscriber (
5058
    id integer NOT NULL,
5059
    archive integer NOT NULL,
5060
    registrant integer NOT NULL,
5061
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5062
    subscriber integer NOT NULL,
5063
    date_expires timestamp without time zone,
5064
    status integer NOT NULL,
5065
    description text,
5066
    date_cancelled timestamp without time zone,
5067
    cancelled_by integer
5068
);
3691.17.3 by Stuart Bishop
New database baseline
5069
7675.1121.53 by Stuart Bishop
New baseline
5070
5071
COMMENT ON TABLE archivesubscriber IS 'An authorised person or team subscription to an archive.';
5072
5073
5074
COMMENT ON COLUMN archivesubscriber.archive IS 'The archive that the subscriber is authorised to see.';
5075
5076
5077
COMMENT ON COLUMN archivesubscriber.registrant IS 'The person who authorised this subscriber.';
5078
5079
5080
COMMENT ON COLUMN archivesubscriber.date_created IS 'The date and time this subscription was created.';
5081
5082
5083
COMMENT ON COLUMN archivesubscriber.subscriber IS 'The person or team that this subscription refers to.';
5084
5085
5086
COMMENT ON COLUMN archivesubscriber.date_expires IS 'The date and time this subscription will expire. If NULL, it does not expire.';
5087
5088
5089
COMMENT ON COLUMN archivesubscriber.status IS 'The status of the subscription, e.g. PENDING, ACTIVE, CANCELLING, CANCELLED.';
5090
5091
5092
COMMENT ON COLUMN archivesubscriber.description IS 'An optional note for the archive owner to describe the subscription.';
5093
5094
5095
COMMENT ON COLUMN archivesubscriber.date_cancelled IS 'The date and time this subscription was revoked.';
5096
5097
5098
COMMENT ON COLUMN archivesubscriber.cancelled_by IS 'The person who revoked this subscription.';
5099
5100
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5101
CREATE SEQUENCE archivesubscriber_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5102
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5103
    INCREMENT BY 1
5104
    NO MAXVALUE
5105
    NO MINVALUE
5106
    CACHE 1;
5107
7675.1121.53 by Stuart Bishop
New baseline
5108
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5109
ALTER SEQUENCE archivesubscriber_id_seq OWNED BY archivesubscriber.id;
5110
5111
3691.17.3 by Stuart Bishop
New database baseline
5112
CREATE TABLE binarypackagename (
4212.1.1 by Stuart Bishop
New database baseline
5113
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5114
    name text NOT NULL,
5115
    CONSTRAINT valid_name CHECK (valid_name(name))
5116
);
5117
7675.1121.53 by Stuart Bishop
New baseline
5118
5119
COMMENT ON TABLE binarypackagename IS 'BinaryPackageName: A soyuz binary package name.';
5120
5121
5122
COMMENT ON COLUMN binarypackagename.name IS 'A lowercase name identifying one or more binarypackages';
5123
5124
3691.17.3 by Stuart Bishop
New database baseline
5125
CREATE TABLE sourcepackagename (
4212.1.1 by Stuart Bishop
New database baseline
5126
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5127
    name text NOT NULL,
5128
    CONSTRAINT valid_name CHECK (valid_name(name))
5129
);
5130
7675.1121.53 by Stuart Bishop
New baseline
5131
5132
COMMENT ON TABLE sourcepackagename IS 'SourcePackageName: A soyuz source package name.';
5133
5134
5135
COMMENT ON COLUMN sourcepackagename.name IS 'A lowercase name identifying one or more sourcepackages';
5136
5137
3691.17.3 by Stuart Bishop
New database baseline
5138
CREATE VIEW binaryandsourcepackagenameview AS
5139
    SELECT binarypackagename.name FROM binarypackagename UNION SELECT sourcepackagename.name FROM sourcepackagename;
5140
7675.1121.53 by Stuart Bishop
New baseline
5141
7675.395.118 by Stuart Bishop
New database baseline from production
5142
CREATE TABLE binarypackagebuild (
5143
    id integer NOT NULL,
5144
    package_build integer NOT NULL,
5145
    distro_arch_series integer NOT NULL,
5146
    source_package_release integer NOT NULL
5147
);
5148
7675.1121.53 by Stuart Bishop
New baseline
5149
5150
COMMENT ON TABLE binarypackagebuild IS 'BinaryPackageBuild: This table links a package build with a distroarchseries and sourcepackagerelease.';
5151
5152
5153
COMMENT ON COLUMN binarypackagebuild.package_build IS 'Points to the related package build with the base information.';
5154
5155
5156
COMMENT ON COLUMN binarypackagebuild.distro_arch_series IS 'Points the target DistroArchSeries for this build.';
5157
5158
5159
COMMENT ON COLUMN binarypackagebuild.source_package_release IS 'SourcePackageRelease which originated this build.';
5160
5161
7675.395.118 by Stuart Bishop
New database baseline from production
5162
CREATE SEQUENCE binarypackagebuild_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5163
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
5164
    INCREMENT BY 1
5165
    NO MAXVALUE
5166
    NO MINVALUE
5167
    CACHE 1;
5168
7675.1121.53 by Stuart Bishop
New baseline
5169
7675.395.118 by Stuart Bishop
New database baseline from production
5170
ALTER SEQUENCE binarypackagebuild_id_seq OWNED BY binarypackagebuild.id;
5171
7675.1121.53 by Stuart Bishop
New baseline
5172
3691.17.3 by Stuart Bishop
New database baseline
5173
CREATE TABLE binarypackagefile (
5174
    binarypackagerelease integer NOT NULL,
5175
    libraryfile integer NOT NULL,
5176
    filetype integer NOT NULL,
5177
    id integer DEFAULT nextval(('binarypackagefile_id_seq'::text)::regclass) NOT NULL
5178
);
5179
7675.1121.53 by Stuart Bishop
New baseline
5180
5181
COMMENT ON TABLE binarypackagefile IS 'BinaryPackageFile: A soyuz <-> librarian link table. This table represents the ownership in the librarian of a file which represents a binary package';
5182
5183
5184
COMMENT ON COLUMN binarypackagefile.binarypackagerelease IS 'The binary package which is represented by the file';
5185
5186
5187
COMMENT ON COLUMN binarypackagefile.libraryfile IS 'The file in the librarian which represents the package';
5188
5189
5190
COMMENT ON COLUMN binarypackagefile.filetype IS 'The "type" of the file. E.g. DEB, RPM';
5191
5192
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5193
CREATE SEQUENCE binarypackagefile_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5194
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5195
    INCREMENT BY 1
5196
    NO MAXVALUE
5197
    NO MINVALUE
5198
    CACHE 1;
5199
7675.1121.53 by Stuart Bishop
New baseline
5200
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5201
ALTER SEQUENCE binarypackagefile_id_seq OWNED BY binarypackagefile.id;
5202
7675.1121.53 by Stuart Bishop
New baseline
5203
7675.395.118 by Stuart Bishop
New database baseline from production
5204
CREATE TABLE binarypackagepublishinghistory (
5205
    id integer NOT NULL,
5206
    binarypackagerelease integer NOT NULL,
5207
    distroarchseries integer NOT NULL,
5208
    status integer NOT NULL,
5209
    component integer NOT NULL,
5210
    section integer NOT NULL,
5211
    priority integer NOT NULL,
5212
    datecreated timestamp without time zone NOT NULL,
5213
    datepublished timestamp without time zone,
5214
    datesuperseded timestamp without time zone,
5215
    supersededby integer,
5216
    datemadepending timestamp without time zone,
5217
    scheduleddeletiondate timestamp without time zone,
5218
    dateremoved timestamp without time zone,
5219
    pocket integer DEFAULT 0 NOT NULL,
5220
    archive integer NOT NULL,
5221
    removed_by integer,
7675.1121.53 by Stuart Bishop
New baseline
5222
    removal_comment text,
5223
    binarypackagename integer
7675.395.118 by Stuart Bishop
New database baseline from production
5224
);
5225
7675.1121.53 by Stuart Bishop
New baseline
5226
5227
COMMENT ON TABLE binarypackagepublishinghistory IS 'PackagePublishingHistory: The history of a BinaryPackagePublishing record. This table represents the lifetime of a publishing record from inception to deletion. Records are never removed from here and in time the publishing table may become a view onto this table. A column being NULL indicates there''s no data for that state transition. E.g. a package which is removed without being superseded won''t have datesuperseded or supersededby filled in.';
5228
5229
5230
COMMENT ON COLUMN binarypackagepublishinghistory.binarypackagerelease IS 'The binarypackage being published.';
5231
5232
5233
COMMENT ON COLUMN binarypackagepublishinghistory.distroarchseries IS 'The distroarchseries into which the binarypackage is being published.';
5234
5235
5236
COMMENT ON COLUMN binarypackagepublishinghistory.status IS 'The current status of the publishing.';
5237
5238
5239
COMMENT ON COLUMN binarypackagepublishinghistory.component IS 'The component into which the publishing takes place.';
5240
5241
5242
COMMENT ON COLUMN binarypackagepublishinghistory.section IS 'The section into which the publishing takes place.';
5243
5244
5245
COMMENT ON COLUMN binarypackagepublishinghistory.priority IS 'The priority at which the publishing takes place.';
5246
5247
5248
COMMENT ON COLUMN binarypackagepublishinghistory.datecreated IS 'The date/time on which the publishing record was created.';
5249
5250
5251
COMMENT ON COLUMN binarypackagepublishinghistory.datepublished IS 'The date/time on which the source was actually published into an archive.';
5252
5253
5254
COMMENT ON COLUMN binarypackagepublishinghistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.';
5255
5256
5257
COMMENT ON COLUMN binarypackagepublishinghistory.supersededby IS 'The build which superseded this package. This seems odd but it is important because a new build may not actually build a given binarypackage and we need to supersede it appropriately';
5258
5259
5260
COMMENT ON COLUMN binarypackagepublishinghistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.';
5261
5262
5263
COMMENT ON COLUMN binarypackagepublishinghistory.scheduleddeletiondate IS 'The date/time at which the package is/was scheduled to be deleted.';
5264
5265
5266
COMMENT ON COLUMN binarypackagepublishinghistory.dateremoved IS 'The date/time at which the package was actually deleted.';
5267
5268
5269
COMMENT ON COLUMN binarypackagepublishinghistory.pocket IS 'The pocket into which this record is published. The RELEASE pocket (zero) provides behaviour as normal. Other pockets may append things to the distroseries name such as the UPDATES pocket (-updates) or the SECURITY pocket (-security).';
5270
5271
5272
COMMENT ON COLUMN binarypackagepublishinghistory.archive IS 'Target archive for this publishing record.';
5273
5274
5275
COMMENT ON COLUMN binarypackagepublishinghistory.removed_by IS 'Person responsible for the removal.';
5276
5277
5278
COMMENT ON COLUMN binarypackagepublishinghistory.removal_comment IS 'Reason why the publication was removed.';
5279
5280
3691.17.3 by Stuart Bishop
New database baseline
5281
CREATE TABLE binarypackagerelease (
4212.1.1 by Stuart Bishop
New database baseline
5282
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5283
    binarypackagename integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
5284
    version debversion NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5285
    summary text NOT NULL,
5286
    description text NOT NULL,
5287
    build integer NOT NULL,
5288
    binpackageformat integer NOT NULL,
5289
    component integer NOT NULL,
5290
    section integer NOT NULL,
5291
    priority integer NOT NULL,
5292
    shlibdeps text,
5293
    depends text,
5294
    recommends text,
5295
    suggests text,
5296
    conflicts text,
5297
    replaces text,
5298
    provides text,
5299
    essential boolean NOT NULL,
5300
    installedsize integer,
5301
    architecturespecific boolean NOT NULL,
5302
    fti ts2.tsvector,
5303
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5304
    pre_depends text,
5305
    enhances text,
5306
    breaks text,
7675.395.118 by Stuart Bishop
New database baseline from production
5307
    debug_package integer,
7675.1121.53 by Stuart Bishop
New baseline
5308
    user_defined_fields text,
5309
    homepage text,
5310
    CONSTRAINT valid_version CHECK (valid_debian_version((version)::text))
3691.17.3 by Stuart Bishop
New database baseline
5311
);
5312
7675.1121.53 by Stuart Bishop
New baseline
5313
5314
COMMENT ON TABLE binarypackagerelease IS 'BinaryPackageRelease: A soyuz binary package representation. This table stores the records for each binary package uploaded into the system. Each sourcepackagerelease may build various binarypackages on various architectures.';
5315
5316
5317
COMMENT ON COLUMN binarypackagerelease.binarypackagename IS 'A reference to the name of the binary package';
5318
5319
5320
COMMENT ON COLUMN binarypackagerelease.version IS 'The version of the binary package. E.g. "1.0-2"';
5321
5322
5323
COMMENT ON COLUMN binarypackagerelease.summary IS 'A summary of the binary package. Commonly used on listings of binary packages';
5324
5325
5326
COMMENT ON COLUMN binarypackagerelease.description IS 'A longer more detailed description of the binary package';
5327
5328
5329
COMMENT ON COLUMN binarypackagerelease.build IS 'The build in which this binarypackage was produced';
5330
5331
5332
COMMENT ON COLUMN binarypackagerelease.binpackageformat IS 'The binarypackage format. E.g. RPM, DEB etc';
5333
5334
5335
COMMENT ON COLUMN binarypackagerelease.component IS 'The archive component that this binarypackage is in. E.g. main, universe etc';
5336
5337
5338
COMMENT ON COLUMN binarypackagerelease.section IS 'The archive section that this binarypackage is in. E.g. devel, libdevel, editors';
5339
5340
5341
COMMENT ON COLUMN binarypackagerelease.priority IS 'The priority that this package has. E.g. Base, Standard, Extra, Optional';
5342
5343
5344
COMMENT ON COLUMN binarypackagerelease.shlibdeps IS 'The shared library dependencies of this binary package';
5345
5346
5347
COMMENT ON COLUMN binarypackagerelease.depends IS 'The list of packages this binarypackage depends on';
5348
5349
5350
COMMENT ON COLUMN binarypackagerelease.recommends IS 'The list of packages this binarypackage recommends. Recommended packages often enhance the behaviour of a package.';
5351
5352
5353
COMMENT ON COLUMN binarypackagerelease.suggests IS 'The list of packages this binarypackage suggests.';
5354
5355
5356
COMMENT ON COLUMN binarypackagerelease.conflicts IS 'The list of packages this binarypackage conflicts with.';
5357
5358
5359
COMMENT ON COLUMN binarypackagerelease.replaces IS 'The list of packages this binarypackage replaces files in. Often this is used to provide an upgrade path between two binarypackages of different names';
5360
5361
5362
COMMENT ON COLUMN binarypackagerelease.provides IS 'The list of virtual packages (or real packages under some circumstances) which this binarypackage provides.';
5363
5364
5365
COMMENT ON COLUMN binarypackagerelease.essential IS 'Whether or not this binarypackage is essential to the smooth operation of a base system';
5366
5367
5368
COMMENT ON COLUMN binarypackagerelease.installedsize IS 'What the installed size of the binarypackage is. This is represented as a number of kilobytes of storage.';
5369
5370
5371
COMMENT ON COLUMN binarypackagerelease.architecturespecific IS 'This field indicates whether or not a binarypackage is architecture-specific. If it is not specific to any given architecture then it can automatically be included in all the distroarchseries which pertain.';
5372
5373
5374
COMMENT ON COLUMN binarypackagerelease.pre_depends IS 'The list of packages this binary requires to be installed beforehand in apt/dpkg format, as it is in control file "Pre-Depends:" field.';
5375
5376
5377
COMMENT ON COLUMN binarypackagerelease.enhances IS 'The list of packages pointed as "enhanced" after the installation of this package, as it is in control file "Enhances:" field.';
5378
5379
5380
COMMENT ON COLUMN binarypackagerelease.breaks IS 'The list of packages which will be broken by the installtion of this package, as it is in the control file "Breaks:" field.';
5381
5382
5383
COMMENT ON COLUMN binarypackagerelease.debug_package IS 'The corresponding binary package release containing debug symbols for this binary, if any.';
5384
5385
5386
COMMENT ON COLUMN binarypackagerelease.user_defined_fields IS 'A JSON struct containing a sequence of key-value pairs with user defined fields in the control file.';
5387
5388
5389
COMMENT ON COLUMN binarypackagerelease.homepage IS 'Upstream project homepage URL, not checked for validity.';
5390
5391
3691.17.3 by Stuart Bishop
New database baseline
5392
CREATE TABLE component (
4212.1.1 by Stuart Bishop
New database baseline
5393
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5394
    name text NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
5395
    description text,
3691.17.3 by Stuart Bishop
New database baseline
5396
    CONSTRAINT valid_name CHECK (valid_name(name))
5397
);
5398
7675.1121.53 by Stuart Bishop
New baseline
5399
5400
COMMENT ON TABLE component IS 'Known components in Launchpad';
5401
5402
5403
COMMENT ON COLUMN component.name IS 'Component name text';
5404
5405
5406
COMMENT ON COLUMN component.description IS 'Description of this component.';
5407
5408
5529.1.3 by Stuart Bishop
New database schema baseline
5409
CREATE TABLE distroarchseries (
4212.1.1 by Stuart Bishop
New database baseline
5410
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5411
    distroseries integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5412
    processorfamily integer NOT NULL,
5413
    architecturetag text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5414
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5415
    official boolean NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5416
    package_count integer DEFAULT 0 NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5417
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
5418
    supports_virtualized boolean DEFAULT false NOT NULL,
5419
    enabled boolean DEFAULT true NOT NULL,
5420
    CONSTRAINT valid_architecturetag CHECK (valid_name(architecturetag))
3691.17.3 by Stuart Bishop
New database baseline
5421
);
5422
7675.1121.53 by Stuart Bishop
New baseline
5423
5424
COMMENT ON TABLE distroarchseries IS 'DistroArchSeries: A soyuz distribution release for a given architecture. A distroseries runs on various architectures. The distroarchseries groups that architecture-specific stuff.';
5425
5426
5427
COMMENT ON COLUMN distroarchseries.distroseries IS 'The distribution which this distroarchseries is part of.';
5428
5429
5430
COMMENT ON COLUMN distroarchseries.processorfamily IS 'A link to the ProcessorFamily table, giving the architecture of this DistroArchSeries.';
5431
5432
5433
COMMENT ON COLUMN distroarchseries.architecturetag IS 'The name of this architecture in the context of this specific distro release. For example, some distributions might label amd64 as amd64, others might call is x86_64. This information is used, for example, in determining the names of the actual package files... such as the "amd64" part of "apache2_2.0.56-1_amd64.deb"';
5434
5435
5436
COMMENT ON COLUMN distroarchseries.official IS 'Whether or not this architecture or "port" is an official release. If it is not official then you may not be able to install it or get all the packages for it.';
5437
5438
5439
COMMENT ON COLUMN distroarchseries.package_count IS 'A cache of the number of binary packages published in this distro arch release. The count only includes packages published in the release pocket.';
5440
5441
5442
COMMENT ON COLUMN distroarchseries.supports_virtualized IS 'Whether or not
5443
virtualized build support should be provided by this specific distroarchseries';
5444
5445
5446
COMMENT ON COLUMN distroarchseries.enabled IS 'Whether to allow build creation and publishing for this DistroArchSeries.';
5447
5448
5529.1.3 by Stuart Bishop
New database schema baseline
5449
CREATE TABLE distroseries (
4212.1.1 by Stuart Bishop
New database baseline
5450
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5451
    distribution integer NOT NULL,
5452
    name text NOT NULL,
5453
    title text NOT NULL,
5454
    description text NOT NULL,
5455
    version text NOT NULL,
5456
    releasestatus integer NOT NULL,
5457
    datereleased timestamp without time zone,
5529.1.3 by Stuart Bishop
New database schema baseline
5458
    parent_series integer,
7675.1121.53 by Stuart Bishop
New baseline
5459
    registrant integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5460
    summary text NOT NULL,
5461
    displayname text NOT NULL,
5462
    datelastlangpack timestamp without time zone,
5463
    messagecount integer DEFAULT 0 NOT NULL,
5464
    nominatedarchindep integer,
5465
    changeslist text,
5466
    binarycount integer DEFAULT 0 NOT NULL,
5467
    sourcecount integer DEFAULT 0 NOT NULL,
5468
    driver integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5469
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
5470
    hide_all_translations boolean DEFAULT true NOT NULL,
5471
    defer_translation_imports boolean DEFAULT true NOT NULL,
5472
    language_pack_base integer,
5473
    language_pack_delta integer,
5474
    language_pack_proposed integer,
5475
    language_pack_full_export_requested boolean DEFAULT false NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
5476
    backports_not_automatic boolean DEFAULT false NOT NULL,
5477
    include_long_descriptions boolean DEFAULT true NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
5478
    CONSTRAINT valid_language_pack_delta CHECK (((language_pack_base IS NOT NULL) OR (language_pack_delta IS NULL))),
3691.17.3 by Stuart Bishop
New database baseline
5479
    CONSTRAINT valid_name CHECK (valid_name(name)),
5480
    CONSTRAINT valid_version CHECK (sane_version(version))
5481
);
5482
7675.1121.53 by Stuart Bishop
New baseline
5483
5484
COMMENT ON TABLE distroseries IS 'DistroSeries: A soyuz distribution release. A DistroSeries is a given version of a distribution. E.g. "Warty" "Hoary" "Sarge" etc.';
5485
5486
5487
COMMENT ON COLUMN distroseries.distribution IS 'The distribution which contains this distroseries.';
5488
5489
5490
COMMENT ON COLUMN distroseries.name IS 'The unique name of the distroseries. This is a short name in lower case and would be used in sources.list configuration and in generated URLs. E.g. "warty" "sarge" "sid"';
5491
5492
5493
COMMENT ON COLUMN distroseries.title IS 'The display-name title of the distroseries E.g. "Warty Warthog"';
5494
5495
5496
COMMENT ON COLUMN distroseries.description IS 'The long detailed description of the release. This may describe the focus of the release or other related information.';
5497
5498
5499
COMMENT ON COLUMN distroseries.version IS 'The version of the release. E.g. warty would be "4.10" and hoary would be "5.4"';
5500
5501
5502
COMMENT ON COLUMN distroseries.releasestatus IS 'The current release status of this distroseries. E.g. "pre-release freeze" or "released"';
5503
5504
5505
COMMENT ON COLUMN distroseries.datereleased IS 'The date on which this distroseries was released. (obviously only valid for released distributions)';
5506
5507
5508
COMMENT ON COLUMN distroseries.parent_series IS 'The parent distroseries on which this distribution is based. This is related to the inheritance stuff.';
5509
5510
5511
COMMENT ON COLUMN distroseries.registrant IS 'The ultimate owner of this distroseries.';
5512
5513
5514
COMMENT ON COLUMN distroseries.summary IS 'A brief summary of the distro release. This will be displayed in bold at the top of the distroseries page, above the distroseries description. It should include any high points that are particularly important to draw to the attention of users.';
5515
5516
5517
COMMENT ON COLUMN distroseries.datelastlangpack IS 'The date we last generated a base language pack for this release. Language update packs for this release will only include translations added after that date.';
5518
5519
5520
COMMENT ON COLUMN distroseries.messagecount IS 'This is a cached value and may be a few hours out of sync with reality. It should, however, be in sync with the values in DistroSeriesLanguage, and should never be updated separately. The total number of translation messages in this distro release, as per IRosettaStats.';
5521
5522
5523
COMMENT ON COLUMN distroseries.nominatedarchindep IS 'This is the DistroArchSeries nominated to build architecture independent packages within this DistroRelase, it is mandatory for buildable distroseries, i.e., Auto Build System will avoid to create build jobs for a DistroSeries with no nominatedarchindep, but the database model allow us to do it (for non-buildable DistroSeries). See further info in NominatedArchIndep specification.';
5524
5525
5526
COMMENT ON COLUMN distroseries.changeslist IS 'The email address (name name) of the changes announcement list for this distroseries. If NULL, no announcement mail will be sent.';
5527
5528
5529
COMMENT ON COLUMN distroseries.binarycount IS 'A cache of the number of distinct binary package names published in this distro release.';
5530
5531
5532
COMMENT ON COLUMN distroseries.sourcecount IS 'A cache of the number of distinct source package names published in this distro release.';
5533
5534
5535
COMMENT ON COLUMN distroseries.driver IS 'This is a person or team who can act as a driver for this specific release - note that the distribution drivers can also set goals for any release.';
5536
5537
5538
COMMENT ON COLUMN distroseries.hide_all_translations IS 'Whether we should hid
5539
e all available translations for this distro release to non admin users.';
5540
5541
5542
COMMENT ON COLUMN distroseries.defer_translation_imports IS 'Don''t accept PO imports for this release just now.';
5543
5544
5545
COMMENT ON COLUMN distroseries.language_pack_base IS 'Current full export language pack for this distribution release.';
5546
5547
5548
COMMENT ON COLUMN distroseries.language_pack_delta IS 'Current language pack update based on language_pack_base information.';
5549
5550
5551
COMMENT ON COLUMN distroseries.language_pack_proposed IS 'Either a full or update language pack being tested to be used in language_pack_base or language_pack_delta.';
5552
5553
5554
COMMENT ON COLUMN distroseries.language_pack_full_export_requested IS 'Whether next language pack export should be a full export or an update.';
5555
5556
3691.17.3 by Stuart Bishop
New database baseline
5557
CREATE TABLE libraryfilealias (
4212.1.1 by Stuart Bishop
New database baseline
5558
    id integer NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
5559
    content integer,
3691.17.3 by Stuart Bishop
New database baseline
5560
    filename text NOT NULL,
5561
    mimetype text NOT NULL,
5562
    expires timestamp without time zone,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5563
    last_accessed timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5564
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5565
    restricted boolean DEFAULT false NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5566
    hits integer DEFAULT 0 NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5567
    CONSTRAINT valid_filename CHECK ((filename !~~ '%/%'::text))
3691.17.3 by Stuart Bishop
New database baseline
5568
);
5569
7675.1121.53 by Stuart Bishop
New baseline
5570
5571
COMMENT ON TABLE libraryfilealias IS 'LibraryFileAlias: A librarian file''s alias. The librarian stores, along with the file contents, a record stating the file name and mimetype. This table represents it.';
5572
5573
5574
COMMENT ON COLUMN libraryfilealias.content IS 'The libraryfilecontent which is the data in this file.';
5575
5576
5577
COMMENT ON COLUMN libraryfilealias.filename IS 'The name of the file. E.g. "foo_1.0-1_i386.deb"';
5578
5579
5580
COMMENT ON COLUMN libraryfilealias.mimetype IS 'The mime type of the file. E.g. "application/x-debian-package"';
5581
5582
5583
COMMENT ON COLUMN libraryfilealias.expires IS 'The expiry date of this file. If NULL, this item may be removed as soon as it is no longer referenced. If set, the item will not be removed until this date. Once the date is passed, the file may be removed from disk even if this item is still being referenced (in which case content.deleted will be true)';
5584
5585
5586
COMMENT ON COLUMN libraryfilealias.last_accessed IS 'Roughly when this file was last retrieved from the Librarian. Initially set to this item''s creation date.';
5587
5588
5589
COMMENT ON COLUMN libraryfilealias.date_created IS 'The timestamp when this alias was created.';
5590
5591
5592
COMMENT ON COLUMN libraryfilealias.restricted IS 'Is this file available only from the restricted librarian?';
5593
5594
5595
COMMENT ON COLUMN libraryfilealias.hits IS 'The number of times this file has been downloaded.';
5596
5597
3691.17.3 by Stuart Bishop
New database baseline
5598
CREATE TABLE sourcepackagerelease (
4212.1.1 by Stuart Bishop
New database baseline
5599
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5600
    creator integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
5601
    version debversion NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5602
    dateuploaded timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
5603
    urgency integer NOT NULL,
5604
    dscsigningkey integer,
7675.395.118 by Stuart Bishop
New database baseline from production
5605
    component integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5606
    changelog_entry text,
3691.17.3 by Stuart Bishop
New database baseline
5607
    builddepends text,
5608
    builddependsindep text,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5609
    architecturehintlist text NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5610
    dsc text,
5611
    section integer NOT NULL,
5612
    maintainer integer NOT NULL,
5613
    sourcepackagename integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5614
    upload_distroseries integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5615
    format integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5616
    dsc_maintainer_rfc822 text,
5617
    dsc_standards_version text,
7675.395.118 by Stuart Bishop
New database baseline from production
5618
    dsc_format text NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5619
    dsc_binaries text,
7675.395.118 by Stuart Bishop
New database baseline from production
5620
    upload_archive integer,
4990.1.1 by Stuart Bishop
New database baseline
5621
    copyright text,
5529.1.3 by Stuart Bishop
New database schema baseline
5622
    build_conflicts text,
5623
    build_conflicts_indep text,
7675.395.118 by Stuart Bishop
New database baseline from production
5624
    sourcepackage_recipe_build integer,
5625
    changelog integer,
7675.1121.53 by Stuart Bishop
New baseline
5626
    user_defined_fields text,
5627
    homepage text,
5628
    CONSTRAINT valid_version CHECK (valid_debian_version((version)::text))
3691.17.3 by Stuart Bishop
New database baseline
5629
);
5630
7675.1121.53 by Stuart Bishop
New baseline
5631
5632
COMMENT ON TABLE sourcepackagerelease IS 'SourcePackageRelease: A source
5633
package release. This table represents a specific release of a source
5634
package. Source package releases may be published into a distroseries, or
5635
even multiple distroseries.';
5636
5637
5638
COMMENT ON COLUMN sourcepackagerelease.creator IS 'The creator of this
5639
sourcepackagerelease. This is the person referred to in the top entry in the
5640
package changelog in debian terms. Note that a source package maintainer in
5641
Ubuntu might be person A, but a particular release of that source package
5642
might in fact have been created by a different person B. The maintainer
5643
would be recorded in the Maintainership table, while the creator of THIS
5644
release would be recorded in the SourcePackageRelease.creator field.';
5645
5646
5647
COMMENT ON COLUMN sourcepackagerelease.version IS 'The version string for
5648
this source package release. E.g. "1.0-2" or "1.4-5ubuntu9.1". Note that, in
5649
ubuntu-style and redhat-style distributions, the version+sourcepackagename
5650
is unique, even across distroseries. In other words, you cannot have a
5651
foo-1.2-1 package in Hoary that is different from foo-1.2-1 in Warty.';
5652
5653
5654
COMMENT ON COLUMN sourcepackagerelease.dateuploaded IS 'The date/time that
5655
this sourcepackagerelease was first uploaded to the Launchpad.';
5656
5657
5658
COMMENT ON COLUMN sourcepackagerelease.urgency IS 'The urgency of the
5659
upload. This is generally used to prioritise buildd activity but may also be
5660
used for "testing" systems or security work in the future. The "urgency" is
5661
set by the uploader, in the DSC file.';
5662
5663
5664
COMMENT ON COLUMN sourcepackagerelease.dscsigningkey IS 'The GPG key used to
5665
sign the DSC. This is not necessarily the maintainer''s key, or the
5666
creator''s key. For example, it''s possible to produce a package, then ask a
5667
sponsor to upload it.';
5668
5669
5670
COMMENT ON COLUMN sourcepackagerelease.component IS 'The component in which
5671
this sourcepackagerelease is intended (by the uploader) to reside. E.g.
5672
main, universe, restricted. Note that the distribution managers will often
5673
override this data and publish the package in an entirely different
5674
component.';
5675
5676
5677
COMMENT ON COLUMN sourcepackagerelease.changelog_entry IS 'Changelog text section extracted from the changesfile.';
5678
5679
5680
COMMENT ON COLUMN sourcepackagerelease.builddepends IS 'The build
5681
dependencies for this source package release.';
5682
5683
5684
COMMENT ON COLUMN sourcepackagerelease.builddependsindep IS 'The
5685
architecture-independant build dependancies for this source package release.';
5686
5687
5688
COMMENT ON COLUMN sourcepackagerelease.architecturehintlist IS 'The
5689
architectures which this source package release believes it should be built.
5690
This is used as a hint to the build management system when deciding what
5691
builds are still needed.';
5692
5693
5694
COMMENT ON COLUMN sourcepackagerelease.dsc IS 'The "Debian Source Control"
5695
file for the sourcepackagerelease, from its upload into Ubuntu for the
5696
first time.';
5697
5698
5699
COMMENT ON COLUMN sourcepackagerelease.section IS 'This integer field references the Section which the source package claims to be in';
5700
5701
5702
COMMENT ON COLUMN sourcepackagerelease.maintainer IS 'Reference to the person noted as source package maintainer in the DSC.';
5703
5704
5705
COMMENT ON COLUMN sourcepackagerelease.sourcepackagename IS 'Reference to a SourcePackageName.';
5706
5707
5708
COMMENT ON COLUMN sourcepackagerelease.upload_distroseries IS 'The
5709
distroseries into which this source package release was uploaded into
5710
Launchpad / Ubuntu for the first time. In general, this will be the
5711
development Ubuntu release into which this package was uploaded. For a
5712
package which was unchanged between warty and hoary, this would show Warty.
5713
For a package which was uploaded into Hoary, this would show Hoary.';
5714
5715
5716
COMMENT ON COLUMN sourcepackagerelease.format IS 'The format of this
5717
sourcepackage release, e.g. DPKG, RPM, EBUILD, etc. This is an enum, and the
5718
values are listed in dbschema.SourcePackageFormat';
5719
5720
5721
COMMENT ON COLUMN sourcepackagerelease.dsc_maintainer_rfc822 IS 'The original maintainer line in RFC-822 format, to be used in archive indexes.';
5722
5723
5724
COMMENT ON COLUMN sourcepackagerelease.dsc_standards_version IS 'DSC standards version (such as "3.6.2", "3.5.9", etc) used to build this source.';
5725
5726
5727
COMMENT ON COLUMN sourcepackagerelease.dsc_format IS 'DSC format version (such as "1.0").';
5728
5729
5730
COMMENT ON COLUMN sourcepackagerelease.dsc_binaries IS 'DSC binary line, claimed binary-names produce by this source.';
5731
5732
5733
COMMENT ON COLUMN sourcepackagerelease.upload_archive IS 'The archive into which this sourcepackagerelese was originally uploaded.';
5734
5735
5736
COMMENT ON COLUMN sourcepackagerelease.copyright IS 'The copyright associated with this sourcepackage. Often in the case of debian packages and will be found after the installation in /usr/share/doc/<binarypackagename>/copyright';
5737
5738
5739
COMMENT ON COLUMN sourcepackagerelease.build_conflicts IS 'The list of packages that will conflict with this source while building, as mentioned in the control file "Build-Conflicts:" field.';
5740
5741
5742
COMMENT ON COLUMN sourcepackagerelease.build_conflicts_indep IS 'The list of packages that will conflict with this source while building in architecture independent environment, as mentioned in the control file "Build-Conflicts-Indep:" field.';
5743
5744
5745
COMMENT ON COLUMN sourcepackagerelease.changelog IS 'The LibraryFileAlias ID of changelog associated with this sourcepackage.  Often in the case of debian packages and will be found after the installation in /usr/share/doc/<binarypackagename>/changelog.Debian.gz';
5746
5747
5748
COMMENT ON COLUMN sourcepackagerelease.user_defined_fields IS 'A JSON struct containing a sequence of key-value pairs with user defined fields in the control file.';
5749
5750
5751
COMMENT ON COLUMN sourcepackagerelease.homepage IS 'Upstream project homepage URL, not checked for validity.';
5752
5753
3691.17.3 by Stuart Bishop
New database baseline
5754
CREATE VIEW binarypackagefilepublishing AS
7675.395.118 by Stuart Bishop
New database baseline from production
5755
    SELECT (((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 FROM (((((((((binarypackagepublishinghistory securebinarypackagepublishinghistory JOIN binarypackagerelease ON ((securebinarypackagepublishinghistory.binarypackagerelease = binarypackagerelease.id))) JOIN binarypackagebuild ON ((binarypackagerelease.build = binarypackagebuild.id))) JOIN sourcepackagerelease ON ((binarypackagebuild.source_package_release = sourcepackagerelease.id))) JOIN sourcepackagename ON ((sourcepackagerelease.sourcepackagename = sourcepackagename.id))) JOIN binarypackagefile ON ((binarypackagefile.binarypackagerelease = binarypackagerelease.id))) JOIN libraryfilealias ON ((binarypackagefile.libraryfile = libraryfilealias.id))) JOIN distroarchseries ON ((securebinarypackagepublishinghistory.distroarchseries = distroarchseries.id))) JOIN distroseries ON ((distroarchseries.distroseries = distroseries.id))) JOIN component ON ((securebinarypackagepublishinghistory.component = component.id))) WHERE (securebinarypackagepublishinghistory.dateremoved IS NULL);
3691.17.3 by Stuart Bishop
New database baseline
5756
7675.1121.53 by Stuart Bishop
New baseline
5757
5758
COMMENT ON VIEW binarypackagefilepublishing IS 'This view is used mostly by Lucille while performing publishing and unpublishing operations. It lists all the files associated with a binarypackage and collates all the textual representations needed for publishing components etc to allow rapid queries from SQLObject.';
5759
5760
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5761
CREATE SEQUENCE binarypackagename_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5762
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5763
    INCREMENT BY 1
5764
    NO MAXVALUE
5765
    NO MINVALUE
5766
    CACHE 1;
5767
7675.1121.53 by Stuart Bishop
New baseline
5768
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5769
ALTER SEQUENCE binarypackagename_id_seq OWNED BY binarypackagename.id;
5770
7675.1121.53 by Stuart Bishop
New baseline
5771
5772
CREATE TABLE binarypackagepath (
5773
    id integer NOT NULL,
5774
    path bytea NOT NULL
5775
);
5776
5777
5778
CREATE SEQUENCE binarypackagepath_id_seq
5779
    START WITH 1
5780
    INCREMENT BY 1
5781
    NO MAXVALUE
5782
    NO MINVALUE
5783
    CACHE 1;
5784
5785
5786
ALTER SEQUENCE binarypackagepath_id_seq OWNED BY binarypackagepath.id;
5787
5788
7675.395.118 by Stuart Bishop
New database baseline from production
5789
CREATE SEQUENCE binarypackagepublishinghistory_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5790
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
5791
    INCREMENT BY 1
5792
    NO MAXVALUE
5793
    NO MINVALUE
5794
    CACHE 1;
5795
7675.1121.53 by Stuart Bishop
New baseline
5796
7675.395.118 by Stuart Bishop
New database baseline from production
5797
ALTER SEQUENCE binarypackagepublishinghistory_id_seq OWNED BY binarypackagepublishinghistory.id;
5529.1.3 by Stuart Bishop
New database schema baseline
5798
7675.1121.53 by Stuart Bishop
New baseline
5799
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5800
CREATE SEQUENCE binarypackagerelease_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5801
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5802
    INCREMENT BY 1
5803
    NO MAXVALUE
5804
    NO MINVALUE
5805
    CACHE 1;
5806
7675.1121.53 by Stuart Bishop
New baseline
5807
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5808
ALTER SEQUENCE binarypackagerelease_id_seq OWNED BY binarypackagerelease.id;
5809
7675.1121.53 by Stuart Bishop
New baseline
5810
5811
CREATE TABLE binarypackagereleasecontents (
5812
    binarypackagerelease integer NOT NULL,
5813
    binarypackagepath integer NOT NULL
5814
);
5815
5816
7675.395.118 by Stuart Bishop
New database baseline from production
5817
CREATE TABLE binarypackagereleasedownloadcount (
5818
    id integer NOT NULL,
5819
    archive integer NOT NULL,
5820
    binary_package_release integer NOT NULL,
5821
    day date NOT NULL,
5822
    country integer,
5823
    count integer NOT NULL
5824
);
5825
7675.1121.53 by Stuart Bishop
New baseline
5826
7675.395.118 by Stuart Bishop
New database baseline from production
5827
CREATE SEQUENCE binarypackagereleasedownloadcount_id_seq
5828
    START WITH 1
5829
    INCREMENT BY 1
5830
    NO MAXVALUE
5831
    NO MINVALUE
5832
    CACHE 1;
5833
7675.1121.53 by Stuart Bishop
New baseline
5834
7675.395.118 by Stuart Bishop
New database baseline from production
5835
ALTER SEQUENCE binarypackagereleasedownloadcount_id_seq OWNED BY binarypackagereleasedownloadcount.id;
5836
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5837
3691.17.3 by Stuart Bishop
New database baseline
5838
CREATE TABLE branch (
4212.1.1 by Stuart Bishop
New database baseline
5839
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5840
    title text,
5841
    summary text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5842
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
5843
    product integer,
5844
    author integer,
5845
    name text NOT NULL,
5846
    home_page text,
5847
    url text,
5848
    whiteboard text,
5849
    lifecycle_status integer DEFAULT 1 NOT NULL,
5850
    last_mirrored timestamp without time zone,
5851
    last_mirror_attempt timestamp without time zone,
5852
    mirror_failures integer DEFAULT 0 NOT NULL,
5853
    mirror_status_message text,
5854
    last_scanned timestamp without time zone,
5855
    last_scanned_id text,
5856
    last_mirrored_id text,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
5857
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5858
    revision_count integer DEFAULT 0 NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5859
    next_mirror_time timestamp without time zone,
4990.1.1 by Stuart Bishop
New database baseline
5860
    private boolean DEFAULT false NOT NULL,
5861
    branch_type integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
5862
    reviewer integer,
5863
    date_last_modified timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
5864
    registrant integer NOT NULL,
5865
    branch_format integer,
5866
    repository_format integer,
5867
    metadir_format integer,
5868
    stacked_on integer,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5869
    distroseries integer,
5870
    sourcepackagename integer,
5871
    owner_name text NOT NULL,
5872
    target_suffix text,
5873
    unique_name text,
5874
    size_on_disk bigint,
7675.1121.53 by Stuart Bishop
New baseline
5875
    merge_queue integer,
5876
    merge_queue_config text,
5877
    transitively_private boolean DEFAULT true NOT NULL,
5878
    access_policy integer,
4990.1.1 by Stuart Bishop
New database baseline
5879
    CONSTRAINT branch_type_url_consistent CHECK (((((branch_type = 2) AND (url IS NOT NULL)) OR ((branch_type = ANY (ARRAY[1, 3])) AND (url IS NULL))) OR (branch_type = 4))),
3691.17.3 by Stuart Bishop
New database baseline
5880
    CONSTRAINT branch_url_no_trailing_slash CHECK ((url !~~ '%/'::text)),
5881
    CONSTRAINT branch_url_not_supermirror CHECK ((url !~~ 'http://bazaar.launchpad.net/%'::text)),
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5882
    CONSTRAINT one_container CHECK ((((distroseries IS NULL) = (sourcepackagename IS NULL)) AND ((distroseries IS NULL) OR (product IS NULL)))),
3691.17.3 by Stuart Bishop
New database baseline
5883
    CONSTRAINT valid_home_page CHECK (valid_absolute_url(home_page)),
5884
    CONSTRAINT valid_name CHECK (valid_branch_name(name)),
5885
    CONSTRAINT valid_url CHECK (valid_absolute_url(url))
5886
);
5887
7675.1121.53 by Stuart Bishop
New baseline
5888
5889
COMMENT ON TABLE branch IS 'Bzr branch';
5890
5891
5892
COMMENT ON COLUMN branch.summary IS 'A single paragraph description of the branch';
5893
5894
5895
COMMENT ON COLUMN branch.home_page IS 'This column is deprecated and to be removed soon.';
5896
5897
5898
COMMENT ON COLUMN branch.whiteboard IS 'Notes on the current status of the branch';
5899
5900
5901
COMMENT ON COLUMN branch.lifecycle_status IS 'Authors assesment of the branchs maturity';
5902
5903
5904
COMMENT ON COLUMN branch.last_mirrored IS 'The time when the branch was last mirrored.';
5905
5906
5907
COMMENT ON COLUMN branch.mirror_status_message IS 'The last message we got when mirroring this branch.';
5908
5909
5910
COMMENT ON COLUMN branch.last_scanned IS 'The time when the branch was last scanned.';
5911
5912
5913
COMMENT ON COLUMN branch.last_scanned_id IS 'The revision ID of the branch when it was last scanned.';
5914
5915
5916
COMMENT ON COLUMN branch.last_mirrored_id IS 'The revision ID of the branch when it was last mirrored.';
5917
5918
5919
COMMENT ON COLUMN branch.revision_count IS 'The number of revisions in the associated bazaar branch revision_history.';
5920
5921
5922
COMMENT ON COLUMN branch.next_mirror_time IS 'The time when we will next mirror this branch (NULL means never). This will be set automatically by pushing to a hosted branch, which, once mirrored, will be set back to NULL.';
5923
5924
5925
COMMENT ON COLUMN branch.private IS 'If the branch is private, then only the owner and subscribers of the branch can see it.';
5926
5927
5928
COMMENT ON COLUMN branch.branch_type IS 'Branches are currently one of HOSTED (1), MIRRORED (2), or IMPORTED (3).';
5929
5930
5931
COMMENT ON COLUMN branch.reviewer IS 'The reviewer (person or) team are able to transition merge proposals targetted at the branch throught the CODE_APPROVED state.';
5932
5933
5934
COMMENT ON COLUMN branch.date_last_modified IS 'A branch is modified any time a user updates something using a view, a new revision for the branch is scanned, or the branch is linked to a bug, blueprint or merge proposal.';
5935
5936
5937
COMMENT ON COLUMN branch.registrant IS 'The user that registered the branch.';
5938
5939
5940
COMMENT ON COLUMN branch.branch_format IS 'The bzr branch format';
5941
5942
5943
COMMENT ON COLUMN branch.repository_format IS 'The bzr repository format';
5944
5945
5946
COMMENT ON COLUMN branch.metadir_format IS 'The bzr metadir format';
5947
5948
5949
COMMENT ON COLUMN branch.stacked_on IS 'The Launchpad branch that this branch is stacked on (if any).';
5950
5951
5952
COMMENT ON COLUMN branch.distroseries IS 'The distribution series that the branch belongs to.';
5953
5954
5955
COMMENT ON COLUMN branch.sourcepackagename IS 'The source package this is a branch of.';
5956
5957
5958
COMMENT ON COLUMN branch.size_on_disk IS 'The size in bytes of this branch in the mirrored area.';
5959
5960
5961
COMMENT ON COLUMN branch.merge_queue IS 'A reference to the BranchMergeQueue record that manages merges.';
5962
5963
5964
COMMENT ON COLUMN branch.merge_queue_config IS 'A JSON string of configuration values that can be read by a merge queue script.';
5965
5966
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5967
CREATE SEQUENCE branch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
5968
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5969
    INCREMENT BY 1
5970
    NO MAXVALUE
5971
    NO MINVALUE
5972
    CACHE 1;
5973
7675.1121.53 by Stuart Bishop
New baseline
5974
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5975
ALTER SEQUENCE branch_id_seq OWNED BY branch.id;
5976
7675.1121.53 by Stuart Bishop
New baseline
5977
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
5978
CREATE TABLE branchjob (
5979
    id integer NOT NULL,
5980
    job integer NOT NULL,
5981
    branch integer,
5982
    job_type integer NOT NULL,
5983
    json_data text
5984
);
5985
7675.1121.53 by Stuart Bishop
New baseline
5986
5987
COMMENT ON TABLE branchjob IS 'Contains references to jobs that are executed for a branch.';
5988
5989
5990
COMMENT ON COLUMN branchjob.job IS 'A reference to a row in the Job table that has all the common job details.';
5991
5992
5993
COMMENT ON COLUMN branchjob.branch IS 'The branch that this job is for.';
5994
5995
5996
COMMENT ON COLUMN branchjob.job_type IS 'The type of job, like new revisions, or attribute change.';
5997
5998
5999
COMMENT ON COLUMN branchjob.json_data IS 'Data that is specific to the type of job, whether this be the revisions to send email out for, or the changes that were recorded for the branch.';
6000
6001
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6002
CREATE SEQUENCE branchjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6003
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6004
    INCREMENT BY 1
6005
    NO MAXVALUE
6006
    NO MINVALUE
6007
    CACHE 1;
6008
7675.1121.53 by Stuart Bishop
New baseline
6009
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6010
ALTER SEQUENCE branchjob_id_seq OWNED BY branchjob.id;
6011
7675.1121.53 by Stuart Bishop
New baseline
6012
4990.1.1 by Stuart Bishop
New database baseline
6013
CREATE TABLE branchmergeproposal (
4212.1.1 by Stuart Bishop
New database baseline
6014
    id integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
6015
    registrant integer NOT NULL,
6016
    source_branch integer NOT NULL,
6017
    target_branch integer NOT NULL,
6018
    dependent_branch integer,
6019
    whiteboard text,
6020
    date_merged timestamp without time zone,
6021
    merged_revno integer,
6022
    merge_reporter integer,
6023
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
6024
    commit_message text,
6025
    queue_position integer,
6026
    queue_status integer DEFAULT 1 NOT NULL,
6027
    date_review_requested timestamp without time zone,
6028
    reviewer integer,
6029
    date_reviewed timestamp without time zone,
6030
    reviewed_revision_id text,
6031
    queuer integer,
6032
    date_queued timestamp without time zone,
6033
    queued_revision_id text,
6034
    merger integer,
6035
    merged_revision_id text,
6036
    date_merge_started timestamp without time zone,
6037
    date_merge_finished timestamp without time zone,
6038
    merge_log_file integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6039
    superseded_by integer,
6040
    root_message_id text,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6041
    merge_diff integer,
7675.395.118 by Stuart Bishop
New database baseline from production
6042
    description text,
4990.1.1 by Stuart Bishop
New database baseline
6043
    CONSTRAINT different_branches CHECK ((((source_branch <> target_branch) AND (dependent_branch <> source_branch)) AND (dependent_branch <> target_branch))),
6044
    CONSTRAINT positive_revno CHECK (((merged_revno IS NULL) OR (merged_revno > 0)))
3691.17.3 by Stuart Bishop
New database baseline
6045
);
6046
7675.1121.53 by Stuart Bishop
New baseline
6047
6048
COMMENT ON TABLE branchmergeproposal IS 'Branch merge proposals record the intent of landing (or merging) one branch on another.';
6049
6050
6051
COMMENT ON COLUMN branchmergeproposal.registrant IS 'The person that created the merge proposal.';
6052
6053
6054
COMMENT ON COLUMN branchmergeproposal.source_branch IS 'The branch where the work is being written.  This branch contains the changes that the registrant wants to land.';
6055
6056
6057
COMMENT ON COLUMN branchmergeproposal.target_branch IS 'The branch where the user wants the changes from the source branch to be merged into.';
6058
6059
6060
COMMENT ON COLUMN branchmergeproposal.dependent_branch IS 'If the source branch was not branched off the target branch, then this is considered the dependent_branch.';
6061
6062
6063
COMMENT ON COLUMN branchmergeproposal.whiteboard IS 'Used to write other information about the branch, like test URLs.';
6064
6065
6066
COMMENT ON COLUMN branchmergeproposal.date_merged IS 'This is the date that merge occurred.';
6067
6068
6069
COMMENT ON COLUMN branchmergeproposal.merged_revno IS 'This is the revision number of the revision on the target branch that includes the merge from the source branch.';
6070
6071
6072
COMMENT ON COLUMN branchmergeproposal.merge_reporter IS 'This is the user that marked the proposal as merged.';
6073
6074
6075
COMMENT ON COLUMN branchmergeproposal.date_created IS 'When the registrant created the merge proposal.';
6076
6077
6078
COMMENT ON COLUMN branchmergeproposal.commit_message IS 'This is the commit message that is to be used when the branch is landed by a robot.';
6079
6080
6081
COMMENT ON COLUMN branchmergeproposal.queue_position IS 'The position on the merge proposal in the overall landing queue.  If the branch has a merge_robot set and the merge robot controls multiple branches then the queue position is unique over all the queued merge proposals for the landing robot.';
6082
6083
6084
COMMENT ON COLUMN branchmergeproposal.queue_status IS 'This is the current state of the merge proposal.';
6085
6086
6087
COMMENT ON COLUMN branchmergeproposal.date_review_requested IS 'The date that the merge proposal enters the REVIEW_REQUESTED state. This is stored so that we can determine how long a branch has been waiting for code approval.';
6088
6089
6090
COMMENT ON COLUMN branchmergeproposal.reviewer IS 'The individual who said that the code in this branch is OK to land.';
6091
6092
6093
COMMENT ON COLUMN branchmergeproposal.date_reviewed IS 'When the reviewer said the code is OK to land.';
6094
6095
6096
COMMENT ON COLUMN branchmergeproposal.reviewed_revision_id IS 'The Bazaar revision ID that was approved to land.';
6097
6098
6099
COMMENT ON COLUMN branchmergeproposal.queuer IS 'The individual who submitted the branch to the merge queue. This is usually the merge proposal registrant.';
6100
6101
6102
COMMENT ON COLUMN branchmergeproposal.date_queued IS 'When the queuer submitted the branch to the merge queue.';
6103
6104
6105
COMMENT ON COLUMN branchmergeproposal.queued_revision_id IS 'The Bazaar revision ID that is queued to land.';
6106
6107
6108
COMMENT ON COLUMN branchmergeproposal.merger IS 'The merger is the person who merged the branch.';
6109
6110
6111
COMMENT ON COLUMN branchmergeproposal.merged_revision_id IS 'The Bazaar revision ID that was actually merged.  If the owner of the source branch is a trusted person, this may be different than the revision_id that was actually queued or reviewed.';
6112
6113
6114
COMMENT ON COLUMN branchmergeproposal.date_merge_started IS 'If the merge is performed by a bot the time the merge was started is recorded otherwise it is NULL.';
6115
6116
6117
COMMENT ON COLUMN branchmergeproposal.date_merge_finished IS 'If the merge is performed by a bot the time the merge was finished is recorded otherwise it is NULL.';
6118
6119
6120
COMMENT ON COLUMN branchmergeproposal.merge_log_file IS 'If the merge is performed by a bot the log file is accessible from the librarian.';
6121
6122
6123
COMMENT ON COLUMN branchmergeproposal.superseded_by IS 'The proposal to merge has been superceded by this one.';
6124
6125
6126
COMMENT ON COLUMN branchmergeproposal.root_message_id IS 'The root message of this BranchMergeProposal''s mail thread.';
6127
6128
6129
COMMENT ON COLUMN branchmergeproposal.merge_diff IS 'The diff showing the predicted result of a merge.';
6130
6131
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6132
CREATE SEQUENCE branchmergeproposal_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6133
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6134
    INCREMENT BY 1
6135
    NO MAXVALUE
6136
    NO MINVALUE
6137
    CACHE 1;
6138
7675.1121.53 by Stuart Bishop
New baseline
6139
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6140
ALTER SEQUENCE branchmergeproposal_id_seq OWNED BY branchmergeproposal.id;
6141
7675.1121.53 by Stuart Bishop
New baseline
6142
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6143
CREATE TABLE branchmergeproposaljob (
6144
    id integer NOT NULL,
6145
    job integer NOT NULL,
6146
    branch_merge_proposal integer NOT NULL,
6147
    job_type integer NOT NULL,
6148
    json_data text
6149
);
6150
7675.1121.53 by Stuart Bishop
New baseline
6151
6152
COMMENT ON TABLE branchmergeproposaljob IS 'Contains references to jobs that are executed for a branch merge proposal.';
6153
6154
6155
COMMENT ON COLUMN branchmergeproposaljob.job IS 'A reference to a row in the Job table that has all the common job details.';
6156
6157
6158
COMMENT ON COLUMN branchmergeproposaljob.branch_merge_proposal IS 'The branch merge proposal that this job is for.';
6159
6160
6161
COMMENT ON COLUMN branchmergeproposaljob.job_type IS 'The type of job, like new proposal, review comment, or new review requested.';
6162
6163
6164
COMMENT ON COLUMN branchmergeproposaljob.json_data IS 'Data that is specific to the type of job, normally references to code review messages and or votes.';
6165
6166
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6167
CREATE SEQUENCE branchmergeproposaljob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6168
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6169
    INCREMENT BY 1
6170
    NO MAXVALUE
6171
    NO MINVALUE
6172
    CACHE 1;
6173
7675.1121.53 by Stuart Bishop
New baseline
6174
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6175
ALTER SEQUENCE branchmergeproposaljob_id_seq OWNED BY branchmergeproposaljob.id;
6176
7675.1121.53 by Stuart Bishop
New baseline
6177
6178
CREATE TABLE branchmergequeue (
5529.1.3 by Stuart Bishop
New database schema baseline
6179
    id integer NOT NULL,
6180
    registrant integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6181
    owner integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
6182
    name text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
6183
    description text,
6184
    configuration text,
6185
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
6186
    CONSTRAINT valid_name CHECK (valid_name(name))
5529.1.3 by Stuart Bishop
New database schema baseline
6187
);
6188
7675.1121.53 by Stuart Bishop
New baseline
6189
6190
COMMENT ON TABLE branchmergequeue IS 'Queue for managing the merge workflow for branches.';
6191
6192
6193
COMMENT ON COLUMN branchmergequeue.id IS 'The id of the merge queue.';
6194
6195
6196
COMMENT ON COLUMN branchmergequeue.registrant IS 'A reference to the person who created the merge queue.';
6197
6198
6199
COMMENT ON COLUMN branchmergequeue.owner IS 'A reference to the person who owns the merge queue.';
6200
6201
6202
COMMENT ON COLUMN branchmergequeue.name IS 'The name of the queue.';
6203
6204
6205
COMMENT ON COLUMN branchmergequeue.description IS 'A description of the queue.';
6206
6207
6208
COMMENT ON COLUMN branchmergequeue.configuration IS 'A JSON string of configuration data to be read by the merging script.';
6209
6210
6211
COMMENT ON COLUMN branchmergequeue.date_created IS 'The date the queue was created.';
6212
6213
6214
CREATE SEQUENCE branchmergequeue_id_seq
6215
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6216
    INCREMENT BY 1
6217
    NO MAXVALUE
6218
    NO MINVALUE
6219
    CACHE 1;
6220
7675.1121.53 by Stuart Bishop
New baseline
6221
6222
ALTER SEQUENCE branchmergequeue_id_seq OWNED BY branchmergequeue.id;
6223
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6224
4212.1.1 by Stuart Bishop
New database baseline
6225
CREATE TABLE branchrevision (
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6226
    sequence integer,
4212.1.1 by Stuart Bishop
New database baseline
6227
    branch integer NOT NULL,
6228
    revision integer NOT NULL
7675.1121.53 by Stuart Bishop
New baseline
6229
)
6230
WITH (fillfactor=100);
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6231
ALTER TABLE ONLY branchrevision ALTER COLUMN branch SET STATISTICS 500;
6232
ALTER TABLE ONLY branchrevision ALTER COLUMN revision SET STATISTICS 500;
6233
4212.1.1 by Stuart Bishop
New database baseline
6234
3691.17.3 by Stuart Bishop
New database baseline
6235
CREATE TABLE branchsubscription (
4212.1.1 by Stuart Bishop
New database baseline
6236
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6237
    person integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6238
    branch integer NOT NULL,
6239
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
6240
    notification_level integer DEFAULT 1 NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6241
    max_diff_lines integer,
7675.395.118 by Stuart Bishop
New database baseline from production
6242
    review_level integer DEFAULT 0 NOT NULL,
6243
    subscribed_by integer NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
6244
);
6245
7675.1121.53 by Stuart Bishop
New baseline
6246
6247
COMMENT ON TABLE branchsubscription IS 'An association between a person or team and a bazaar branch.';
6248
6249
6250
COMMENT ON COLUMN branchsubscription.person IS 'The person or team associated with the branch.';
6251
6252
6253
COMMENT ON COLUMN branchsubscription.branch IS 'The branch associated with the person or team.';
6254
6255
6256
COMMENT ON COLUMN branchsubscription.notification_level IS 'The level of email the person wants to receive from branch updates.';
6257
6258
6259
COMMENT ON COLUMN branchsubscription.max_diff_lines IS 'If the generated diff for a revision is larger than this number, then the diff is not sent in the notification email.';
6260
6261
6262
COMMENT ON COLUMN branchsubscription.review_level IS 'The level of email the person wants to receive from review activity';
6263
6264
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6265
CREATE SEQUENCE branchsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6266
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6267
    INCREMENT BY 1
6268
    NO MAXVALUE
6269
    NO MINVALUE
6270
    CACHE 1;
6271
7675.1121.53 by Stuart Bishop
New baseline
6272
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6273
ALTER SEQUENCE branchsubscription_id_seq OWNED BY branchsubscription.id;
6274
7675.1121.53 by Stuart Bishop
New baseline
6275
4990.1.1 by Stuart Bishop
New database baseline
6276
CREATE TABLE branchvisibilitypolicy (
6277
    id integer NOT NULL,
6278
    project integer,
6279
    product integer,
6280
    team integer,
6281
    policy integer DEFAULT 1 NOT NULL,
6282
    CONSTRAINT only_one_target CHECK (((project IS NULL) <> (product IS NULL)))
6283
);
6284
7675.1121.53 by Stuart Bishop
New baseline
6285
6286
COMMENT ON TABLE branchvisibilitypolicy IS 'Defines the policy for the initial visibility of branches.';
6287
6288
6289
COMMENT ON COLUMN branchvisibilitypolicy.project IS 'Even though projects don''t directly have branches themselves, if a product of the project does not specify its own branch visibility policies, those of the project are used.';
6290
6291
6292
COMMENT ON COLUMN branchvisibilitypolicy.product IS 'The product that the visibility policies apply to.';
6293
6294
6295
COMMENT ON COLUMN branchvisibilitypolicy.team IS 'Refers to the team that the policy applies to.  NULL is used to indicate ALL people, as there is no team defined for *everybody*.';
6296
6297
6298
COMMENT ON COLUMN branchvisibilitypolicy.policy IS 'An enumerated type, one of PUBLIC or PRIVATE.  PUBLIC is the default value.';
6299
6300
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6301
CREATE SEQUENCE branchvisibilitypolicy_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6302
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6303
    INCREMENT BY 1
6304
    NO MAXVALUE
6305
    NO MINVALUE
6306
    CACHE 1;
6307
7675.1121.53 by Stuart Bishop
New baseline
6308
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6309
ALTER SEQUENCE branchvisibilitypolicy_id_seq OWNED BY branchvisibilitypolicy.id;
6310
3691.17.3 by Stuart Bishop
New database baseline
6311
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6312
CREATE SEQUENCE bug_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6313
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6314
    INCREMENT BY 1
6315
    NO MAXVALUE
6316
    NO MINVALUE
6317
    CACHE 1;
6318
7675.1121.53 by Stuart Bishop
New baseline
6319
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6320
ALTER SEQUENCE bug_id_seq OWNED BY bug.id;
6321
7675.1121.53 by Stuart Bishop
New baseline
6322
3691.17.3 by Stuart Bishop
New database baseline
6323
CREATE TABLE bugactivity (
4212.1.1 by Stuart Bishop
New database baseline
6324
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6325
    bug integer NOT NULL,
6326
    datechanged timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
6327
    person integer NOT NULL,
6328
    whatchanged text NOT NULL,
6329
    oldvalue text,
6330
    newvalue text,
6331
    message text
7675.1121.53 by Stuart Bishop
New baseline
6332
)
6333
WITH (fillfactor=100);
6334
3691.17.3 by Stuart Bishop
New database baseline
6335
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6336
CREATE SEQUENCE bugactivity_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6337
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6338
    INCREMENT BY 1
6339
    NO MAXVALUE
6340
    NO MINVALUE
6341
    CACHE 1;
6342
7675.1121.53 by Stuart Bishop
New baseline
6343
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6344
ALTER SEQUENCE bugactivity_id_seq OWNED BY bugactivity.id;
6345
7675.1121.53 by Stuart Bishop
New baseline
6346
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6347
CREATE TABLE bugaffectsperson (
6348
    id integer NOT NULL,
6349
    bug integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6350
    person integer NOT NULL,
6351
    affected boolean DEFAULT true NOT NULL
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6352
);
4212.1.1 by Stuart Bishop
New database baseline
6353
7675.1121.53 by Stuart Bishop
New baseline
6354
6355
COMMENT ON TABLE bugaffectsperson IS 'This table maintains a mapping between bugs and users indicating that they are affected by that bug. The value is calculated and cached in the Bug.users_affected_count column.';
6356
6357
6358
COMMENT ON COLUMN bugaffectsperson.bug IS 'The bug affecting this person.';
6359
6360
6361
COMMENT ON COLUMN bugaffectsperson.person IS 'The person affected by this bug.';
6362
6363
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6364
CREATE SEQUENCE bugaffectsperson_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6365
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6366
    INCREMENT BY 1
6367
    NO MAXVALUE
6368
    NO MINVALUE
6369
    CACHE 1;
6370
7675.1121.53 by Stuart Bishop
New baseline
6371
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6372
ALTER SEQUENCE bugaffectsperson_id_seq OWNED BY bugaffectsperson.id;
6373
7675.1121.53 by Stuart Bishop
New baseline
6374
3691.17.3 by Stuart Bishop
New database baseline
6375
CREATE TABLE bugattachment (
4212.1.1 by Stuart Bishop
New database baseline
6376
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6377
    message integer NOT NULL,
6378
    name text,
6379
    title text,
6380
    libraryfile integer NOT NULL,
6381
    bug integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6382
    type integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6383
    CONSTRAINT valid_name CHECK (valid_name(name))
6384
);
6385
7675.1121.53 by Stuart Bishop
New baseline
6386
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6387
CREATE SEQUENCE bugattachment_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6388
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6389
    INCREMENT BY 1
6390
    NO MAXVALUE
6391
    NO MINVALUE
6392
    CACHE 1;
6393
7675.1121.53 by Stuart Bishop
New baseline
6394
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6395
ALTER SEQUENCE bugattachment_id_seq OWNED BY bugattachment.id;
6396
7675.1121.53 by Stuart Bishop
New baseline
6397
3691.17.3 by Stuart Bishop
New database baseline
6398
CREATE TABLE bugbranch (
4212.1.1 by Stuart Bishop
New database baseline
6399
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6400
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
6401
    bug integer NOT NULL,
6402
    branch integer NOT NULL,
6403
    revision_hint integer,
5529.1.3 by Stuart Bishop
New database schema baseline
6404
    whiteboard text,
6405
    registrant integer NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
6406
);
6407
7675.1121.53 by Stuart Bishop
New baseline
6408
6409
COMMENT ON TABLE bugbranch IS 'A branch related to a bug, most likely a branch for fixing the bug.';
6410
6411
6412
COMMENT ON COLUMN bugbranch.bug IS 'The bug associated with this branch.';
6413
6414
6415
COMMENT ON COLUMN bugbranch.branch IS 'The branch associated to the bug.';
6416
6417
6418
COMMENT ON COLUMN bugbranch.revision_hint IS 'An optional revision at which this branch became interesting to this bug, and/or may contain a fix for the bug.';
6419
6420
6421
COMMENT ON COLUMN bugbranch.whiteboard IS 'Additional information about the status of the bugfix in this branch.';
6422
6423
6424
COMMENT ON COLUMN bugbranch.registrant IS 'The person who linked the bug to the branch.';
6425
6426
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6427
CREATE SEQUENCE bugbranch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6428
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6429
    INCREMENT BY 1
6430
    NO MAXVALUE
6431
    NO MINVALUE
6432
    CACHE 1;
6433
7675.1121.53 by Stuart Bishop
New baseline
6434
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6435
ALTER SEQUENCE bugbranch_id_seq OWNED BY bugbranch.id;
6436
7675.1121.53 by Stuart Bishop
New baseline
6437
3691.17.3 by Stuart Bishop
New database baseline
6438
CREATE TABLE bugcve (
4212.1.1 by Stuart Bishop
New database baseline
6439
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6440
    bug integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6441
    cve integer NOT NULL,
6442
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
6443
);
6444
7675.1121.53 by Stuart Bishop
New baseline
6445
6446
COMMENT ON TABLE bugcve IS 'A table that records the link between a given malone bug number, and a CVE entry.';
6447
6448
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6449
CREATE SEQUENCE bugcve_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6450
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6451
    INCREMENT BY 1
6452
    NO MAXVALUE
6453
    NO MINVALUE
6454
    CACHE 1;
6455
7675.1121.53 by Stuart Bishop
New baseline
6456
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6457
ALTER SEQUENCE bugcve_id_seq OWNED BY bugcve.id;
6458
7675.1121.53 by Stuart Bishop
New baseline
6459
7675.395.118 by Stuart Bishop
New database baseline from production
6460
CREATE TABLE bugjob (
6461
    id integer NOT NULL,
6462
    job integer NOT NULL,
6463
    bug integer NOT NULL,
6464
    job_type integer NOT NULL,
6465
    json_data text
6466
);
6467
7675.1121.53 by Stuart Bishop
New baseline
6468
6469
COMMENT ON TABLE bugjob IS 'Contains references to jobs to be run against Bugs.';
6470
6471
6472
COMMENT ON COLUMN bugjob.bug IS 'The bug on which the job is to be run.';
6473
6474
6475
COMMENT ON COLUMN bugjob.job_type IS 'The type of job (enumeration value). Allows us to query the database for a given subset of BugJobs.';
6476
6477
6478
COMMENT ON COLUMN bugjob.json_data IS 'A JSON struct containing data for the job.';
6479
6480
7675.395.118 by Stuart Bishop
New database baseline from production
6481
CREATE SEQUENCE bugjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6482
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
6483
    INCREMENT BY 1
6484
    NO MAXVALUE
6485
    NO MINVALUE
6486
    CACHE 1;
6487
7675.1121.53 by Stuart Bishop
New baseline
6488
7675.395.118 by Stuart Bishop
New database baseline from production
6489
ALTER SEQUENCE bugjob_id_seq OWNED BY bugjob.id;
6490
7675.1121.53 by Stuart Bishop
New baseline
6491
3691.17.3 by Stuart Bishop
New database baseline
6492
CREATE TABLE bugmessage (
4212.1.1 by Stuart Bishop
New database baseline
6493
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6494
    bug integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
6495
    message integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6496
    bugwatch integer,
6497
    remote_comment_id text,
7675.1121.53 by Stuart Bishop
New baseline
6498
    index integer NOT NULL,
6499
    owner integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6500
    CONSTRAINT imported_comment CHECK (((remote_comment_id IS NULL) OR (bugwatch IS NOT NULL)))
3691.17.3 by Stuart Bishop
New database baseline
6501
);
6502
7675.1121.53 by Stuart Bishop
New baseline
6503
6504
COMMENT ON TABLE bugmessage IS 'This table maps a message to a bug. In other words, it shows that a particular message is associated with a particular bug.';
6505
6506
6507
COMMENT ON COLUMN bugmessage.bugwatch IS 'The external bug this bug comment was imported from.';
6508
6509
6510
COMMENT ON COLUMN bugmessage.remote_comment_id IS 'The id this bug comment has in the external bug tracker, if it is an imported comment. If it is NULL while having a bugwatch set, this comment was added in Launchpad and needs to be pushed to the external bug tracker.';
6511
6512
6513
COMMENT ON COLUMN bugmessage.index IS 'The index (used in urls) of the message in a particular bug.';
6514
6515
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6516
CREATE SEQUENCE bugmessage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6517
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6518
    INCREMENT BY 1
6519
    NO MAXVALUE
6520
    NO MINVALUE
6521
    CACHE 1;
6522
7675.1121.53 by Stuart Bishop
New baseline
6523
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6524
ALTER SEQUENCE bugmessage_id_seq OWNED BY bugmessage.id;
6525
7675.1121.53 by Stuart Bishop
New baseline
6526
6527
CREATE TABLE bugmute (
6528
    person integer NOT NULL,
6529
    bug integer NOT NULL,
6530
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
6531
);
6532
6533
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6534
CREATE TABLE bugnomination (
4212.1.1 by Stuart Bishop
New database baseline
6535
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6536
    bug integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
6537
    distroseries integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6538
    productseries integer,
6539
    status integer NOT NULL,
6540
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()),
6541
    date_decided timestamp without time zone,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6542
    owner integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6543
    decider integer,
6544
    CONSTRAINT distroseries_or_productseries CHECK (((distroseries IS NULL) <> (productseries IS NULL)))
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6545
);
6546
7675.1121.53 by Stuart Bishop
New baseline
6547
6548
COMMENT ON TABLE bugnomination IS 'A bug nominated for fixing in a distroseries or productseries';
6549
6550
6551
COMMENT ON COLUMN bugnomination.bug IS 'The bug being nominated.';
6552
6553
6554
COMMENT ON COLUMN bugnomination.distroseries IS 'The distroseries for which the bug is nominated.';
6555
6556
6557
COMMENT ON COLUMN bugnomination.productseries IS 'The productseries for which the bug is nominated.';
6558
6559
6560
COMMENT ON COLUMN bugnomination.status IS 'The status of the nomination.';
6561
6562
6563
COMMENT ON COLUMN bugnomination.date_created IS 'The date the nomination was submitted.';
6564
6565
6566
COMMENT ON COLUMN bugnomination.date_decided IS 'The date the nomination was approved or declined.';
6567
6568
6569
COMMENT ON COLUMN bugnomination.owner IS 'The person that submitted the nomination';
6570
6571
6572
COMMENT ON COLUMN bugnomination.decider IS 'The person who approved or declined the nomination';
6573
6574
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6575
CREATE SEQUENCE bugnomination_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6576
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6577
    INCREMENT BY 1
6578
    NO MAXVALUE
6579
    NO MINVALUE
6580
    CACHE 1;
6581
7675.1121.53 by Stuart Bishop
New baseline
6582
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6583
ALTER SEQUENCE bugnomination_id_seq OWNED BY bugnomination.id;
6584
7675.1121.53 by Stuart Bishop
New baseline
6585
3691.17.3 by Stuart Bishop
New database baseline
6586
CREATE TABLE bugnotification (
4212.1.1 by Stuart Bishop
New database baseline
6587
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6588
    bug integer NOT NULL,
6589
    message integer NOT NULL,
6590
    is_comment boolean NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
6591
    date_emailed timestamp without time zone,
6592
    status integer DEFAULT 10 NOT NULL,
6593
    activity integer
3691.17.3 by Stuart Bishop
New database baseline
6594
);
6595
7675.1121.53 by Stuart Bishop
New baseline
6596
6597
COMMENT ON TABLE bugnotification IS 'The text representation of changes to a bug, which are used to send email notifications to bug changes.';
6598
6599
6600
COMMENT ON COLUMN bugnotification.bug IS 'The bug that was changed.';
6601
6602
6603
COMMENT ON COLUMN bugnotification.message IS 'The message the contains the textual representation of the change.';
6604
6605
6606
COMMENT ON COLUMN bugnotification.is_comment IS 'Is the change a comment addition.';
6607
6608
6609
COMMENT ON COLUMN bugnotification.date_emailed IS 'When this notification was emailed to the bug subscribers.';
6610
6611
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6612
CREATE SEQUENCE bugnotification_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6613
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6614
    INCREMENT BY 1
6615
    NO MAXVALUE
6616
    NO MINVALUE
6617
    CACHE 1;
6618
7675.1121.53 by Stuart Bishop
New baseline
6619
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6620
ALTER SEQUENCE bugnotification_id_seq OWNED BY bugnotification.id;
6621
7675.1121.53 by Stuart Bishop
New baseline
6622
7675.395.118 by Stuart Bishop
New database baseline from production
6623
CREATE TABLE bugnotificationarchive (
6624
    id integer NOT NULL,
6625
    bug integer,
6626
    message integer,
6627
    is_comment boolean,
6628
    date_emailed timestamp without time zone
6629
);
6630
7675.1121.53 by Stuart Bishop
New baseline
6631
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6632
CREATE TABLE bugnotificationattachment (
6633
    id integer NOT NULL,
6634
    message integer NOT NULL,
6635
    bug_notification integer NOT NULL
6636
);
6637
7675.1121.53 by Stuart Bishop
New baseline
6638
6639
COMMENT ON TABLE bugnotificationattachment IS 'Attachments to be attached to a bug notification.';
6640
6641
6642
COMMENT ON COLUMN bugnotificationattachment.message IS 'A message to be attached to the sent bug notification. It will be attached as a mime/multipart part, with a content type of message/rfc822.';
6643
6644
6645
COMMENT ON COLUMN bugnotificationattachment.bug_notification IS 'The bug notification, to which things should be attached to.';
6646
6647
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6648
CREATE SEQUENCE bugnotificationattachment_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6649
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6650
    INCREMENT BY 1
6651
    NO MAXVALUE
6652
    NO MINVALUE
6653
    CACHE 1;
6654
7675.1121.53 by Stuart Bishop
New baseline
6655
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6656
ALTER SEQUENCE bugnotificationattachment_id_seq OWNED BY bugnotificationattachment.id;
6657
7675.1121.53 by Stuart Bishop
New baseline
6658
6659
CREATE TABLE bugnotificationfilter (
6660
    bug_notification integer NOT NULL,
6661
    bug_subscription_filter integer NOT NULL
6662
);
6663
6664
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6665
CREATE TABLE bugnotificationrecipient (
6666
    id integer NOT NULL,
6667
    bug_notification integer NOT NULL,
6668
    person integer NOT NULL,
6669
    reason_header text NOT NULL,
6670
    reason_body text NOT NULL
6671
);
4212.1.1 by Stuart Bishop
New database baseline
6672
7675.1121.53 by Stuart Bishop
New baseline
6673
6674
COMMENT ON TABLE bugnotificationrecipient IS 'The recipient for a bug notification.';
6675
6676
6677
COMMENT ON COLUMN bugnotificationrecipient.bug_notification IS 'The notification this recipient should get.';
6678
6679
6680
COMMENT ON COLUMN bugnotificationrecipient.person IS 'The person who should receive this notification.';
6681
6682
6683
COMMENT ON COLUMN bugnotificationrecipient.reason_header IS 'The reason this person is receiving this notification (the value for the X-Launchpad-Message-Rationale header).';
6684
6685
6686
COMMENT ON COLUMN bugnotificationrecipient.reason_body IS 'A line of text describing the reason this person is receiving this notification (to be included in the email message).';
6687
6688
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6689
CREATE SEQUENCE bugnotificationrecipient_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6690
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6691
    INCREMENT BY 1
6692
    NO MAXVALUE
6693
    NO MINVALUE
6694
    CACHE 1;
6695
7675.1121.53 by Stuart Bishop
New baseline
6696
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6697
ALTER SEQUENCE bugnotificationrecipient_id_seq OWNED BY bugnotificationrecipient.id;
6698
7675.1121.53 by Stuart Bishop
New baseline
6699
7675.395.118 by Stuart Bishop
New database baseline from production
6700
CREATE TABLE bugnotificationrecipientarchive (
6701
    id integer NOT NULL,
6702
    bug_notification integer,
6703
    person integer,
6704
    reason_header text,
6705
    reason_body text
6706
);
6707
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6708
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6709
CREATE SEQUENCE bugsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6710
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6711
    INCREMENT BY 1
6712
    NO MAXVALUE
6713
    NO MINVALUE
6714
    CACHE 1;
6715
7675.1121.53 by Stuart Bishop
New baseline
6716
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6717
ALTER SEQUENCE bugsubscription_id_seq OWNED BY bugsubscription.id;
6718
7675.1121.53 by Stuart Bishop
New baseline
6719
6720
CREATE TABLE bugsubscriptionfilter (
6721
    id integer NOT NULL,
6722
    structuralsubscription integer,
6723
    find_all_tags boolean NOT NULL,
6724
    include_any_tags boolean NOT NULL,
6725
    exclude_any_tags boolean NOT NULL,
6726
    other_parameters text,
6727
    description text,
6728
    bug_notification_level integer DEFAULT 40 NOT NULL
6729
);
6730
6731
6732
COMMENT ON TABLE bugsubscriptionfilter IS 'A filter with search criteria. Emails are sent only if the affected bug matches the specified parameters. The parameters are the same as those used for bugtask searches.';
6733
6734
6735
COMMENT ON COLUMN bugsubscriptionfilter.structuralsubscription IS 'The structural subscription to be filtered.';
6736
6737
6738
COMMENT ON COLUMN bugsubscriptionfilter.find_all_tags IS 'If set, search for bugs having all tags specified in BugSubscriptionFilterTag, else search for bugs having any of the tags specified in BugSubscriptionFilterTag.';
6739
6740
6741
COMMENT ON COLUMN bugsubscriptionfilter.include_any_tags IS 'If True, include messages for bugs having any tag set.';
6742
6743
6744
COMMENT ON COLUMN bugsubscriptionfilter.exclude_any_tags IS 'If True, exclude bugs having any tag set.';
6745
6746
6747
COMMENT ON COLUMN bugsubscriptionfilter.other_parameters IS 'Other filter paremeters. Actual filtering is implemented on Python level.';
6748
6749
6750
COMMENT ON COLUMN bugsubscriptionfilter.description IS 'A description of the filter, allowing subscribers to note the intent of the filter.';
6751
6752
6753
CREATE SEQUENCE bugsubscriptionfilter_id_seq
6754
    START WITH 1
6755
    INCREMENT BY 1
6756
    NO MAXVALUE
6757
    NO MINVALUE
6758
    CACHE 1;
6759
6760
6761
ALTER SEQUENCE bugsubscriptionfilter_id_seq OWNED BY bugsubscriptionfilter.id;
6762
6763
6764
CREATE TABLE bugsubscriptionfilterimportance (
6765
    id integer NOT NULL,
6766
    filter integer NOT NULL,
6767
    importance integer NOT NULL
6768
);
6769
6770
6771
COMMENT ON TABLE bugsubscriptionfilterimportance IS 'Filter a bugsubscription by bug task status.';
6772
6773
6774
COMMENT ON COLUMN bugsubscriptionfilterimportance.filter IS 'The subscription filter of this record.';
6775
6776
6777
COMMENT ON COLUMN bugsubscriptionfilterimportance.importance IS 'The bug task importance.';
6778
6779
6780
CREATE SEQUENCE bugsubscriptionfilterimportance_id_seq
6781
    START WITH 1
6782
    INCREMENT BY 1
6783
    NO MAXVALUE
6784
    NO MINVALUE
6785
    CACHE 1;
6786
6787
6788
ALTER SEQUENCE bugsubscriptionfilterimportance_id_seq OWNED BY bugsubscriptionfilterimportance.id;
6789
6790
6791
CREATE TABLE bugsubscriptionfiltermute (
6792
    person integer NOT NULL,
6793
    filter integer NOT NULL,
6794
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
6795
);
6796
6797
6798
CREATE TABLE bugsubscriptionfilterstatus (
6799
    id integer NOT NULL,
6800
    filter integer NOT NULL,
6801
    status integer NOT NULL
6802
);
6803
6804
6805
COMMENT ON TABLE bugsubscriptionfilterstatus IS 'Filter a bugsubscription by bug task status.';
6806
6807
6808
COMMENT ON COLUMN bugsubscriptionfilterstatus.filter IS 'The subscription filter of this record.';
6809
6810
6811
COMMENT ON COLUMN bugsubscriptionfilterstatus.status IS 'The bug task status.';
6812
6813
6814
CREATE SEQUENCE bugsubscriptionfilterstatus_id_seq
6815
    START WITH 1
6816
    INCREMENT BY 1
6817
    NO MAXVALUE
6818
    NO MINVALUE
6819
    CACHE 1;
6820
6821
6822
ALTER SEQUENCE bugsubscriptionfilterstatus_id_seq OWNED BY bugsubscriptionfilterstatus.id;
6823
6824
6825
CREATE TABLE bugsubscriptionfiltertag (
6826
    id integer NOT NULL,
6827
    filter integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6828
    tag text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
6829
    include boolean NOT NULL
6830
);
6831
6832
6833
COMMENT ON TABLE bugsubscriptionfiltertag IS 'Filter by bug tag.';
6834
6835
6836
COMMENT ON COLUMN bugsubscriptionfiltertag.filter IS 'The subscription filter of this record.';
6837
6838
6839
COMMENT ON COLUMN bugsubscriptionfiltertag.tag IS 'A bug tag.';
6840
6841
6842
COMMENT ON COLUMN bugsubscriptionfiltertag.include IS 'If True, send only messages for bugs having this tag, else send only messages for bugs which do not have this tag.';
6843
6844
6845
CREATE SEQUENCE bugsubscriptionfiltertag_id_seq
6846
    START WITH 1
6847
    INCREMENT BY 1
6848
    NO MAXVALUE
6849
    NO MINVALUE
6850
    CACHE 1;
6851
6852
6853
ALTER SEQUENCE bugsubscriptionfiltertag_id_seq OWNED BY bugsubscriptionfiltertag.id;
6854
6855
6856
CREATE SEQUENCE bugsummary_id_seq
6857
    START WITH 1
6858
    INCREMENT BY 1
6859
    NO MAXVALUE
6860
    NO MINVALUE
6861
    CACHE 1;
6862
6863
6864
ALTER SEQUENCE bugsummary_id_seq OWNED BY bugsummary.id;
6865
6866
6867
CREATE TABLE bugsummaryjournal (
6868
    id integer NOT NULL,
6869
    count integer DEFAULT 0 NOT NULL,
6870
    product integer,
6871
    productseries integer,
6872
    distribution integer,
6873
    distroseries integer,
6874
    sourcepackagename integer,
6875
    viewed_by integer,
6876
    tag text,
6877
    status integer NOT NULL,
6878
    milestone integer,
6879
    importance integer NOT NULL,
6880
    has_patch boolean NOT NULL,
6881
    fixed_upstream boolean NOT NULL
6882
);
6883
6884
6885
CREATE SEQUENCE bugsummaryjournal_id_seq
6886
    START WITH 1
6887
    INCREMENT BY 1
6888
    NO MAXVALUE
6889
    NO MINVALUE
6890
    CACHE 1;
6891
6892
6893
ALTER SEQUENCE bugsummaryjournal_id_seq OWNED BY bugsummaryjournal.id;
6894
3691.17.3 by Stuart Bishop
New database baseline
6895
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6896
CREATE SEQUENCE bugtag_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6897
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6898
    INCREMENT BY 1
6899
    NO MAXVALUE
6900
    NO MINVALUE
6901
    CACHE 1;
6902
7675.1121.53 by Stuart Bishop
New baseline
6903
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6904
ALTER SEQUENCE bugtag_id_seq OWNED BY bugtag.id;
6905
3691.17.3 by Stuart Bishop
New database baseline
6906
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6907
CREATE SEQUENCE bugtask_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6908
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6909
    INCREMENT BY 1
6910
    NO MAXVALUE
6911
    NO MINVALUE
6912
    CACHE 1;
6913
7675.1121.53 by Stuart Bishop
New baseline
6914
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6915
ALTER SEQUENCE bugtask_id_seq OWNED BY bugtask.id;
6916
7675.1121.53 by Stuart Bishop
New baseline
6917
3691.17.3 by Stuart Bishop
New database baseline
6918
CREATE TABLE bugtracker (
4212.1.1 by Stuart Bishop
New database baseline
6919
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6920
    bugtrackertype integer NOT NULL,
6921
    name text NOT NULL,
6922
    title text NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
6923
    summary text,
3691.17.3 by Stuart Bishop
New database baseline
6924
    baseurl text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6925
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6926
    contactdetails text,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
6927
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
6928
    version text,
6929
    block_comment_pushing boolean DEFAULT false NOT NULL,
6930
    has_lp_plugin boolean,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6931
    active boolean DEFAULT true NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
6932
    CONSTRAINT valid_name CHECK (valid_name(name))
6933
);
6934
7675.1121.53 by Stuart Bishop
New baseline
6935
6936
COMMENT ON TABLE bugtracker IS 'A bug tracker in some other project. Malone allows us to link Malone bugs with bugs recorded in other bug tracking systems, and to keep the status of the relevant bug task in sync with the status in that upstream bug tracker. So, for example, you might note that Malone bug #43224 is the same as a bug in the Apache bugzilla, number 534536. Then when the upstream guys mark that bug fixed in their bugzilla, Malone know that the bug is fixed upstream.';
6937
6938
6939
COMMENT ON COLUMN bugtracker.bugtrackertype IS 'The type of bug tracker, a pointer to the table of bug tracker types. Currently we know about debbugs and bugzilla bugtrackers, and plan to support roundup and sourceforge as well.';
6940
6941
6942
COMMENT ON COLUMN bugtracker.name IS 'The unique name of this bugtracker, allowing us to refer to it directly.';
6943
6944
6945
COMMENT ON COLUMN bugtracker.title IS 'A title for the bug tracker, used in listings of all the bug trackers and also displayed at the top of the descriptive page for the bug tracker.';
6946
6947
6948
COMMENT ON COLUMN bugtracker.summary IS 'A brief summary of this bug tracker, which might for example list any interesting policies regarding the use of the bug tracker. The summary is displayed in bold at the top of the bug tracker page.';
6949
6950
6951
COMMENT ON COLUMN bugtracker.baseurl IS 'The base URL for this bug tracker. Using our knowledge of the bugtrackertype, and the details in the BugWatch table we are then able to calculate relative URLs for relevant pages in the bug tracker based on this baseurl.';
6952
6953
6954
COMMENT ON COLUMN bugtracker.owner IS 'The person who created this bugtracker entry and who thus has permission to modify it. Ideally we would like this to be the person who coordinates the running of the actual bug tracker upstream.';
6955
6956
6957
COMMENT ON COLUMN bugtracker.contactdetails IS 'The contact details of the people responsible for that bug tracker. This allows us to coordinate the syncing of bugs to and from that bug tracker with the responsible people on the other side.';
6958
6959
6960
COMMENT ON COLUMN bugtracker.version IS 'The version of the bug tracker software being used.';
6961
6962
6963
COMMENT ON COLUMN bugtracker.block_comment_pushing IS 'Whether to block pushing comments to the bug tracker. Having a value of false means that we will push the comments if the bug tracker supports it.';
6964
6965
6966
COMMENT ON COLUMN bugtracker.has_lp_plugin IS 'Whether we have confirmed that the Launchpad plugin was installed on the bug tracker, the last time checkwatches was run.';
6967
6968
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6969
CREATE SEQUENCE bugtracker_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6970
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6971
    INCREMENT BY 1
6972
    NO MAXVALUE
6973
    NO MINVALUE
6974
    CACHE 1;
6975
7675.1121.53 by Stuart Bishop
New baseline
6976
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6977
ALTER SEQUENCE bugtracker_id_seq OWNED BY bugtracker.id;
6978
7675.1121.53 by Stuart Bishop
New baseline
6979
5529.1.3 by Stuart Bishop
New database schema baseline
6980
CREATE TABLE bugtrackeralias (
6981
    id integer NOT NULL,
6982
    bugtracker integer NOT NULL,
6983
    base_url text NOT NULL
6984
);
6985
7675.1121.53 by Stuart Bishop
New baseline
6986
6987
COMMENT ON TABLE bugtrackeralias IS 'A bugtracker alias is a URL that also refers to the same bugtracker as the master bugtracker. For example, a bugtracker might be accessible as both http://www.bugsrus.com/ and http://bugsrus.com/. A bugtracker can have many aliases, and all of them are checked to prevents users registering duplicate bugtrackers inadvertently.';
6988
6989
6990
COMMENT ON COLUMN bugtrackeralias.bugtracker IS 'The master bugtracker that this alias refers to.';
6991
6992
6993
COMMENT ON COLUMN bugtrackeralias.base_url IS 'Another base URL for this bug tracker. See BugTracker.baseurl.';
6994
6995
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6996
CREATE SEQUENCE bugtrackeralias_id_seq
7675.1121.53 by Stuart Bishop
New baseline
6997
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
6998
    INCREMENT BY 1
6999
    NO MAXVALUE
7000
    NO MINVALUE
7001
    CACHE 1;
7002
7675.1121.53 by Stuart Bishop
New baseline
7003
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7004
ALTER SEQUENCE bugtrackeralias_id_seq OWNED BY bugtrackeralias.id;
7005
7675.1121.53 by Stuart Bishop
New baseline
7006
7007
CREATE TABLE bugtrackercomponent (
7008
    id integer NOT NULL,
7009
    name text NOT NULL,
7010
    is_visible boolean DEFAULT true NOT NULL,
7011
    is_custom boolean DEFAULT true NOT NULL,
7012
    component_group integer NOT NULL,
7013
    distribution integer,
7014
    source_package_name integer,
7015
    CONSTRAINT valid_target CHECK (((distribution IS NULL) = (source_package_name IS NULL)))
7016
);
7017
7018
7019
COMMENT ON TABLE bugtrackercomponent IS 'A software component in a remote bug tracker, which can be linked to the corresponding source package in a distribution using this table.';
7020
7021
7022
COMMENT ON COLUMN bugtrackercomponent.name IS 'The name of the component as registered in the remote bug tracker.';
7023
7024
7025
COMMENT ON COLUMN bugtrackercomponent.is_visible IS 'Whether to display or hide the item in the Launchpad user interface.';
7026
7027
7028
COMMENT ON COLUMN bugtrackercomponent.is_custom IS 'Whether the item was added by a user in Launchpad or is kept in sync with the remote bug tracker.';
7029
7030
7031
COMMENT ON COLUMN bugtrackercomponent.component_group IS 'The product or other higher level category used by the remote bug tracker to group projects, if any.';
7032
7033
7034
COMMENT ON COLUMN bugtrackercomponent.distribution IS 'Link to the distribution for the associated source package.  This can be NULL if no ling has been established.';
7035
7036
7037
COMMENT ON COLUMN bugtrackercomponent.source_package_name IS 'The text name of the source package in a distribution that corresponds to this component.  This can be NULL if no link has been established yet.';
7038
7039
7040
CREATE SEQUENCE bugtrackercomponent_id_seq
7041
    START WITH 1
7042
    INCREMENT BY 1
7043
    NO MAXVALUE
7044
    NO MINVALUE
7045
    CACHE 1;
7046
7047
7048
ALTER SEQUENCE bugtrackercomponent_id_seq OWNED BY bugtrackercomponent.id;
7049
7050
7051
CREATE TABLE bugtrackercomponentgroup (
7052
    id integer NOT NULL,
7053
    name text NOT NULL,
7054
    bug_tracker integer NOT NULL
7055
);
7056
7057
7058
COMMENT ON TABLE bugtrackercomponentgroup IS 'A collection of components as modeled in a remote bug tracker, often referred to as a product.  Some bug trackers do not categorize software components this way, so they will have a single default component group that all components belong to.';
7059
7060
7061
COMMENT ON COLUMN bugtrackercomponentgroup.name IS 'The product or category name used in the remote bug tracker for grouping components.';
7062
7063
7064
COMMENT ON COLUMN bugtrackercomponentgroup.bug_tracker IS 'The external bug tracker this component group belongs to.';
7065
7066
7067
CREATE SEQUENCE bugtrackercomponentgroup_id_seq
7068
    START WITH 1
7069
    INCREMENT BY 1
7070
    NO MAXVALUE
7071
    NO MINVALUE
7072
    CACHE 1;
7073
7074
7075
ALTER SEQUENCE bugtrackercomponentgroup_id_seq OWNED BY bugtrackercomponentgroup.id;
7076
7077
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7078
CREATE TABLE bugtrackerperson (
7079
    id integer NOT NULL,
7080
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7081
    bugtracker integer NOT NULL,
7082
    person integer NOT NULL,
7083
    name text NOT NULL
7084
);
5529.1.3 by Stuart Bishop
New database schema baseline
7085
7675.1121.53 by Stuart Bishop
New baseline
7086
7087
COMMENT ON TABLE bugtrackerperson IS 'A mapping from a user in an external bug tracker to a Person record in Launchpad. This is used when we can''t get an e-mail address from the bug tracker.';
7088
7089
7090
COMMENT ON COLUMN bugtrackerperson.date_created IS 'When was this mapping added.';
7091
7092
7093
COMMENT ON COLUMN bugtrackerperson.bugtracker IS 'The external bug tracker in which this user has an account.';
7094
7095
7096
COMMENT ON COLUMN bugtrackerperson.person IS 'The Person record in Launchpad this user corresponds to.';
7097
7098
7099
COMMENT ON COLUMN bugtrackerperson.name IS 'The (within the bug tracker) unique username in the external bug tracker.';
7100
7101
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7102
CREATE SEQUENCE bugtrackerperson_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7103
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7104
    INCREMENT BY 1
7105
    NO MAXVALUE
7106
    NO MINVALUE
7107
    CACHE 1;
7108
7675.1121.53 by Stuart Bishop
New baseline
7109
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7110
ALTER SEQUENCE bugtrackerperson_id_seq OWNED BY bugtrackerperson.id;
7111
7675.1121.53 by Stuart Bishop
New baseline
7112
3691.17.3 by Stuart Bishop
New database baseline
7113
CREATE TABLE bugwatch (
4212.1.1 by Stuart Bishop
New database baseline
7114
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7115
    bug integer NOT NULL,
7116
    bugtracker integer NOT NULL,
7117
    remotebug text NOT NULL,
7118
    remotestatus text,
7119
    lastchanged timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone),
7120
    lastchecked timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone),
7121
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7122
    owner integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
7123
    last_error_type integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7124
    remote_importance text,
7675.395.118 by Stuart Bishop
New database baseline from production
7125
    remote_lp_bug_id integer,
7126
    next_check timestamp without time zone
3691.17.3 by Stuart Bishop
New database baseline
7127
);
7128
7675.1121.53 by Stuart Bishop
New baseline
7129
7130
COMMENT ON COLUMN bugwatch.last_error_type IS 'The type of error which last prevented this entry from being updated. Legal values are defined by the BugWatchErrorType enumeration.';
7131
7132
7133
COMMENT ON COLUMN bugwatch.remote_importance IS 'The importance of the bug as returned by the remote server. This will be converted into a Launchpad BugTaskImportance value.';
7134
7135
7136
COMMENT ON COLUMN bugwatch.remote_lp_bug_id IS 'The bug in Launchpad that the remote bug is pointing at. This can be different than the BugWatch.bug column, since the same remote bug can be linked from multiple bugs in Launchpad, but the remote bug can only link to a single bug in Launchpad. The main use case for this column is to avoid having to query the remote bug tracker for this information, in order to decide whether we need to give this information to the remote bug tracker.';
7137
7138
7139
COMMENT ON COLUMN bugwatch.next_check IS 'The time after which the watch should next be checked. Note that this does not denote an exact schedule for the next check since checkwatches only runs periodically.';
7140
7141
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7142
CREATE SEQUENCE bugwatch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7143
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7144
    INCREMENT BY 1
7145
    NO MAXVALUE
7146
    NO MINVALUE
7147
    CACHE 1;
7148
7675.1121.53 by Stuart Bishop
New baseline
7149
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7150
ALTER SEQUENCE bugwatch_id_seq OWNED BY bugwatch.id;
7151
7675.1121.53 by Stuart Bishop
New baseline
7152
7675.395.118 by Stuart Bishop
New database baseline from production
7153
CREATE TABLE bugwatchactivity (
7154
    id integer NOT NULL,
7155
    bug_watch integer NOT NULL,
7156
    activity_date timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7157
    result integer NOT NULL,
7158
    message text,
7159
    oops_id text
7675.1121.53 by Stuart Bishop
New baseline
7160
)
7161
WITH (fillfactor=100);
7162
7163
7164
COMMENT ON TABLE bugwatchactivity IS 'This table contains a record of each update for a given bug watch. This allows us to track whether a given update was successful or not and, if not, the details of the error which caused the update to fail.';
7165
7166
7167
COMMENT ON COLUMN bugwatchactivity.bug_watch IS 'The bug_watch to which this activity entry relates.';
7168
7169
7170
COMMENT ON COLUMN bugwatchactivity.activity_date IS 'The datetime at which the activity occurred.';
7171
7172
7173
COMMENT ON COLUMN bugwatchactivity.result IS 'The result of the update. Legal values are defined in the BugWatchErrorType enumeration. An update is considered successful if its error_type is NULL.';
7174
7175
7176
COMMENT ON COLUMN bugwatchactivity.message IS 'The message (if any) associated with the update.';
7177
7178
7179
COMMENT ON COLUMN bugwatchactivity.oops_id IS 'The OOPS id, if any, associated with the error that caused the update to fail.';
7180
7675.395.118 by Stuart Bishop
New database baseline from production
7181
7182
CREATE SEQUENCE bugwatchactivity_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7183
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7184
    INCREMENT BY 1
7185
    NO MAXVALUE
7186
    NO MINVALUE
7187
    CACHE 1;
7188
7675.1121.53 by Stuart Bishop
New baseline
7189
7675.395.118 by Stuart Bishop
New database baseline from production
7190
ALTER SEQUENCE bugwatchactivity_id_seq OWNED BY bugwatchactivity.id;
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7191
7675.1121.53 by Stuart Bishop
New baseline
7192
3691.17.3 by Stuart Bishop
New database baseline
7193
CREATE TABLE builder (
4212.1.1 by Stuart Bishop
New database baseline
7194
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7195
    processor integer NOT NULL,
7196
    name text NOT NULL,
7197
    title text NOT NULL,
7198
    description text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7199
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7200
    speedindex integer,
7201
    builderok boolean NOT NULL,
7202
    failnotes text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7203
    virtualized boolean DEFAULT true NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7204
    url text NOT NULL,
7205
    manual boolean DEFAULT false,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
7206
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
7207
    vm_host text,
7208
    active boolean DEFAULT true NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
7209
    failure_count integer DEFAULT 0 NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7210
    CONSTRAINT valid_absolute_url CHECK (valid_absolute_url(url))
7211
);
7212
7675.1121.53 by Stuart Bishop
New baseline
7213
7214
COMMENT ON TABLE builder IS 'Builder: This table stores the build-slave registry and status information as: name, url, trusted, builderok, builderaction, failnotes.';
7215
7216
7217
COMMENT ON COLUMN builder.speedindex IS 'A relative measure of the speed of this builder. If NULL, we do not yet have a speedindex for the builder else it is the number of seconds needed to perform a reference build';
7218
7219
7220
COMMENT ON COLUMN builder.builderok IS 'Should a builder fail for any reason, from out-of-disk-space to not responding to the buildd master, the builderok flag is set to false and the failnotes column is filled with a reason.';
7221
7222
7223
COMMENT ON COLUMN builder.failnotes IS 'This column gets filled out with a textual description of how/why a builder has failed. If the builderok column is true then the value in this column is irrelevant and should be treated as NULL or empty.';
7224
7225
7226
COMMENT ON COLUMN builder.virtualized IS 'Whether or not the builder is a virtual Xen builder. Packages coming via ubuntu workflow are trusted to build on non-Xen and do not need facist behaviour to be built. Other packages like ppa/grumpy incoming packages can contain malicious code, so are unstrusted and build in a Xen virtual machine.';
7227
7228
7229
COMMENT ON COLUMN builder.url IS 'The url to the build slave. There may be more than one build slave on a given host so this url includes the port number to use. The default port number for a build slave is 8221';
7230
7231
7232
COMMENT ON COLUMN builder.manual IS 'Whether or not builder was manual mode, i.e., collect any result from the it, but do not dispach anything to it automatically.';
7233
7234
7235
COMMENT ON COLUMN builder.vm_host IS 'The virtual machine host associated to this builder. It should be empty for "native" builders (old fashion or architectures not yet supported by XEN).';
7236
7237
7238
COMMENT ON COLUMN builder.active IS 'Whether to present or not the builder in the public list of builders avaialble. It is used to hide transient or defunct builders while they get fixed.';
7239
7240
7241
COMMENT ON COLUMN builder.failure_count IS 'The number of consecutive failures on this builder.  Is reset to zero after a sucessful dispatch.';
7242
7243
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7244
CREATE SEQUENCE builder_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7245
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7246
    INCREMENT BY 1
7247
    NO MAXVALUE
7248
    NO MINVALUE
7249
    CACHE 1;
7250
7675.1121.53 by Stuart Bishop
New baseline
7251
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7252
ALTER SEQUENCE builder_id_seq OWNED BY builder.id;
7253
7675.1121.53 by Stuart Bishop
New baseline
7254
7675.395.118 by Stuart Bishop
New database baseline from production
7255
CREATE TABLE buildfarmjob (
7256
    id integer NOT NULL,
7257
    processor integer,
7258
    virtualized boolean,
7259
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7260
    date_started timestamp without time zone,
7261
    date_finished timestamp without time zone,
7262
    date_first_dispatched timestamp without time zone,
7263
    builder integer,
7264
    status integer NOT NULL,
7265
    log integer,
7266
    job_type integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
7267
    failure_count integer DEFAULT 0 NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
7268
    CONSTRAINT started_if_finished CHECK (((date_finished IS NULL) OR (date_started IS NOT NULL)))
7269
);
7270
7675.1121.53 by Stuart Bishop
New baseline
7271
7272
COMMENT ON TABLE buildfarmjob IS 'BuildFarmJob: This table stores the information common to all jobs on the Launchpad build farm.';
7273
7274
7275
COMMENT ON COLUMN buildfarmjob.processor IS 'Points to the required processor target for this job, or null.';
7276
7277
7278
COMMENT ON COLUMN buildfarmjob.virtualized IS 'The virtualization setting required by this build farm job, or null.';
7279
7280
7281
COMMENT ON COLUMN buildfarmjob.date_created IS 'When the build farm job record was created.';
7282
7283
7284
COMMENT ON COLUMN buildfarmjob.date_started IS 'When the build farm job started being processed.';
7285
7286
7287
COMMENT ON COLUMN buildfarmjob.date_finished IS 'When the build farm job finished being processed.';
7288
7289
7290
COMMENT 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.';
7291
7292
7293
COMMENT ON COLUMN buildfarmjob.builder IS 'Points to the builder which processed this build farm job.';
7294
7295
7296
COMMENT ON COLUMN buildfarmjob.status IS 'Stores the current build status.';
7297
7298
7299
COMMENT ON COLUMN buildfarmjob.log IS 'Points to the log for this build farm job file stored in librarian.';
7300
7301
7302
COMMENT ON COLUMN buildfarmjob.job_type IS 'The type of build farm job to which this record corresponds.';
7303
7304
7305
COMMENT ON COLUMN buildfarmjob.failure_count IS 'The number of consecutive failures on this job.  If excessive, the job may be terminated.';
7306
7307
7675.395.118 by Stuart Bishop
New database baseline from production
7308
CREATE SEQUENCE buildfarmjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7309
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
7310
    INCREMENT BY 1
7311
    NO MAXVALUE
7312
    NO MINVALUE
7313
    CACHE 1;
7314
7675.1121.53 by Stuart Bishop
New baseline
7315
7675.395.118 by Stuart Bishop
New database baseline from production
7316
ALTER SEQUENCE buildfarmjob_id_seq OWNED BY buildfarmjob.id;
7317
7675.1121.53 by Stuart Bishop
New baseline
7318
7675.395.118 by Stuart Bishop
New database baseline from production
7319
CREATE TABLE buildpackagejob (
7320
    id integer NOT NULL,
7321
    job integer NOT NULL,
7322
    build integer NOT NULL
7323
);
7324
7675.1121.53 by Stuart Bishop
New baseline
7325
7675.395.118 by Stuart Bishop
New database baseline from production
7326
CREATE SEQUENCE buildpackagejob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7327
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
7328
    INCREMENT BY 1
7329
    NO MAXVALUE
7330
    NO MINVALUE
7331
    CACHE 1;
7332
7675.1121.53 by Stuart Bishop
New baseline
7333
7675.395.118 by Stuart Bishop
New database baseline from production
7334
ALTER SEQUENCE buildpackagejob_id_seq OWNED BY buildpackagejob.id;
7335
7675.1121.53 by Stuart Bishop
New baseline
7336
3691.17.3 by Stuart Bishop
New database baseline
7337
CREATE TABLE buildqueue (
4212.1.1 by Stuart Bishop
New database baseline
7338
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7339
    builder integer,
7340
    logtail text,
7341
    lastscore integer,
7675.395.118 by Stuart Bishop
New database baseline from production
7342
    manual boolean DEFAULT false NOT NULL,
7343
    job integer NOT NULL,
7344
    job_type integer DEFAULT 1 NOT NULL,
7345
    estimated_duration interval DEFAULT '00:00:00'::interval NOT NULL,
7346
    processor integer,
7347
    virtualized boolean
3691.17.3 by Stuart Bishop
New database baseline
7348
);
7349
7675.1121.53 by Stuart Bishop
New baseline
7350
7351
COMMENT ON TABLE buildqueue IS 'BuildQueue: The queue of jobs in progress/scheduled to run on the Soyuz build farm.';
7352
7353
7354
COMMENT ON COLUMN buildqueue.builder IS 'The builder assigned to this build. Some builds will have a builder assigned to queue them up; some will be building on the specified builder already; others will not have a builder yet (NULL) and will be waiting to be assigned into a builder''s queue';
7355
7356
7357
COMMENT ON COLUMN buildqueue.logtail IS 'The tail end of the log of the current build. This is updated regularly as the buildd master polls the buildd slaves. Once the build is complete; the full log will be lodged with the librarian and linked into the build table.';
7358
7359
7360
COMMENT ON COLUMN buildqueue.lastscore IS 'The last score ascribed to this build record. This can be used in the UI among other places.';
7361
7362
7363
COMMENT ON COLUMN buildqueue.manual IS 'Indicates if the current record was or not rescored manually, if so it get skipped from the auto-score procedure.';
7364
7365
7366
COMMENT ON COLUMN buildqueue.job IS 'Foreign key to the `Job` table row with the generic job data.';
7367
7368
7369
COMMENT ON COLUMN buildqueue.job_type IS 'Type of job (enumeration value), enables us to find/query the correct table with the data specific to this type of job.';
7370
7371
7372
COMMENT ON COLUMN buildqueue.estimated_duration IS 'Estimated job duration, based on previous running times of comparable jobs.';
7373
7374
7375
COMMENT ON COLUMN buildqueue.processor IS 'The processor required by the associated build farm job.';
7376
7377
7378
COMMENT ON COLUMN buildqueue.virtualized IS 'The virtualization setting required by the associated build farm job.';
7379
7380
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7381
CREATE SEQUENCE buildqueue_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7382
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7383
    INCREMENT BY 1
7384
    NO MAXVALUE
7385
    NO MINVALUE
7386
    CACHE 1;
7387
7675.1121.53 by Stuart Bishop
New baseline
7388
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7389
ALTER SEQUENCE buildqueue_id_seq OWNED BY buildqueue.id;
7390
7675.1121.53 by Stuart Bishop
New baseline
7391
4990.1.1 by Stuart Bishop
New database baseline
7392
CREATE TABLE codeimport (
7393
    id integer NOT NULL,
7394
    branch integer NOT NULL,
7395
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7396
    registrant integer NOT NULL,
7397
    rcs_type integer NOT NULL,
7398
    cvs_root text,
7399
    cvs_module text,
7400
    review_status integer DEFAULT 1 NOT NULL,
7401
    date_last_successful timestamp without time zone,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7402
    owner integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
7403
    assignee integer,
7404
    update_interval interval,
7675.395.118 by Stuart Bishop
New database baseline from production
7405
    url text,
7675.1121.53 by Stuart Bishop
New baseline
7406
    CONSTRAINT valid_vcs_details CHECK (CASE WHEN (rcs_type = 1) THEN (((((cvs_root IS NOT NULL) AND (cvs_root <> ''::text)) AND (cvs_module IS NOT NULL)) AND (cvs_module <> ''::text)) AND (url IS NULL)) WHEN (rcs_type = ANY (ARRAY[2, 3])) THEN ((((cvs_root IS NULL) AND (cvs_module IS NULL)) AND (url IS NOT NULL)) AND valid_absolute_url(url)) WHEN (rcs_type = ANY (ARRAY[4, 5, 6])) THEN (((cvs_root IS NULL) AND (cvs_module IS NULL)) AND (url IS NOT NULL)) ELSE false END)
4990.1.1 by Stuart Bishop
New database baseline
7407
);
7408
7675.1121.53 by Stuart Bishop
New baseline
7409
7410
COMMENT ON TABLE codeimport IS 'The persistent record of an import from a foreign version control system to Bazaar, from the initial request to the regularly updated import branch.';
7411
7412
7413
COMMENT ON COLUMN codeimport.branch IS 'The Bazaar branch produced by the import system.  Always non-NULL: a placeholder branch is created when the import is created.  The import is associated to a Product and Series though the branch.';
7414
7415
7416
COMMENT ON COLUMN codeimport.registrant IS 'The person who originally requested this import.';
7417
7418
7419
COMMENT ON COLUMN codeimport.rcs_type IS 'The revision control system used by the import source. The value is defined in dbschema.RevisionControlSystems.';
7420
7421
7422
COMMENT ON COLUMN codeimport.cvs_root IS 'The $CVSROOT details, probably of the form :pserver:user@host:/path.';
7423
7424
7425
COMMENT ON COLUMN codeimport.cvs_module IS 'The module in cvs_root to import, often the name of the project.';
7426
7427
7428
COMMENT ON COLUMN codeimport.review_status IS 'Whether this code import request has been reviewed, and whether it was accepted.';
7429
7430
7431
COMMENT ON COLUMN codeimport.date_last_successful IS 'When this code import last succeeded. NULL if this import has never succeeded.';
7432
7433
7434
COMMENT ON COLUMN codeimport.owner IS 'The person who is currently responsible for keeping the import details up to date, initially set to the registrant. This person can edit some of the details of the code import branch.';
7435
7436
7437
COMMENT ON COLUMN codeimport.assignee IS 'The person in charge of delivering this code import and interacting with the owner.';
7438
7439
7440
COMMENT ON COLUMN codeimport.update_interval IS 'How often should this import be updated. If NULL, defaults to a system-wide value set by the Launchpad administrators.';
7441
7442
7443
COMMENT ON COLUMN codeimport.url IS 'The URL of the foreign VCS branch for this import.';
7444
7445
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7446
CREATE SEQUENCE codeimport_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7447
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7448
    INCREMENT BY 1
7449
    NO MAXVALUE
7450
    NO MINVALUE
7451
    CACHE 1;
7452
7675.1121.53 by Stuart Bishop
New baseline
7453
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7454
ALTER SEQUENCE codeimport_id_seq OWNED BY codeimport.id;
7455
7675.1121.53 by Stuart Bishop
New baseline
7456
4990.1.1 by Stuart Bishop
New database baseline
7457
CREATE TABLE codeimportevent (
7458
    id integer NOT NULL,
7459
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7460
    entry_type integer NOT NULL,
7461
    code_import integer,
7462
    person integer,
7463
    machine integer
7464
);
7465
7675.1121.53 by Stuart Bishop
New baseline
7466
7467
COMMENT ON TABLE codeimportevent IS 'A record of events in the code import system.  Rows in this table are created by triggers on other code import tables.';
7468
7469
7470
COMMENT ON COLUMN codeimportevent.entry_type IS 'The type of event that is recorded by this entry. Legal values are defined by the CodeImportEventType enumeration.';
7471
7472
7473
COMMENT ON COLUMN codeimportevent.code_import IS 'The code import that was associated to this event, if any and if it has not been deleted.';
7474
7475
7476
COMMENT ON COLUMN codeimportevent.person IS 'The user who caused the event, if the event is not automatically generated.';
7477
7478
7479
COMMENT ON COLUMN codeimportevent.machine IS 'The code import machine that was concerned by this event, if any.';
7480
7481
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7482
CREATE SEQUENCE codeimportevent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7483
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7484
    INCREMENT BY 1
7485
    NO MAXVALUE
7486
    NO MINVALUE
7487
    CACHE 1;
7488
7675.1121.53 by Stuart Bishop
New baseline
7489
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7490
ALTER SEQUENCE codeimportevent_id_seq OWNED BY codeimportevent.id;
7491
7675.1121.53 by Stuart Bishop
New baseline
7492
4990.1.1 by Stuart Bishop
New database baseline
7493
CREATE TABLE codeimporteventdata (
7494
    id integer NOT NULL,
7495
    event integer,
7496
    data_type integer NOT NULL,
7497
    data_value text
7498
);
7499
7675.1121.53 by Stuart Bishop
New baseline
7500
7501
COMMENT ON TABLE codeimporteventdata IS 'Additional data associated to a particular code import event.';
7502
7503
7504
COMMENT ON COLUMN codeimporteventdata.event IS 'The event the data is associated to.';
7505
7506
7507
COMMENT ON COLUMN codeimporteventdata.data_type IS 'The type of additional data, from the CodeImportEventDataType enumeration.';
7508
7509
7510
COMMENT ON COLUMN codeimporteventdata.data_value IS 'The value of the additional data.  A string.';
7511
7512
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7513
CREATE SEQUENCE codeimporteventdata_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7514
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7515
    INCREMENT BY 1
7516
    NO MAXVALUE
7517
    NO MINVALUE
7518
    CACHE 1;
7519
7675.1121.53 by Stuart Bishop
New baseline
7520
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7521
ALTER SEQUENCE codeimporteventdata_id_seq OWNED BY codeimporteventdata.id;
7522
7675.1121.53 by Stuart Bishop
New baseline
7523
4990.1.1 by Stuart Bishop
New database baseline
7524
CREATE TABLE codeimportjob (
7525
    id integer NOT NULL,
7526
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7527
    code_import integer NOT NULL,
7528
    machine integer,
7529
    date_due timestamp without time zone NOT NULL,
7530
    state integer NOT NULL,
7531
    requesting_user integer,
7532
    ordering integer,
7533
    heartbeat timestamp without time zone,
7534
    logtail text,
7535
    date_started timestamp without time zone,
7536
    CONSTRAINT valid_state CHECK (CASE WHEN (state = 10) THEN (((((machine IS NULL) AND (ordering IS NULL)) AND (heartbeat IS NULL)) AND (date_started IS NULL)) AND (logtail IS NULL)) WHEN (state = 20) THEN (((((machine IS NOT NULL) AND (ordering IS NOT NULL)) AND (heartbeat IS NULL)) AND (date_started IS NULL)) AND (logtail IS NULL)) WHEN (state = 30) THEN (((((machine IS NOT NULL) AND (ordering IS NULL)) AND (heartbeat IS NOT NULL)) AND (date_started IS NOT NULL)) AND (logtail IS NOT NULL)) ELSE false END)
7537
);
7538
7675.1121.53 by Stuart Bishop
New baseline
7539
7540
COMMENT ON TABLE codeimportjob IS 'A pending or active code import job.  There is always such a row for any active import, but it will not run until date_due is in the past.';
7541
7542
7543
COMMENT ON COLUMN codeimportjob.code_import IS 'The code import that is being worked upon.';
7544
7545
7546
COMMENT ON COLUMN codeimportjob.machine IS 'The machine job is currently scheduled to run on, or where the job is currently running.';
7547
7548
7549
COMMENT ON COLUMN codeimportjob.date_due IS 'When the import should happen.';
7550
7551
7552
COMMENT ON COLUMN codeimportjob.state IS 'One of PENDING (waiting until its due or a machine is online), SCHEDULED (assigned to a machine, but not yet running) or RUNNING (actually in the process of being imported now).';
7553
7554
7555
COMMENT ON COLUMN codeimportjob.requesting_user IS 'The user who requested the import, if any. Set if and only if reason = REQUEST.';
7556
7557
7558
COMMENT ON COLUMN codeimportjob.ordering IS 'A measure of how urgent the job is -- queue entries with lower "ordering" should be processed first, or in other works "ORDER BY ordering" returns the most import jobs first.';
7559
7560
7561
COMMENT ON COLUMN codeimportjob.heartbeat IS 'While the job is running, this field should be updated frequently to indicate that the import job hasn''t crashed.';
7562
7563
7564
COMMENT ON COLUMN codeimportjob.logtail IS 'The last few lines of output produced by the running job. It should be updated at the same time as the heartbeat.';
7565
7566
7567
COMMENT ON COLUMN codeimportjob.date_started IS 'When the import began to be processed.';
7568
7569
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7570
CREATE SEQUENCE codeimportjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7571
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7572
    INCREMENT BY 1
7573
    NO MAXVALUE
7574
    NO MINVALUE
7575
    CACHE 1;
7576
7675.1121.53 by Stuart Bishop
New baseline
7577
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7578
ALTER SEQUENCE codeimportjob_id_seq OWNED BY codeimportjob.id;
7579
7675.1121.53 by Stuart Bishop
New baseline
7580
4990.1.1 by Stuart Bishop
New database baseline
7581
CREATE TABLE codeimportmachine (
7582
    id integer NOT NULL,
7583
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7584
    hostname text NOT NULL,
7585
    state integer DEFAULT 10 NOT NULL,
7586
    heartbeat timestamp without time zone
7587
);
7588
7675.1121.53 by Stuart Bishop
New baseline
7589
7590
COMMENT ON TABLE codeimportmachine IS 'The record of a machine capable of performing jobs for the code import system.';
7591
7592
7593
COMMENT ON COLUMN codeimportmachine.hostname IS 'The (unique) hostname of the machine.';
7594
7595
7596
COMMENT ON COLUMN codeimportmachine.state IS 'Whether the controller daemon on this machine is offline, online, or quiescing (running but not accepting new jobs).';
7597
7598
7599
COMMENT ON COLUMN codeimportmachine.heartbeat IS 'When the code-import-controller daemon was last known to be running on this machine. If it is not updated for a long time the machine state will change to offline.';
7600
7601
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7602
CREATE SEQUENCE codeimportmachine_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7603
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7604
    INCREMENT BY 1
7605
    NO MAXVALUE
7606
    NO MINVALUE
7607
    CACHE 1;
7608
7675.1121.53 by Stuart Bishop
New baseline
7609
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7610
ALTER SEQUENCE codeimportmachine_id_seq OWNED BY codeimportmachine.id;
7611
7675.1121.53 by Stuart Bishop
New baseline
7612
4990.1.1 by Stuart Bishop
New database baseline
7613
CREATE TABLE codeimportresult (
7614
    id integer NOT NULL,
7615
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7616
    code_import integer,
7617
    machine integer,
7618
    requesting_user integer,
7619
    log_excerpt text,
7620
    log_file integer,
7621
    status integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
7622
    date_job_started timestamp without time zone
4990.1.1 by Stuart Bishop
New database baseline
7623
);
7624
7675.1121.53 by Stuart Bishop
New baseline
7625
7626
COMMENT ON TABLE codeimportresult IS 'A completed code import job.';
7627
7628
7629
COMMENT ON COLUMN codeimportresult.code_import IS 'The code import for which the job was run.';
7630
7631
7632
COMMENT ON COLUMN codeimportresult.machine IS 'The machine the job ran on.';
7633
7634
7635
COMMENT ON COLUMN codeimportresult.log_excerpt IS 'The last few lines of the partial log, in case it is set.';
7636
7637
7638
COMMENT ON COLUMN codeimportresult.log_file IS 'A partial log of the job for users to see. It is normally only recorded if the job failed in a step that interacts with the remote repository. If a job was successful, or failed in a houskeeping step, the log file would not contain information useful to the user.';
7639
7640
7641
COMMENT ON COLUMN codeimportresult.status IS 'How the job ended. Success, some kind of failure, or some kind of interruption before completion.';
7642
7643
7644
COMMENT ON COLUMN codeimportresult.date_job_started IS 'When the job started to run (date_created is when it finished).';
7645
7646
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7647
CREATE SEQUENCE codeimportresult_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7648
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7649
    INCREMENT BY 1
7650
    NO MAXVALUE
7651
    NO MINVALUE
7652
    CACHE 1;
7653
7675.1121.53 by Stuart Bishop
New baseline
7654
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7655
ALTER SEQUENCE codeimportresult_id_seq OWNED BY codeimportresult.id;
7656
7675.1121.53 by Stuart Bishop
New baseline
7657
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7658
CREATE TABLE codereviewmessage (
7659
    id integer NOT NULL,
7660
    branch_merge_proposal integer NOT NULL,
7661
    message integer NOT NULL,
7662
    vote integer,
7663
    vote_tag text
7664
);
7665
7675.1121.53 by Stuart Bishop
New baseline
7666
7667
COMMENT ON TABLE codereviewmessage IS 'A message that is part of a code review discussion.';
7668
7669
7670
COMMENT ON COLUMN codereviewmessage.branch_merge_proposal IS 'The merge proposal that is being discussed.';
7671
7672
7673
COMMENT ON COLUMN codereviewmessage.message IS 'The actual message.';
7674
7675
7676
COMMENT ON COLUMN codereviewmessage.vote IS 'The reviewer''s vote for this message.';
7677
7678
7679
COMMENT ON COLUMN codereviewmessage.vote_tag IS 'A short description of the vote';
7680
7681
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7682
CREATE SEQUENCE codereviewmessage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7683
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7684
    INCREMENT BY 1
7685
    NO MAXVALUE
7686
    NO MINVALUE
7687
    CACHE 1;
7688
7675.1121.53 by Stuart Bishop
New baseline
7689
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7690
ALTER SEQUENCE codereviewmessage_id_seq OWNED BY codereviewmessage.id;
7691
7675.1121.53 by Stuart Bishop
New baseline
7692
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7693
CREATE TABLE codereviewvote (
7694
    id integer NOT NULL,
7695
    branch_merge_proposal integer NOT NULL,
7696
    reviewer integer NOT NULL,
7697
    review_type text,
7698
    registrant integer NOT NULL,
7699
    vote_message integer,
7700
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
7701
);
7702
7675.1121.53 by Stuart Bishop
New baseline
7703
7704
COMMENT ON TABLE codereviewvote IS 'Reference to a person''s last vote in a code review discussion.';
7705
7706
7707
COMMENT ON COLUMN codereviewvote.branch_merge_proposal IS 'The BranchMergeProposal for the code review.';
7708
7709
7710
COMMENT ON COLUMN codereviewvote.reviewer IS 'The person performing the review.';
7711
7712
7713
COMMENT ON COLUMN codereviewvote.review_type IS 'The aspect of the code being reviewed.';
7714
7715
7716
COMMENT ON COLUMN codereviewvote.registrant IS 'The person who registered this vote';
7717
7718
7719
COMMENT ON COLUMN codereviewvote.vote_message IS 'The message associated with the vote';
7720
7721
7722
COMMENT ON COLUMN codereviewvote.date_created IS 'The date this vote reference was created';
7723
7724
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7725
CREATE SEQUENCE codereviewvote_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7726
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7727
    INCREMENT BY 1
7728
    NO MAXVALUE
7729
    NO MINVALUE
7730
    CACHE 1;
7731
7675.1121.53 by Stuart Bishop
New baseline
7732
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7733
ALTER SEQUENCE codereviewvote_id_seq OWNED BY codereviewvote.id;
7734
7675.1121.53 by Stuart Bishop
New baseline
7735
7736
CREATE VIEW combinedbugsummary AS
7737
    SELECT bugsummary.id, bugsummary.count, bugsummary.product, bugsummary.productseries, bugsummary.distribution, bugsummary.distroseries, bugsummary.sourcepackagename, bugsummary.viewed_by, bugsummary.tag, bugsummary.status, bugsummary.milestone, bugsummary.importance, bugsummary.has_patch, bugsummary.fixed_upstream FROM bugsummary UNION ALL SELECT (- bugsummaryjournal.id) AS id, bugsummaryjournal.count, bugsummaryjournal.product, bugsummaryjournal.productseries, bugsummaryjournal.distribution, bugsummaryjournal.distroseries, bugsummaryjournal.sourcepackagename, bugsummaryjournal.viewed_by, bugsummaryjournal.tag, bugsummaryjournal.status, bugsummaryjournal.milestone, bugsummaryjournal.importance, bugsummaryjournal.has_patch, bugsummaryjournal.fixed_upstream FROM bugsummaryjournal;
7738
7739
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7740
CREATE TABLE commercialsubscription (
7741
    id integer NOT NULL,
7742
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7743
    date_last_modified timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7744
    date_starts timestamp without time zone NOT NULL,
7745
    date_expires timestamp without time zone NOT NULL,
7746
    status integer DEFAULT 10 NOT NULL,
7747
    product integer NOT NULL,
7748
    registrant integer NOT NULL,
7749
    purchaser integer NOT NULL,
7750
    whiteboard text,
7751
    sales_system_id text
7752
);
4212.1.1 by Stuart Bishop
New database baseline
7753
7675.1121.53 by Stuart Bishop
New baseline
7754
7755
COMMENT ON TABLE commercialsubscription IS 'A Commercial Subscription entry for a project.  Projects with licenses of Other/Proprietary must purchase a subscription in order to use Launchpad.';
7756
7757
7758
COMMENT ON COLUMN commercialsubscription.date_created IS 'The date this subscription was created in Launchpad.';
7759
7760
7761
COMMENT ON COLUMN commercialsubscription.date_last_modified IS 'The date this subscription was last modified.';
7762
7763
7764
COMMENT ON COLUMN commercialsubscription.date_starts IS 'The beginning date for this subscription.  It is invalid until that date.';
7765
7766
7767
COMMENT ON COLUMN commercialsubscription.date_expires IS 'The expiration date for this subscription.  It is invalid after that date.';
7768
7769
7770
COMMENT ON COLUMN commercialsubscription.status IS 'The current status.  One of: SUBSCRIBED, LAPSED, SUSPENDED.';
7771
7772
7773
COMMENT ON COLUMN commercialsubscription.product IS 'The product this subscription enables.';
7774
7775
7776
COMMENT ON COLUMN commercialsubscription.registrant IS 'The person who created this subscription.';
7777
7778
7779
COMMENT ON COLUMN commercialsubscription.purchaser IS 'The person who purchased this subscription.';
7780
7781
7782
COMMENT ON COLUMN commercialsubscription.whiteboard IS 'A place for administrators to store comments related to this subscription.';
7783
7784
7785
COMMENT ON COLUMN commercialsubscription.sales_system_id IS 'A reference in the external sales system (e.g. Salesforce) that can be used to identify this subscription.';
7786
7787
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7788
CREATE SEQUENCE commercialsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7789
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7790
    INCREMENT BY 1
7791
    NO MAXVALUE
7792
    NO MINVALUE
7793
    CACHE 1;
7794
7675.1121.53 by Stuart Bishop
New baseline
7795
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7796
ALTER SEQUENCE commercialsubscription_id_seq OWNED BY commercialsubscription.id;
7797
7675.1121.53 by Stuart Bishop
New baseline
7798
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7799
CREATE SEQUENCE component_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7800
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7801
    INCREMENT BY 1
7802
    NO MAXVALUE
7803
    NO MINVALUE
7804
    CACHE 1;
7805
7675.1121.53 by Stuart Bishop
New baseline
7806
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7807
ALTER SEQUENCE component_id_seq OWNED BY component.id;
7808
7675.1121.53 by Stuart Bishop
New baseline
7809
3691.17.3 by Stuart Bishop
New database baseline
7810
CREATE TABLE componentselection (
4212.1.1 by Stuart Bishop
New database baseline
7811
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
7812
    distroseries integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
7813
    component integer NOT NULL,
7814
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
7815
);
7816
7675.1121.53 by Stuart Bishop
New baseline
7817
7818
COMMENT ON TABLE componentselection IS 'Allowed components in a given distroseries.';
7819
7820
7821
COMMENT ON COLUMN componentselection.distroseries IS 'Refers to the distroseries in question.';
7822
7823
7824
COMMENT ON COLUMN componentselection.component IS 'Refers to the component in qestion.';
7825
7826
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7827
CREATE SEQUENCE componentselection_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7828
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7829
    INCREMENT BY 1
7830
    NO MAXVALUE
7831
    NO MINVALUE
7832
    CACHE 1;
7833
7675.1121.53 by Stuart Bishop
New baseline
7834
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7835
ALTER SEQUENCE componentselection_id_seq OWNED BY componentselection.id;
7836
7675.1121.53 by Stuart Bishop
New baseline
7837
3691.17.3 by Stuart Bishop
New database baseline
7838
CREATE TABLE continent (
4212.1.1 by Stuart Bishop
New database baseline
7839
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7840
    code text NOT NULL,
7841
    name text NOT NULL
7675.1121.53 by Stuart Bishop
New baseline
7842
)
7843
WITH (fillfactor=100);
7844
7845
7846
COMMENT ON TABLE continent IS 'A continent in this huge world.';
7847
7848
7849
COMMENT ON COLUMN continent.code IS 'A two-letter code for a continent.';
7850
7851
7852
COMMENT ON COLUMN continent.name IS 'The name of the continent.';
7853
3691.17.3 by Stuart Bishop
New database baseline
7854
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7855
CREATE SEQUENCE continent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7856
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7857
    INCREMENT BY 1
7858
    NO MAXVALUE
7859
    NO MINVALUE
7860
    CACHE 1;
7861
7675.1121.53 by Stuart Bishop
New baseline
7862
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7863
ALTER SEQUENCE continent_id_seq OWNED BY continent.id;
7864
7675.1121.53 by Stuart Bishop
New baseline
7865
3691.17.3 by Stuart Bishop
New database baseline
7866
CREATE TABLE country (
4212.1.1 by Stuart Bishop
New database baseline
7867
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7868
    iso3166code2 character(2) NOT NULL,
7869
    iso3166code3 character(3) NOT NULL,
7870
    name text NOT NULL,
7871
    title text,
7872
    description text,
7873
    continent integer NOT NULL
7675.1121.53 by Stuart Bishop
New baseline
7874
)
7875
WITH (fillfactor=100);
7876
3691.17.3 by Stuart Bishop
New database baseline
7877
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7878
CREATE SEQUENCE country_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7879
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7880
    INCREMENT BY 1
7881
    NO MAXVALUE
7882
    NO MINVALUE
7883
    CACHE 1;
7884
7675.1121.53 by Stuart Bishop
New baseline
7885
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7886
ALTER SEQUENCE country_id_seq OWNED BY country.id;
7887
7675.1121.53 by Stuart Bishop
New baseline
7888
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7889
CREATE TABLE customlanguagecode (
7890
    id integer NOT NULL,
7891
    product integer,
7892
    distribution integer,
7893
    sourcepackagename integer,
7894
    language_code text NOT NULL,
7895
    language integer,
7896
    CONSTRAINT distro_and_sourcepackage CHECK (((sourcepackagename IS NULL) = (distribution IS NULL))),
7897
    CONSTRAINT product_or_distro CHECK (((product IS NULL) <> (distribution IS NULL)))
7898
);
4212.1.1 by Stuart Bishop
New database baseline
7899
7675.1121.53 by Stuart Bishop
New baseline
7900
7901
COMMENT ON TABLE customlanguagecode IS 'Overrides translation importer''s interpretation of language codes where needed.';
7902
7903
7904
COMMENT ON COLUMN customlanguagecode.product IS 'Product for which this custom language code applies (alternative to distribution + source package name).';
7905
7906
7907
COMMENT ON COLUMN customlanguagecode.distribution IS 'Distribution in which this custom language code applies (if not a product).';
7908
7909
7910
COMMENT ON COLUMN customlanguagecode.sourcepackagename IS 'Source package name to which this custom language code applies; goes with distribution.';
7911
7912
7913
COMMENT ON COLUMN customlanguagecode.language_code IS 'Custom language code; need not be for a real language, and typically not for a "useful" language.';
7914
7915
7916
COMMENT ON COLUMN customlanguagecode.language IS 'Language to which code really refers in this context, or NULL if files with this code are to be rejected.';
7917
7918
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7919
CREATE SEQUENCE customlanguagecode_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7920
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7921
    INCREMENT BY 1
7922
    NO MAXVALUE
7923
    NO MINVALUE
7924
    CACHE 1;
7925
7675.1121.53 by Stuart Bishop
New baseline
7926
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7927
ALTER SEQUENCE customlanguagecode_id_seq OWNED BY customlanguagecode.id;
7928
7675.1121.53 by Stuart Bishop
New baseline
7929
3691.17.3 by Stuart Bishop
New database baseline
7930
CREATE TABLE cve (
4212.1.1 by Stuart Bishop
New database baseline
7931
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7932
    sequence text NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7933
    status integer NOT NULL,
7934
    description text NOT NULL,
7935
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7936
    datemodified timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7937
    fti ts2.tsvector,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
7938
    CONSTRAINT valid_cve_ref CHECK (valid_cve(sequence))
3691.17.3 by Stuart Bishop
New database baseline
7939
);
7940
7675.1121.53 by Stuart Bishop
New baseline
7941
7942
COMMENT ON TABLE cve IS 'A CVE Entry. The formal database of CVE entries is available at http://cve.mitre.org/ and we sync that database into Launchpad on a regular basis.';
7943
7944
7945
COMMENT ON COLUMN cve.sequence IS 'The official CVE entry number. It takes the form XXXX-XXXX where the first four digits are a year indicator, like 2004, and the latter four are the sequence number of the vulnerability in that year.';
7946
7947
7948
COMMENT ON COLUMN cve.status IS 'The current status of the CVE. The values are documented in dbschema.CVEState, and are Entry, Candidate, and Deprecated.';
7949
7950
7951
COMMENT ON COLUMN cve.datemodified IS 'The last time this CVE entry changed in some way - including addition or modification of references.';
7952
7953
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7954
CREATE SEQUENCE cve_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7955
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7956
    INCREMENT BY 1
7957
    NO MAXVALUE
7958
    NO MINVALUE
7959
    CACHE 1;
7960
7675.1121.53 by Stuart Bishop
New baseline
7961
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7962
ALTER SEQUENCE cve_id_seq OWNED BY cve.id;
7963
7675.1121.53 by Stuart Bishop
New baseline
7964
3691.17.3 by Stuart Bishop
New database baseline
7965
CREATE TABLE cvereference (
4212.1.1 by Stuart Bishop
New database baseline
7966
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
7967
    cve integer NOT NULL,
7968
    source text NOT NULL,
7969
    content text NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
7970
    url text,
7971
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
7972
);
7973
7675.1121.53 by Stuart Bishop
New baseline
7974
7975
COMMENT ON TABLE cvereference IS 'A reference in the CVE system that shows what outside tracking numbers are associated with the CVE. These are tracked in the CVE database and extracted from the daily XML dump that we fetch.';
7976
7977
7978
COMMENT ON COLUMN cvereference.source IS 'The SOURCE of the CVE reference. This is a text string, like XF or BUGTRAQ or MSKB. Each string indicates a different kind of reference. The list of known types is documented on the CVE web site. At some future date we might turn this into an enum rather than a text, but for the moment we prefer to keep it fluid and just suck in what CVE gives us. This means that CVE can add new source types without us having to update our code.';
7979
7980
7981
COMMENT ON COLUMN cvereference.content IS 'The content of the ref in the CVE database. This is sometimes a comment, sometimes a description, sometimes a bug number... it is not predictable.';
7982
7983
7984
COMMENT ON COLUMN cvereference.url IS 'The URL to this reference out there on the web, if it was present in the CVE database.';
7985
7986
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7987
CREATE SEQUENCE cvereference_id_seq
7675.1121.53 by Stuart Bishop
New baseline
7988
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7989
    INCREMENT BY 1
7990
    NO MAXVALUE
7991
    NO MINVALUE
7992
    CACHE 1;
7993
7675.1121.53 by Stuart Bishop
New baseline
7994
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
7995
ALTER SEQUENCE cvereference_id_seq OWNED BY cvereference.id;
7996
7675.1121.53 by Stuart Bishop
New baseline
7997
7675.395.118 by Stuart Bishop
New database baseline from production
7998
CREATE TABLE databasecpustats (
7999
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8000
    username text NOT NULL,
8001
    cpu integer NOT NULL
7675.1121.53 by Stuart Bishop
New baseline
8002
)
8003
WITH (fillfactor=100);
8004
8005
8006
COMMENT ON TABLE databasecpustats IS 'Snapshots of CPU utilization per database username.';
8007
8008
8009
COMMENT ON COLUMN databasecpustats.cpu IS '% CPU utilization * 100, as reported by ps -o cp';
8010
8011
8012
CREATE TABLE databasediskutilization (
8013
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8014
    namespace text NOT NULL,
8015
    name text NOT NULL,
8016
    sub_namespace text,
8017
    sub_name text,
8018
    kind character(1) NOT NULL,
8019
    sort text NOT NULL,
8020
    table_len bigint NOT NULL,
8021
    tuple_count bigint NOT NULL,
8022
    tuple_len bigint NOT NULL,
8023
    tuple_percent double precision NOT NULL,
8024
    dead_tuple_count bigint NOT NULL,
8025
    dead_tuple_len bigint NOT NULL,
8026
    dead_tuple_percent double precision NOT NULL,
8027
    free_space bigint NOT NULL,
8028
    free_percent double precision NOT NULL
8029
)
8030
WITH (fillfactor=100);
8031
7675.395.118 by Stuart Bishop
New database baseline from production
8032
8033
CREATE TABLE databasereplicationlag (
8034
    node integer NOT NULL,
8035
    lag interval NOT NULL,
8036
    updated timestamp without time zone DEFAULT timezone('UTC'::text, now())
8037
);
8038
7675.1121.53 by Stuart Bishop
New baseline
8039
8040
COMMENT ON TABLE databasereplicationlag IS 'A cached snapshot of database replication lag between our master Slony node and its slaves.';
8041
8042
8043
COMMENT ON COLUMN databasereplicationlag.node IS 'The Slony node number identifying the slave database.';
8044
8045
8046
COMMENT ON COLUMN databasereplicationlag.lag IS 'lag time.';
8047
8048
8049
COMMENT ON COLUMN databasereplicationlag.updated IS 'When this value was updated.';
8050
8051
7675.395.118 by Stuart Bishop
New database baseline from production
8052
CREATE TABLE databasetablestats (
8053
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8054
    schemaname name NOT NULL,
8055
    relname name NOT NULL,
8056
    seq_scan bigint NOT NULL,
8057
    seq_tup_read bigint NOT NULL,
8058
    idx_scan bigint NOT NULL,
8059
    idx_tup_fetch bigint NOT NULL,
8060
    n_tup_ins bigint NOT NULL,
8061
    n_tup_upd bigint NOT NULL,
8062
    n_tup_del bigint NOT NULL,
8063
    n_tup_hot_upd bigint NOT NULL,
8064
    n_live_tup bigint NOT NULL,
8065
    n_dead_tup bigint NOT NULL,
8066
    last_vacuum timestamp with time zone,
8067
    last_autovacuum timestamp with time zone,
8068
    last_analyze timestamp with time zone,
8069
    last_autoanalyze timestamp with time zone
7675.1121.53 by Stuart Bishop
New baseline
8070
)
8071
WITH (fillfactor=100);
8072
8073
8074
COMMENT ON TABLE databasetablestats IS 'Snapshots of pg_stat_user_tables to let us calculate arbitrary deltas';
8075
7675.395.118 by Stuart Bishop
New database baseline from production
8076
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8077
CREATE TABLE diff (
8078
    id integer NOT NULL,
8079
    diff_text integer,
8080
    diff_lines_count integer,
8081
    diffstat text,
8082
    added_lines_count integer,
8083
    removed_lines_count integer
8084
);
8085
7675.1121.53 by Stuart Bishop
New baseline
8086
8087
COMMENT ON TABLE diff IS 'Information common to static or preview diffs';
8088
8089
8090
COMMENT ON COLUMN diff.diff_text IS 'The library copy of the fulltext of the diff';
8091
8092
8093
COMMENT ON COLUMN diff.diff_lines_count IS 'The number of lines in the diff';
8094
8095
8096
COMMENT ON COLUMN diff.diffstat IS 'Statistics about the diff';
8097
8098
8099
COMMENT ON COLUMN diff.added_lines_count IS 'The number of lines added in the diff.';
8100
8101
8102
COMMENT ON COLUMN diff.removed_lines_count IS 'The number of lines removed in the diff';
8103
8104
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8105
CREATE SEQUENCE diff_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8106
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8107
    INCREMENT BY 1
8108
    NO MAXVALUE
8109
    NO MINVALUE
8110
    CACHE 1;
8111
7675.1121.53 by Stuart Bishop
New baseline
8112
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8113
ALTER SEQUENCE diff_id_seq OWNED BY diff.id;
8114
7675.1121.53 by Stuart Bishop
New baseline
8115
3691.17.3 by Stuart Bishop
New database baseline
8116
CREATE TABLE distribution (
4212.1.1 by Stuart Bishop
New database baseline
8117
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8118
    name text NOT NULL,
8119
    title text NOT NULL,
8120
    description text NOT NULL,
8121
    domainname text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8122
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8123
    displayname text NOT NULL,
8124
    summary text NOT NULL,
8125
    members integer NOT NULL,
8126
    translationgroup integer,
8127
    translationpermission integer DEFAULT 1 NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8128
    bug_supervisor integer,
3691.17.3 by Stuart Bishop
New database baseline
8129
    official_malone boolean DEFAULT false NOT NULL,
8130
    official_rosetta boolean DEFAULT false NOT NULL,
8131
    security_contact integer,
8132
    driver integer,
8133
    translation_focus integer,
8134
    mirror_admin integer NOT NULL,
8135
    upload_admin integer,
8136
    upload_sender text,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
8137
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8138
    homepage_content text,
4990.1.1 by Stuart Bishop
New database baseline
8139
    icon integer,
8140
    mugshot integer,
8141
    logo integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
8142
    fti ts2.tsvector,
4212.1.1 by Stuart Bishop
New database baseline
8143
    official_answers boolean DEFAULT false NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
8144
    language_pack_admin integer,
5529.1.3 by Stuart Bishop
New database schema baseline
8145
    official_blueprints boolean DEFAULT false NOT NULL,
8146
    enable_bug_expiration boolean DEFAULT false NOT NULL,
8147
    bug_reporting_guidelines text,
8148
    reviewer_whiteboard text,
7675.395.118 by Stuart Bishop
New database baseline from production
8149
    max_bug_heat integer,
8150
    bug_reported_acknowledgement text,
8151
    answers_usage integer DEFAULT 10 NOT NULL,
8152
    blueprints_usage integer DEFAULT 10 NOT NULL,
8153
    translations_usage integer DEFAULT 10 NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
8154
    registrant integer NOT NULL,
8155
    package_derivatives_email text,
5529.1.3 by Stuart Bishop
New database schema baseline
8156
    CONSTRAINT only_launchpad_has_expiration CHECK (((enable_bug_expiration IS FALSE) OR (official_malone IS TRUE))),
3691.17.3 by Stuart Bishop
New database baseline
8157
    CONSTRAINT valid_name CHECK (valid_name(name))
8158
);
8159
7675.1121.53 by Stuart Bishop
New baseline
8160
8161
COMMENT ON TABLE distribution IS 'Distribution: A soyuz distribution. A distribution is a collection of DistroSeries. Distributions often group together policy and may be referred to by a name such as "Ubuntu" or "Debian"';
8162
8163
8164
COMMENT ON COLUMN distribution.name IS 'The unique name of the distribution as a short lowercase name suitable for use in a URL.';
8165
8166
8167
COMMENT ON COLUMN distribution.title IS 'The title of the distribution. More a "display name" as it were. E.g. "Ubuntu" or "Debian GNU/Linux"';
8168
8169
8170
COMMENT ON COLUMN distribution.description IS 'A description of the distribution. More detailed than the title, this column may also contain information about the project this distribution is run by.';
8171
8172
8173
COMMENT ON COLUMN distribution.domainname IS 'The domain name of the distribution. This may be used both for linking to the distribution and for context-related stuff.';
8174
8175
8176
COMMENT ON COLUMN distribution.owner IS 'The person in launchpad who is in ultimate-charge of this distribution within launchpad.';
8177
8178
8179
COMMENT ON COLUMN distribution.displayname IS 'A short, well-capitalised
8180
name for this distribution that is not required to be unique but in almost
8181
all cases would be so.';
8182
8183
8184
COMMENT ON COLUMN distribution.summary IS 'A single paragraph that
8185
summarises the highlights of this distribution. It should be no longer than
8186
240 characters, although this is not enforced in the database.';
8187
8188
8189
COMMENT ON COLUMN distribution.members IS 'Person or team with upload and commit priviledges relating to this distribution. Other rights may be assigned to this role in the future.';
8190
8191
8192
COMMENT ON COLUMN distribution.translationgroup IS 'The translation group that is responsible for all translation work in this distribution.';
8193
8194
8195
COMMENT ON COLUMN distribution.translationpermission IS 'The level of openness of this distribution''s translation process. The enum lists different approaches to translation, from the very open (anybody can edit any translation in any language) to the completely closed (only designated translators can make any changes at all).';
8196
8197
8198
COMMENT ON COLUMN distribution.bug_supervisor IS 'Person who is responsible for managing bugs on this distribution.';
8199
8200
8201
COMMENT ON COLUMN distribution.official_malone IS 'Whether or not this distribution uses Malone for an official bug tracker.';
8202
8203
8204
COMMENT ON COLUMN distribution.official_rosetta IS 'Whether or not this distribution uses Rosetta for its official translation team and coordination.';
8205
8206
8207
COMMENT ON COLUMN distribution.security_contact IS 'The person or team who handles security-related issues in the distribution.';
8208
8209
8210
COMMENT ON COLUMN distribution.driver IS 'The team or person responsible for approving goals for each release in the distribution. This should usually be a very small team because the Distribution driver can approve items for backporting to past releases as well as the current release under development. Each distroseries has its own driver too, so you can have the small superset in the Distribution driver, and then specific teams per distroseries for backporting, for example, or for the current release management team on the current development focus release.';
8211
8212
8213
COMMENT ON COLUMN distribution.translation_focus IS 'The DistroSeries that should get the translation effort focus.';
8214
8215
8216
COMMENT ON COLUMN distribution.mirror_admin IS 'Person or team with privileges to mark a mirror as official.';
8217
8218
8219
COMMENT ON COLUMN distribution.upload_admin IS 'Person foreign key which have access to modify the queue ui. If NULL, we fall back to launchpad admin members';
8220
8221
8222
COMMENT ON COLUMN distribution.upload_sender IS 'The email address (and name) of the default sender used by the upload processor. If NULL, we fall back to the default sender in the launchpad config.';
8223
8224
8225
COMMENT ON COLUMN distribution.homepage_content IS 'A home page for this distribution in the Launchpad.';
8226
8227
8228
COMMENT ON COLUMN distribution.icon IS 'The library file alias to a small image to be used as an icon whenever we are referring to a distribution.';
8229
8230
8231
COMMENT ON COLUMN distribution.mugshot IS 'The library file alias of a mugshot image to display as the branding of a distribution, on its home page.';
8232
8233
8234
COMMENT ON COLUMN distribution.logo IS 'The library file alias of a smaller version of this distributions''s mugshot.';
8235
8236
8237
COMMENT ON COLUMN distribution.official_answers IS 'Whether or not this product upstream uses Answers officialy.';
8238
8239
8240
COMMENT ON COLUMN distribution.language_pack_admin IS 'The Person or Team that handle language packs for the distro release.';
8241
8242
8243
COMMENT ON COLUMN distribution.enable_bug_expiration IS 'Indicates whether automatic bug expiration is enabled.';
8244
8245
8246
COMMENT ON COLUMN distribution.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on this distribution.';
8247
8248
8249
COMMENT ON COLUMN distribution.reviewer_whiteboard IS 'A whiteboard for Launchpad admins, registry experts and the project owners to capture the state of current issues with the project.';
8250
8251
8252
COMMENT ON COLUMN distribution.max_bug_heat IS 'The highest heat value across bugs for this distribution.';
8253
8254
8255
COMMENT ON COLUMN distribution.bug_reported_acknowledgement IS 'A message of acknowledgement to display to a bug reporter after they''ve reported a new bug.';
8256
8257
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8258
CREATE SEQUENCE distribution_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8259
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8260
    INCREMENT BY 1
8261
    NO MAXVALUE
8262
    NO MINVALUE
8263
    CACHE 1;
8264
7675.1121.53 by Stuart Bishop
New baseline
8265
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8266
ALTER SEQUENCE distribution_id_seq OWNED BY distribution.id;
8267
7675.1121.53 by Stuart Bishop
New baseline
8268
8269
CREATE TABLE distributionjob (
4212.1.1 by Stuart Bishop
New database baseline
8270
    id integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
8271
    job integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
8272
    distribution integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
8273
    distroseries integer,
8274
    job_type integer NOT NULL,
8275
    json_data text
3691.17.3 by Stuart Bishop
New database baseline
8276
);
8277
7675.1121.53 by Stuart Bishop
New baseline
8278
8279
COMMENT ON TABLE distributionjob IS 'Contains references to jobs to be run on distributions.';
8280
8281
8282
COMMENT ON COLUMN distributionjob.distribution IS 'The distribution to be acted on.';
8283
8284
8285
COMMENT ON COLUMN distributionjob.distroseries IS 'The distroseries to be acted on.';
8286
8287
8288
COMMENT ON COLUMN distributionjob.job_type IS 'The type of job';
8289
8290
8291
COMMENT ON COLUMN distributionjob.json_data IS 'A JSON struct containing data for the job.';
8292
8293
8294
CREATE SEQUENCE distributionjob_id_seq
8295
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8296
    INCREMENT BY 1
8297
    NO MAXVALUE
8298
    NO MINVALUE
8299
    CACHE 1;
8300
7675.1121.53 by Stuart Bishop
New baseline
8301
8302
ALTER SEQUENCE distributionjob_id_seq OWNED BY distributionjob.id;
8303
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8304
3691.17.3 by Stuart Bishop
New database baseline
8305
CREATE TABLE distributionmirror (
4212.1.1 by Stuart Bishop
New database baseline
8306
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8307
    distribution integer NOT NULL,
8308
    name text NOT NULL,
8309
    http_base_url text,
8310
    ftp_base_url text,
8311
    rsync_base_url text,
8312
    displayname text,
8313
    description text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8314
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8315
    speed integer NOT NULL,
8316
    country integer NOT NULL,
8317
    content integer NOT NULL,
8318
    official_candidate boolean DEFAULT false NOT NULL,
8319
    enabled boolean DEFAULT false NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
8320
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
8321
    whiteboard text,
5529.1.3 by Stuart Bishop
New database schema baseline
8322
    status integer DEFAULT 10 NOT NULL,
8323
    date_reviewed timestamp without time zone,
8324
    reviewer integer,
7675.395.118 by Stuart Bishop
New database baseline from production
8325
    country_dns_mirror boolean DEFAULT false NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8326
    CONSTRAINT one_or_more_urls CHECK ((((http_base_url IS NOT NULL) OR (ftp_base_url IS NOT NULL)) OR (rsync_base_url IS NOT NULL))),
8327
    CONSTRAINT valid_ftp_base_url CHECK (valid_absolute_url(ftp_base_url)),
8328
    CONSTRAINT valid_http_base_url CHECK (valid_absolute_url(http_base_url)),
8329
    CONSTRAINT valid_name CHECK (valid_name(name)),
8330
    CONSTRAINT valid_rsync_base_url CHECK (valid_absolute_url(rsync_base_url))
8331
);
8332
7675.1121.53 by Stuart Bishop
New baseline
8333
8334
COMMENT ON TABLE distributionmirror IS 'A mirror of a given distribution.';
8335
8336
8337
COMMENT ON COLUMN distributionmirror.distribution IS 'The distribution to which the mirror refers to.';
8338
8339
8340
COMMENT ON COLUMN distributionmirror.name IS 'The unique name of the mirror.';
8341
8342
8343
COMMENT ON COLUMN distributionmirror.http_base_url IS 'The HTTP URL used to access the mirror.';
8344
8345
8346
COMMENT ON COLUMN distributionmirror.ftp_base_url IS 'The FTP URL used to access the mirror.';
8347
8348
8349
COMMENT ON COLUMN distributionmirror.rsync_base_url IS 'The Rsync URL used to access the mirror.';
8350
8351
8352
COMMENT ON COLUMN distributionmirror.displayname IS 'The displayname of the mirror.';
8353
8354
8355
COMMENT ON COLUMN distributionmirror.description IS 'A description of the mirror.';
8356
8357
8358
COMMENT ON COLUMN distributionmirror.owner IS 'The owner of the mirror.';
8359
8360
8361
COMMENT ON COLUMN distributionmirror.speed IS 'The speed of the mirror''s Internet link.';
8362
8363
8364
COMMENT ON COLUMN distributionmirror.country IS 'The country where the mirror is located.';
8365
8366
8367
COMMENT ON COLUMN distributionmirror.content IS 'The content that is mirrored.';
8368
8369
8370
COMMENT ON COLUMN distributionmirror.official_candidate IS 'Is the mirror a candidate for becoming an official mirror?';
8371
8372
8373
COMMENT ON COLUMN distributionmirror.enabled IS 'Is this mirror enabled?';
8374
8375
8376
COMMENT ON COLUMN distributionmirror.date_created IS 'The date and time the mirror was created.';
8377
8378
8379
COMMENT ON COLUMN distributionmirror.whiteboard IS 'Notes on the current status of the mirror';
8380
8381
8382
COMMENT ON COLUMN distributionmirror.status IS 'This mirror''s status.';
8383
8384
8385
COMMENT ON COLUMN distributionmirror.date_reviewed IS 'The date and time the mirror was reviewed.';
8386
8387
8388
COMMENT ON COLUMN distributionmirror.reviewer IS 'The person who reviewed the mirror.';
8389
8390
8391
COMMENT ON COLUMN distributionmirror.country_dns_mirror IS 'Is the mirror a country DNS mirror?';
8392
8393
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8394
CREATE SEQUENCE distributionmirror_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8395
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8396
    INCREMENT BY 1
8397
    NO MAXVALUE
8398
    NO MINVALUE
8399
    CACHE 1;
8400
7675.1121.53 by Stuart Bishop
New baseline
8401
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8402
ALTER SEQUENCE distributionmirror_id_seq OWNED BY distributionmirror.id;
8403
7675.1121.53 by Stuart Bishop
New baseline
8404
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8405
CREATE TABLE distributionsourcepackage (
8406
    id integer NOT NULL,
8407
    distribution integer NOT NULL,
8408
    sourcepackagename integer NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
8409
    bug_reporting_guidelines text,
8410
    max_bug_heat integer,
8411
    bug_reported_acknowledgement text,
8412
    total_bug_heat integer,
8413
    bug_count integer,
8414
    po_message_count integer,
7675.1121.53 by Stuart Bishop
New baseline
8415
    is_upstream_link_allowed boolean DEFAULT true NOT NULL,
8416
    enable_bugfiling_duplicate_search boolean DEFAULT true NOT NULL
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8417
);
3691.17.3 by Stuart Bishop
New database baseline
8418
7675.1121.53 by Stuart Bishop
New baseline
8419
8420
COMMENT ON TABLE distributionsourcepackage IS 'Representing a sourcepackage in a distribution across all distribution series.';
8421
8422
8423
COMMENT ON COLUMN distributionsourcepackage.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on a particular a source package in a distribution.';
8424
8425
8426
COMMENT ON COLUMN distributionsourcepackage.max_bug_heat IS 'The highest heat value across bugs for this source package. NULL means it has not yet been calculated.';
8427
8428
8429
COMMENT ON COLUMN distributionsourcepackage.bug_reported_acknowledgement IS 'A message of acknowledgement to display to a bug reporter after they''ve reported a new bug.';
8430
8431
8432
COMMENT ON COLUMN distributionsourcepackage.total_bug_heat IS 'Sum of bug heat matching the package distribution and sourcepackagename. NULL means it has not yet been calculated.';
8433
8434
8435
COMMENT ON COLUMN distributionsourcepackage.bug_count IS 'Number of bugs matching the package distribution and sourcepackagename. NULL means it has not yet been calculated.';
8436
8437
8438
COMMENT ON COLUMN distributionsourcepackage.po_message_count IS 'Number of translations matching the package distribution and sourcepackagename. NULL means it has not yet been calculated.';
8439
8440
8441
COMMENT ON COLUMN distributionsourcepackage.is_upstream_link_allowed IS 'Whether an upstream link may be added if it does not already exist.';
8442
8443
8444
COMMENT ON COLUMN distributionsourcepackage.enable_bugfiling_duplicate_search IS 'Enable/disable a search for posiible duplicates when a bug is filed.';
8445
8446
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8447
CREATE SEQUENCE distributionsourcepackage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8448
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8449
    INCREMENT BY 1
8450
    NO MAXVALUE
8451
    NO MINVALUE
8452
    CACHE 1;
8453
7675.1121.53 by Stuart Bishop
New baseline
8454
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8455
ALTER SEQUENCE distributionsourcepackage_id_seq OWNED BY distributionsourcepackage.id;
8456
7675.1121.53 by Stuart Bishop
New baseline
8457
3691.17.3 by Stuart Bishop
New database baseline
8458
CREATE TABLE distributionsourcepackagecache (
4212.1.1 by Stuart Bishop
New database baseline
8459
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8460
    distribution integer NOT NULL,
8461
    sourcepackagename integer NOT NULL,
8462
    name text,
8463
    binpkgnames text,
8464
    binpkgsummaries text,
8465
    binpkgdescriptions text,
4990.1.1 by Stuart Bishop
New database baseline
8466
    fti ts2.tsvector,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8467
    changelog text,
8468
    archive integer NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
8469
);
8470
7675.1121.53 by Stuart Bishop
New baseline
8471
8472
COMMENT ON TABLE distributionsourcepackagecache IS 'A cache of the text associated with binary and source packages in the distribution. This table allows for fast queries to find a source packagename that matches a given text.';
8473
8474
8475
COMMENT ON COLUMN distributionsourcepackagecache.distribution IS 'The distribution in which we are checking.';
8476
8477
8478
COMMENT ON COLUMN distributionsourcepackagecache.sourcepackagename IS 'The source package name for which we are caching details.';
8479
8480
8481
COMMENT ON COLUMN distributionsourcepackagecache.name IS 'The source package name itself. This is just a copy of the value of sourcepackagename.name. We have it here so it can be part of the full text index.';
8482
8483
8484
COMMENT ON COLUMN distributionsourcepackagecache.binpkgnames IS 'The binary package names of binary packages generated from these source packages across all architectures.';
8485
8486
8487
COMMENT ON COLUMN distributionsourcepackagecache.binpkgsummaries IS 'The aggregated summaries of all the binary packages generated from these source packages in this distribution.';
8488
8489
8490
COMMENT ON COLUMN distributionsourcepackagecache.binpkgdescriptions IS 'The aggregated description of all the binary packages generated from these source packages in this distribution.';
8491
8492
8493
COMMENT ON COLUMN distributionsourcepackagecache.changelog IS 'A concatenation of the source package release changelogs for this source package, where the status is not REMOVED.';
8494
8495
8496
COMMENT ON COLUMN distributionsourcepackagecache.archive IS 'The archive where the source is published.';
8497
8498
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8499
CREATE SEQUENCE distributionsourcepackagecache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8500
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8501
    INCREMENT BY 1
8502
    NO MAXVALUE
8503
    NO MINVALUE
8504
    CACHE 1;
8505
7675.1121.53 by Stuart Bishop
New baseline
8506
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8507
ALTER SEQUENCE distributionsourcepackagecache_id_seq OWNED BY distributionsourcepackagecache.id;
8508
7675.1121.53 by Stuart Bishop
New baseline
8509
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8510
CREATE SEQUENCE distroarchseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8511
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8512
    INCREMENT BY 1
8513
    NO MAXVALUE
8514
    NO MINVALUE
8515
    CACHE 1;
8516
7675.1121.53 by Stuart Bishop
New baseline
8517
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8518
ALTER SEQUENCE distroarchseries_id_seq OWNED BY distroarchseries.id;
8519
8520
8521
CREATE SEQUENCE distroseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8522
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8523
    INCREMENT BY 1
8524
    NO MAXVALUE
8525
    NO MINVALUE
8526
    CACHE 1;
8527
7675.1121.53 by Stuart Bishop
New baseline
8528
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8529
ALTER SEQUENCE distroseries_id_seq OWNED BY distroseries.id;
8530
7675.1121.53 by Stuart Bishop
New baseline
8531
8532
CREATE TABLE distroseriesdifference (
8533
    id integer NOT NULL,
8534
    derived_series integer NOT NULL,
8535
    source_package_name integer NOT NULL,
8536
    package_diff integer,
8537
    status integer NOT NULL,
8538
    difference_type integer NOT NULL,
8539
    parent_package_diff integer,
8540
    source_version debversion,
8541
    parent_source_version debversion,
8542
    base_version debversion,
8543
    parent_series integer NOT NULL,
8544
    CONSTRAINT valid_base_version CHECK (valid_debian_version((base_version)::text)),
8545
    CONSTRAINT valid_parent_source_version CHECK (valid_debian_version((parent_source_version)::text)),
8546
    CONSTRAINT valid_source_version CHECK (valid_debian_version((source_version)::text))
8547
);
8548
8549
8550
COMMENT ON TABLE distroseriesdifference IS 'A difference of versions for a package in a derived distroseries and its parent distroseries.';
8551
8552
8553
COMMENT ON COLUMN distroseriesdifference.derived_series IS 'The derived distroseries with the difference from its parent.';
8554
8555
8556
COMMENT ON COLUMN distroseriesdifference.source_package_name IS 'The name of the source package which is different in the two series.';
8557
8558
8559
COMMENT ON COLUMN distroseriesdifference.package_diff IS 'The most recent package diff that was created for the base version to derived version.';
8560
8561
8562
COMMENT ON COLUMN distroseriesdifference.status IS 'A distroseries difference can be needing attention, ignored or resolved.';
8563
8564
8565
COMMENT ON COLUMN distroseriesdifference.difference_type IS 'The type of difference that this record represents - a package unique to the derived series, or missing, or in both.';
8566
8567
8568
COMMENT ON COLUMN distroseriesdifference.parent_package_diff IS 'The most recent package diff that was created for the base version to the parent version.';
8569
8570
8571
COMMENT ON COLUMN distroseriesdifference.source_version IS 'The version of the package in the derived series.';
8572
8573
8574
COMMENT ON COLUMN distroseriesdifference.parent_source_version IS 'The version of the package in the parent series.';
8575
8576
8577
COMMENT ON COLUMN distroseriesdifference.base_version IS 'The common base version of the package for the derived and parent series.';
8578
8579
8580
CREATE SEQUENCE distroseriesdifference_id_seq
8581
    START WITH 1
8582
    INCREMENT BY 1
8583
    NO MAXVALUE
8584
    NO MINVALUE
8585
    CACHE 1;
8586
8587
8588
ALTER SEQUENCE distroseriesdifference_id_seq OWNED BY distroseriesdifference.id;
8589
8590
8591
CREATE TABLE distroseriesdifferencemessage (
8592
    id integer NOT NULL,
8593
    distro_series_difference integer NOT NULL,
8594
    message integer NOT NULL
8595
);
8596
8597
8598
COMMENT ON TABLE distroseriesdifferencemessage IS 'A message/comment on a distro series difference.';
8599
8600
8601
COMMENT ON COLUMN distroseriesdifferencemessage.distro_series_difference IS 'The distro series difference for this comment.';
8602
8603
8604
COMMENT ON COLUMN distroseriesdifferencemessage.message IS 'The comment for the distro series difference.';
8605
8606
8607
CREATE SEQUENCE distroseriesdifferencemessage_id_seq
8608
    START WITH 1
8609
    INCREMENT BY 1
8610
    NO MAXVALUE
8611
    NO MINVALUE
8612
    CACHE 1;
8613
8614
8615
ALTER SEQUENCE distroseriesdifferencemessage_id_seq OWNED BY distroseriesdifferencemessage.id;
8616
8617
5529.1.3 by Stuart Bishop
New database schema baseline
8618
CREATE TABLE distroserieslanguage (
4212.1.1 by Stuart Bishop
New database baseline
8619
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
8620
    distroseries integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8621
    language integer,
3691.17.3 by Stuart Bishop
New database baseline
8622
    currentcount integer NOT NULL,
8623
    updatescount integer NOT NULL,
8624
    rosettacount integer NOT NULL,
8625
    contributorcount integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
8626
    dateupdated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
8627
    unreviewed_count integer DEFAULT 0 NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
8628
);
8629
7675.1121.53 by Stuart Bishop
New baseline
8630
8631
COMMENT ON TABLE distroserieslanguage IS 'A cache of the current translation status of that language across an entire distroseries.';
8632
8633
8634
COMMENT ON COLUMN distroserieslanguage.currentcount IS 'As per IRosettaStats.';
8635
8636
8637
COMMENT ON COLUMN distroserieslanguage.updatescount IS 'As per IRosettaStats.';
8638
8639
8640
COMMENT ON COLUMN distroserieslanguage.rosettacount IS 'As per IRosettaStats.';
8641
8642
8643
COMMENT ON COLUMN distroserieslanguage.contributorcount IS 'The total number of contributors to the translation of this distroseries into this language.';
8644
8645
8646
COMMENT ON COLUMN distroserieslanguage.dateupdated IS 'The date these statistucs were last updated.';
8647
8648
8649
COMMENT ON COLUMN distroserieslanguage.unreviewed_count IS 'As per IRosettaStats.';
8650
8651
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8652
CREATE SEQUENCE distroserieslanguage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8653
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8654
    INCREMENT BY 1
8655
    NO MAXVALUE
8656
    NO MINVALUE
8657
    CACHE 1;
8658
7675.1121.53 by Stuart Bishop
New baseline
8659
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8660
ALTER SEQUENCE distroserieslanguage_id_seq OWNED BY distroserieslanguage.id;
8661
7675.1121.53 by Stuart Bishop
New baseline
8662
5529.1.3 by Stuart Bishop
New database schema baseline
8663
CREATE TABLE distroseriespackagecache (
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8664
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
8665
    distroseries integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8666
    binarypackagename integer NOT NULL,
8667
    name text,
8668
    summary text,
8669
    description text,
8670
    summaries text,
8671
    descriptions text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8672
    fti ts2.tsvector,
8673
    archive integer NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
8674
);
8675
7675.1121.53 by Stuart Bishop
New baseline
8676
8677
COMMENT ON TABLE distroseriespackagecache IS 'A cache of the text associated with binary packages in the distroseries. This table allows for fast queries to find a binary packagename that matches a given text.';
8678
8679
8680
COMMENT ON COLUMN distroseriespackagecache.distroseries IS 'The distroseries in which we are checking.';
8681
8682
8683
COMMENT ON COLUMN distroseriespackagecache.binarypackagename IS 'The binary package name for which we are caching details.';
8684
8685
8686
COMMENT ON COLUMN distroseriespackagecache.name IS 'The binary package name itself. This is just a copy of the value of binarypackagename.name. We have it here so it can be part of the full text index.';
8687
8688
8689
COMMENT ON COLUMN distroseriespackagecache.summary IS 'A single summary for one of the binary packages of this name in this distroseries. We could potentially have binary packages in different architectures with the same name and different summaries, so this is a way of collapsing to one arbitrarily-chosen one, for display purposes. The chances of actually having different summaries and descriptions is pretty small. It could happen, though, because of the way package superseding works when a package does not build on a specific architecture.';
8690
8691
8692
COMMENT ON COLUMN distroseriespackagecache.summaries IS 'The aggregated summaries of all the binary packages with this name in this distroseries.';
8693
8694
8695
COMMENT ON COLUMN distroseriespackagecache.descriptions IS 'The aggregated description of all the binary packages with this name in this distroseries.';
8696
8697
8698
COMMENT ON COLUMN distroseriespackagecache.archive IS 'The archive where the binary is published.';
8699
8700
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8701
CREATE SEQUENCE distroseriespackagecache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8702
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8703
    INCREMENT BY 1
8704
    NO MAXVALUE
8705
    NO MINVALUE
8706
    CACHE 1;
8707
7675.1121.53 by Stuart Bishop
New baseline
8708
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8709
ALTER SEQUENCE distroseriespackagecache_id_seq OWNED BY distroseriespackagecache.id;
8710
7675.1121.53 by Stuart Bishop
New baseline
8711
8712
CREATE TABLE distroseriesparent (
8713
    id integer NOT NULL,
8714
    derived_series integer NOT NULL,
8715
    parent_series integer NOT NULL,
8716
    initialized boolean NOT NULL,
8717
    is_overlay boolean DEFAULT false NOT NULL,
8718
    component integer,
8719
    pocket integer,
8720
    ordering integer DEFAULT 1 NOT NULL
8721
);
8722
8723
8724
CREATE SEQUENCE distroseriesparent_id_seq
8725
    START WITH 1
8726
    INCREMENT BY 1
8727
    NO MAXVALUE
8728
    NO MINVALUE
8729
    CACHE 1;
8730
8731
8732
ALTER SEQUENCE distroseriesparent_id_seq OWNED BY distroseriesparent.id;
8733
8734
3691.17.3 by Stuart Bishop
New database baseline
8735
CREATE TABLE emailaddress (
4212.1.1 by Stuart Bishop
New database baseline
8736
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
8737
    email text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8738
    person integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
8739
    status integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8740
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8741
    account integer,
8742
    CONSTRAINT emailaddress__is_linked__chk CHECK (((person IS NOT NULL) OR (account IS NOT NULL)))
3691.17.3 by Stuart Bishop
New database baseline
8743
);
8744
7675.1121.53 by Stuart Bishop
New baseline
8745
8746
COMMENT ON COLUMN emailaddress.email IS 'An email address used by a Person. The email address is stored in a casesensitive way, but must be case insensitivly unique.';
8747
8748
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8749
CREATE SEQUENCE emailaddress_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8750
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8751
    INCREMENT BY 1
8752
    NO MAXVALUE
8753
    NO MINVALUE
8754
    CACHE 1;
8755
7675.1121.53 by Stuart Bishop
New baseline
8756
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8757
ALTER SEQUENCE emailaddress_id_seq OWNED BY emailaddress.id;
8758
7675.1121.53 by Stuart Bishop
New baseline
8759
4990.1.1 by Stuart Bishop
New database baseline
8760
CREATE TABLE entitlement (
8761
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8762
    person integer,
4990.1.1 by Stuart Bishop
New database baseline
8763
    entitlement_type integer NOT NULL,
8764
    quota integer NOT NULL,
8765
    amount_used integer DEFAULT 0 NOT NULL,
8766
    date_starts timestamp without time zone,
8767
    date_expires timestamp without time zone,
8768
    registrant integer,
8769
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8770
    approved_by integer,
8771
    date_approved timestamp without time zone,
8772
    state integer DEFAULT 30 NOT NULL,
8773
    whiteboard text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8774
    is_dirty boolean DEFAULT true NOT NULL,
8775
    distribution integer,
8776
    product integer,
8777
    project integer,
8778
    CONSTRAINT only_one_target CHECK ((null_count(ARRAY[person, product, project, distribution]) = 3))
4990.1.1 by Stuart Bishop
New database baseline
8779
);
8780
7675.1121.53 by Stuart Bishop
New baseline
8781
8782
COMMENT ON TABLE entitlement IS 'Entitlements and usage of privileged features.';
8783
8784
8785
COMMENT ON COLUMN entitlement.person IS 'The person to which the entitlements apply.';
8786
8787
8788
COMMENT ON COLUMN entitlement.entitlement_type IS 'The type of this entitlement (e.g. private bug).';
8789
8790
8791
COMMENT ON COLUMN entitlement.quota IS 'Number of this entitlement allowed.';
8792
8793
8794
COMMENT ON COLUMN entitlement.amount_used IS 'Quantity of this entitlement allocation that is used.';
8795
8796
8797
COMMENT ON COLUMN entitlement.date_starts IS 'When this entitlement becomes active.';
8798
8799
8800
COMMENT ON COLUMN entitlement.date_expires IS 'When this entitlement expires.';
8801
8802
8803
COMMENT ON COLUMN entitlement.registrant IS 'The person (admin) who registered this entitlement.  It is NULL if imported directly from an external sales system.';
8804
8805
8806
COMMENT ON COLUMN entitlement.date_created IS 'Creation date of entitlement.';
8807
8808
8809
COMMENT ON COLUMN entitlement.approved_by IS 'The person who approved this entitlement.  It is NULL if imported directly from an external sales system.';
8810
8811
8812
COMMENT ON COLUMN entitlement.date_approved IS 'Approval date of entitlement.  It is NULL if imported directly from an external sales system.';
8813
8814
8815
COMMENT ON COLUMN entitlement.state IS 'The state (REQUESTED, ACTIVE, INACTIVE) of the entitlement.';
8816
8817
8818
COMMENT ON COLUMN entitlement.whiteboard IS 'A place for administrator notes.';
8819
8820
8821
COMMENT ON COLUMN entitlement.is_dirty IS 'This entitlement has been modified and the state needst to be updated on the external system.';
8822
8823
8824
COMMENT ON COLUMN entitlement.distribution IS 'The distribution to which this entitlement applies.';
8825
8826
8827
COMMENT ON COLUMN entitlement.product IS 'The product to which this entitlement applies.';
8828
8829
8830
COMMENT ON COLUMN entitlement.project IS 'The project to which this entitlement applies.';
8831
8832
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8833
CREATE SEQUENCE entitlement_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8834
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8835
    INCREMENT BY 1
8836
    NO MAXVALUE
8837
    NO MINVALUE
8838
    CACHE 1;
8839
7675.1121.53 by Stuart Bishop
New baseline
8840
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8841
ALTER SEQUENCE entitlement_id_seq OWNED BY entitlement.id;
8842
7675.1121.53 by Stuart Bishop
New baseline
8843
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8844
CREATE VIEW exclusivelocks AS
8845
    SELECT alllocks.procpid, alllocks.usename, alllocks.age, alllocks.relname, alllocks.mode, alllocks.granted, alllocks.current_query FROM alllocks WHERE (alllocks.mode !~~ '%Share%'::text);
8846
7675.1121.53 by Stuart Bishop
New baseline
8847
4990.1.1 by Stuart Bishop
New database baseline
8848
CREATE TABLE faq (
8849
    id integer NOT NULL,
8850
    title text NOT NULL,
8851
    tags text,
8852
    content text NOT NULL,
8853
    product integer,
8854
    distribution integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
8855
    owner integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
8856
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8857
    last_updated_by integer,
8858
    date_last_updated timestamp without time zone,
8859
    fti ts2.tsvector,
8860
    CONSTRAINT product_or_distro CHECK (((product IS NULL) <> (distribution IS NULL)))
8861
);
8862
7675.1121.53 by Stuart Bishop
New baseline
8863
8864
COMMENT ON TABLE faq IS 'A technical document containing the answer to a common question.';
8865
8866
8867
COMMENT ON COLUMN faq.id IS 'The FAQ document sequence number.';
8868
8869
8870
COMMENT ON COLUMN faq.title IS 'The document title.';
8871
8872
8873
COMMENT ON COLUMN faq.tags IS 'White-space separated list of tags.';
8874
8875
8876
COMMENT ON COLUMN faq.content IS 'The content of FAQ. It can also contain a short summary and a link.';
8877
8878
8879
COMMENT ON COLUMN faq.product IS 'The product to which this document is
8880
related. Either "product" or "distribution" must be set.';
8881
8882
8883
COMMENT ON COLUMN faq.distribution IS 'The distribution to which this document
8884
is related. Either "product" or "distribution" must be set.';
8885
8886
8887
COMMENT ON COLUMN faq.owner IS 'The person who created the document.';
8888
8889
8890
COMMENT ON COLUMN faq.date_created IS 'The datetime when the document was created.';
8891
8892
8893
COMMENT ON COLUMN faq.last_updated_by IS 'The person who last modified the document.';
8894
8895
8896
COMMENT ON COLUMN faq.date_last_updated IS 'The datetime when the document was last modified.';
8897
8898
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8899
CREATE SEQUENCE faq_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8900
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8901
    INCREMENT BY 1
8902
    NO MAXVALUE
8903
    NO MINVALUE
8904
    CACHE 1;
8905
7675.1121.53 by Stuart Bishop
New baseline
8906
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8907
ALTER SEQUENCE faq_id_seq OWNED BY faq.id;
8908
7675.1121.53 by Stuart Bishop
New baseline
8909
5529.1.3 by Stuart Bishop
New database schema baseline
8910
CREATE TABLE featuredproject (
8911
    id integer NOT NULL,
8912
    pillar_name integer NOT NULL
8913
);
8914
7675.1121.53 by Stuart Bishop
New baseline
8915
8916
COMMENT ON TABLE featuredproject IS 'A list of featured projects. This table is really just a list of pillarname IDs, if a project''s pillar name is in this list then it is a featured project and will be listed on the Launchpad home page.';
8917
8918
8919
COMMENT ON COLUMN featuredproject.pillar_name IS 'A reference to PillarName.id';
8920
8921
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8922
CREATE SEQUENCE featuredproject_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8923
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8924
    INCREMENT BY 1
8925
    NO MAXVALUE
8926
    NO MINVALUE
8927
    CACHE 1;
8928
7675.1121.53 by Stuart Bishop
New baseline
8929
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8930
ALTER SEQUENCE featuredproject_id_seq OWNED BY featuredproject.id;
8931
7675.1121.53 by Stuart Bishop
New baseline
8932
7675.395.118 by Stuart Bishop
New database baseline from production
8933
CREATE TABLE featureflag (
8934
    scope text NOT NULL,
8935
    priority integer NOT NULL,
8936
    flag text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
8937
    value text NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
8938
    date_modified timestamp without time zone DEFAULT timezone('utc'::text, now()) NOT NULL
8939
);
8940
7675.1121.53 by Stuart Bishop
New baseline
8941
8942
COMMENT ON TABLE featureflag IS 'Configuration that varies by the active scope and that 
8943
can be changed without restarting Launchpad
8944
<https://dev.launchpad.net/LEP/FeatureFlags>';
8945
8946
8947
COMMENT ON COLUMN featureflag.scope IS 'Scope in which this setting is active';
8948
8949
8950
COMMENT ON COLUMN featureflag.priority IS 'Higher priority flags override lower';
8951
8952
8953
COMMENT ON COLUMN featureflag.flag IS 'Name of the flag being controlled';
8954
8955
8956
CREATE TABLE featureflagchangelogentry (
8957
    id integer NOT NULL,
8958
    date_changed timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
8959
    diff text NOT NULL,
8960
    comment text NOT NULL,
8961
    person integer NOT NULL
8962
);
8963
8964
8965
CREATE SEQUENCE featureflagchangelogentry_id_seq
8966
    START WITH 1
8967
    INCREMENT BY 1
8968
    NO MAXVALUE
8969
    NO MINVALUE
8970
    CACHE 1;
8971
8972
8973
ALTER SEQUENCE featureflagchangelogentry_id_seq OWNED BY featureflagchangelogentry.id;
8974
8975
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8976
CREATE TABLE flatpackagesetinclusion (
8977
    id integer NOT NULL,
8978
    parent integer NOT NULL,
8979
    child integer NOT NULL
8980
);
8981
7675.1121.53 by Stuart Bishop
New baseline
8982
8983
COMMENT ON TABLE flatpackagesetinclusion IS 'In order to facilitate the querying of set-subset relationships an expanded or flattened representation of the set-subset hierarchy is provided by this table.';
8984
8985
8986
COMMENT ON COLUMN flatpackagesetinclusion.parent IS 'The package set that is (directly or indirectly) including a subset.';
8987
8988
8989
COMMENT ON COLUMN flatpackagesetinclusion.child IS 'The package set that is being included as a subset.';
8990
8991
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8992
CREATE SEQUENCE flatpackagesetinclusion_id_seq
7675.1121.53 by Stuart Bishop
New baseline
8993
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
8994
    INCREMENT BY 1
8995
    NO MAXVALUE
8996
    NO MINVALUE
8997
    CACHE 1;
8998
7675.1121.53 by Stuart Bishop
New baseline
8999
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9000
ALTER SEQUENCE flatpackagesetinclusion_id_seq OWNED BY flatpackagesetinclusion.id;
9001
7675.1121.53 by Stuart Bishop
New baseline
9002
3691.17.3 by Stuart Bishop
New database baseline
9003
CREATE TABLE fticache (
4212.1.1 by Stuart Bishop
New database baseline
9004
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9005
    tablename text NOT NULL,
9006
    columns text NOT NULL
9007
);
9008
7675.1121.53 by Stuart Bishop
New baseline
9009
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9010
CREATE SEQUENCE fticache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9011
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9012
    INCREMENT BY 1
9013
    NO MAXVALUE
9014
    NO MINVALUE
9015
    CACHE 1;
9016
7675.1121.53 by Stuart Bishop
New baseline
9017
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9018
ALTER SEQUENCE fticache_id_seq OWNED BY fticache.id;
9019
7675.1121.53 by Stuart Bishop
New baseline
9020
3691.17.3 by Stuart Bishop
New database baseline
9021
CREATE TABLE gpgkey (
4212.1.1 by Stuart Bishop
New database baseline
9022
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9023
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9024
    keyid text NOT NULL,
9025
    fingerprint text NOT NULL,
9026
    active boolean NOT NULL,
9027
    algorithm integer NOT NULL,
9028
    keysize integer NOT NULL,
9029
    can_encrypt boolean DEFAULT false NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
9030
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9031
    CONSTRAINT valid_fingerprint CHECK (valid_fingerprint(fingerprint)),
9032
    CONSTRAINT valid_keyid CHECK (valid_keyid(keyid))
9033
);
9034
7675.1121.53 by Stuart Bishop
New baseline
9035
9036
COMMENT ON TABLE gpgkey IS 'A GPG key belonging to a Person';
9037
9038
9039
COMMENT ON COLUMN gpgkey.keyid IS 'The 8 character GPG key id, uppercase and no whitespace';
9040
9041
9042
COMMENT ON COLUMN gpgkey.fingerprint IS 'The 40 character GPG fingerprint, uppercase and no whitespace';
9043
9044
9045
COMMENT ON COLUMN gpgkey.active IS 'True if this key is active for use in Launchpad context, false could be deactivated by user or revoked in the global key ring.';
9046
9047
9048
COMMENT ON COLUMN gpgkey.algorithm IS 'The algorithm used to generate this key. Valid values defined in dbschema.GPGKeyAlgorithms';
9049
9050
9051
COMMENT ON COLUMN gpgkey.keysize IS 'Size of the key in bits, as reported by GPG. We may refuse to deal with keysizes < 768 bits in the future.';
9052
9053
9054
COMMENT ON COLUMN gpgkey.can_encrypt IS 'Whether the key has been validated for use in encryption (as opposed to just signing)';
9055
9056
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9057
CREATE SEQUENCE gpgkey_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9058
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9059
    INCREMENT BY 1
9060
    NO MAXVALUE
9061
    NO MINVALUE
9062
    CACHE 1;
9063
7675.1121.53 by Stuart Bishop
New baseline
9064
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9065
ALTER SEQUENCE gpgkey_id_seq OWNED BY gpgkey.id;
9066
7675.1121.53 by Stuart Bishop
New baseline
9067
5529.1.3 by Stuart Bishop
New database schema baseline
9068
CREATE TABLE hwdevice (
9069
    id integer NOT NULL,
9070
    bus_vendor_id integer NOT NULL,
9071
    bus_product_id text NOT NULL,
9072
    variant text,
9073
    name text NOT NULL,
9074
    submissions integer NOT NULL
9075
);
9076
7675.1121.53 by Stuart Bishop
New baseline
9077
9078
COMMENT ON TABLE hwdevice IS 'Basic information on devices.';
9079
9080
9081
COMMENT ON COLUMN hwdevice.bus_vendor_id IS 'A reference to a HWVendorID record.';
9082
9083
9084
COMMENT ON COLUMN hwdevice.bus_product_id IS 'The bus product ID of a device';
9085
9086
9087
COMMENT ON COLUMN hwdevice.variant IS 'An optional additional description for a device that shares its vendor and product ID with another, technically different, device.';
9088
9089
9090
COMMENT ON COLUMN hwdevice.name IS 'The human readable product name of the device.';
9091
9092
9093
COMMENT ON COLUMN hwdevice.submissions IS 'The number of submissions that contain this device.';
9094
9095
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9096
CREATE SEQUENCE hwdevice_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9097
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9098
    INCREMENT BY 1
9099
    NO MAXVALUE
9100
    NO MINVALUE
9101
    CACHE 1;
9102
7675.1121.53 by Stuart Bishop
New baseline
9103
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9104
ALTER SEQUENCE hwdevice_id_seq OWNED BY hwdevice.id;
9105
7675.1121.53 by Stuart Bishop
New baseline
9106
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9107
CREATE TABLE hwdeviceclass (
9108
    id integer NOT NULL,
9109
    device integer NOT NULL,
9110
    main_class integer NOT NULL,
9111
    sub_class integer
9112
);
5529.1.3 by Stuart Bishop
New database schema baseline
9113
7675.1121.53 by Stuart Bishop
New baseline
9114
9115
COMMENT ON TABLE hwdeviceclass IS 'Capabilities of a device.';
9116
9117
9118
COMMENT ON COLUMN hwdeviceclass.device IS 'A reference to a device.';
9119
9120
9121
COMMENT ON COLUMN hwdeviceclass.main_class IS 'The main class of a device. Legal values are defined by the HWMainClass enumeration.';
9122
9123
9124
COMMENT ON COLUMN hwdeviceclass.sub_class IS 'The sub-class of a device. Legal values are defined by the HWSubClass enumeration.';
9125
9126
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9127
CREATE SEQUENCE hwdeviceclass_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9128
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9129
    INCREMENT BY 1
9130
    NO MAXVALUE
9131
    NO MINVALUE
9132
    CACHE 1;
9133
7675.1121.53 by Stuart Bishop
New baseline
9134
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9135
ALTER SEQUENCE hwdeviceclass_id_seq OWNED BY hwdeviceclass.id;
9136
7675.1121.53 by Stuart Bishop
New baseline
9137
5529.1.3 by Stuart Bishop
New database schema baseline
9138
CREATE TABLE hwdevicedriverlink (
9139
    id integer NOT NULL,
9140
    device integer NOT NULL,
9141
    driver integer
9142
);
9143
7675.1121.53 by Stuart Bishop
New baseline
9144
9145
COMMENT ON TABLE hwdevicedriverlink IS 'Combinations of devices and drivers mentioned in submissions.';
9146
9147
9148
COMMENT ON COLUMN hwdevicedriverlink.device IS 'The device controlled by the driver.';
9149
9150
9151
COMMENT ON COLUMN hwdevicedriverlink.driver IS 'The driver controlling the device.';
9152
9153
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9154
CREATE SEQUENCE hwdevicedriverlink_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9155
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9156
    INCREMENT BY 1
9157
    NO MAXVALUE
9158
    NO MINVALUE
9159
    CACHE 1;
9160
7675.1121.53 by Stuart Bishop
New baseline
9161
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9162
ALTER SEQUENCE hwdevicedriverlink_id_seq OWNED BY hwdevicedriverlink.id;
9163
7675.1121.53 by Stuart Bishop
New baseline
9164
5529.1.3 by Stuart Bishop
New database schema baseline
9165
CREATE TABLE hwdevicenamevariant (
9166
    id integer NOT NULL,
9167
    vendor_name integer NOT NULL,
9168
    product_name text NOT NULL,
9169
    device integer NOT NULL,
9170
    submissions integer NOT NULL
9171
);
9172
7675.1121.53 by Stuart Bishop
New baseline
9173
9174
COMMENT ON TABLE hwdevicenamevariant IS 'Alternative vendor and product names of devices.';
9175
9176
9177
COMMENT ON COLUMN hwdevicenamevariant.vendor_name IS 'The alternative vendor name.';
9178
9179
9180
COMMENT ON COLUMN hwdevicenamevariant.product_name IS 'The alternative product name.';
9181
9182
9183
COMMENT ON COLUMN hwdevicenamevariant.device IS 'The device named by this alternative vendor and product names.';
9184
9185
9186
COMMENT ON COLUMN hwdevicenamevariant.submissions IS 'The number of submissions containing this alternative vendor and product name.';
9187
9188
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9189
CREATE SEQUENCE hwdevicenamevariant_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9190
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9191
    INCREMENT BY 1
9192
    NO MAXVALUE
9193
    NO MINVALUE
9194
    CACHE 1;
9195
7675.1121.53 by Stuart Bishop
New baseline
9196
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9197
ALTER SEQUENCE hwdevicenamevariant_id_seq OWNED BY hwdevicenamevariant.id;
9198
7675.1121.53 by Stuart Bishop
New baseline
9199
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9200
CREATE TABLE hwdmihandle (
9201
    id integer NOT NULL,
9202
    handle integer NOT NULL,
9203
    type integer NOT NULL,
9204
    submission integer
9205
);
9206
7675.1121.53 by Stuart Bishop
New baseline
9207
9208
COMMENT ON TABLE hwdmihandle IS 'A DMI Handle appearing in the DMI data of a submission.';
9209
9210
9211
COMMENT ON COLUMN hwdmihandle.handle IS 'The ID of the handle.';
9212
9213
9214
COMMENT ON COLUMN hwdmihandle.type IS 'The type of the handle.';
9215
9216
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9217
CREATE SEQUENCE hwdmihandle_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9218
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9219
    INCREMENT BY 1
9220
    NO MAXVALUE
9221
    NO MINVALUE
9222
    CACHE 1;
9223
7675.1121.53 by Stuart Bishop
New baseline
9224
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9225
ALTER SEQUENCE hwdmihandle_id_seq OWNED BY hwdmihandle.id;
9226
7675.1121.53 by Stuart Bishop
New baseline
9227
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9228
CREATE TABLE hwdmivalue (
9229
    id integer NOT NULL,
9230
    key text,
9231
    value text,
9232
    handle integer NOT NULL
9233
);
9234
7675.1121.53 by Stuart Bishop
New baseline
9235
9236
COMMENT ON TABLE hwdmivalue IS 'Key/value pairs of DMI data of a handle.';
9237
9238
9239
COMMENT ON COLUMN hwdmivalue.key IS 'The key.';
9240
9241
9242
COMMENT ON COLUMN hwdmivalue.value IS 'The value';
9243
9244
9245
COMMENT ON COLUMN hwdmivalue.handle IS 'The handle to which this key/value pair belongs.';
9246
9247
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9248
CREATE SEQUENCE hwdmivalue_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9249
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9250
    INCREMENT BY 1
9251
    NO MAXVALUE
9252
    NO MINVALUE
9253
    CACHE 1;
9254
7675.1121.53 by Stuart Bishop
New baseline
9255
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9256
ALTER SEQUENCE hwdmivalue_id_seq OWNED BY hwdmivalue.id;
9257
7675.1121.53 by Stuart Bishop
New baseline
9258
5529.1.3 by Stuart Bishop
New database schema baseline
9259
CREATE TABLE hwdriver (
9260
    id integer NOT NULL,
9261
    package_name text,
9262
    name text NOT NULL,
9263
    license integer
9264
);
9265
7675.1121.53 by Stuart Bishop
New baseline
9266
9267
COMMENT ON TABLE hwdriver IS 'Information about a driver for a device';
9268
9269
9270
COMMENT ON COLUMN hwdriver.package_name IS 'The Debian package name a driver is a part of';
9271
9272
9273
COMMENT ON COLUMN hwdriver.name IS 'The name of a driver.';
9274
9275
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9276
CREATE SEQUENCE hwdriver_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9277
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9278
    INCREMENT BY 1
9279
    NO MAXVALUE
9280
    NO MINVALUE
9281
    CACHE 1;
9282
7675.1121.53 by Stuart Bishop
New baseline
9283
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9284
ALTER SEQUENCE hwdriver_id_seq OWNED BY hwdriver.id;
9285
7675.1121.53 by Stuart Bishop
New baseline
9286
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9287
CREATE VIEW hwdrivernames AS
9288
    SELECT DISTINCT ON (hwdriver.name) hwdriver.id, hwdriver.name FROM hwdriver ORDER BY hwdriver.name, hwdriver.id;
9289
7675.1121.53 by Stuart Bishop
New baseline
9290
9291
COMMENT ON VIEW hwdrivernames IS 'A view returning the distinct driver names stored in HWDriver.';
9292
9293
9294
COMMENT ON COLUMN hwdrivernames.name IS 'The name of a driver.';
9295
9296
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9297
CREATE VIEW hwdriverpackagenames AS
9298
    SELECT DISTINCT ON (hwdriver.package_name) hwdriver.id, hwdriver.package_name FROM hwdriver ORDER BY hwdriver.package_name, hwdriver.id;
9299
7675.1121.53 by Stuart Bishop
New baseline
9300
9301
COMMENT ON VIEW hwdriverpackagenames IS 'A view returning the distinct Debian package names stored in HWDriver.';
9302
9303
9304
COMMENT ON COLUMN hwdriverpackagenames.package_name IS 'The Debian package name a driver is a part of.';
9305
9306
4990.1.1 by Stuart Bishop
New database baseline
9307
CREATE TABLE hwsubmission (
9308
    id integer NOT NULL,
9309
    date_created timestamp without time zone NOT NULL,
9310
    date_submitted timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
9311
    format integer NOT NULL,
9312
    status integer DEFAULT 1 NOT NULL,
9313
    private boolean NOT NULL,
9314
    contactable boolean NOT NULL,
9315
    submission_key text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9316
    owner integer,
4990.1.1 by Stuart Bishop
New database baseline
9317
    distroarchseries integer,
9318
    raw_submission integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
9319
    system_fingerprint integer NOT NULL,
9320
    raw_emailaddress text
4990.1.1 by Stuart Bishop
New database baseline
9321
);
9322
7675.1121.53 by Stuart Bishop
New baseline
9323
9324
COMMENT ON TABLE hwsubmission IS 'Raw HWDB submission data';
9325
9326
9327
COMMENT ON COLUMN hwsubmission.date_created IS 'Date and time of the submission (generated by the client).';
9328
9329
9330
COMMENT ON COLUMN hwsubmission.date_submitted IS 'Date and time of the submission (generated by the server).';
9331
9332
9333
COMMENT ON COLUMN hwsubmission.format IS 'The format version of the submitted data, as given by the HWDB client. See HWSubmissionFormat for valid values.';
9334
9335
9336
COMMENT ON COLUMN hwsubmission.status IS 'The status of the submission. See HWSubmissionProcessingStatus for valid values.';
9337
9338
9339
COMMENT ON COLUMN hwsubmission.private IS 'If false, the submitter allows public access to the data. If true, the data may be used only for statistical purposes.';
9340
9341
9342
COMMENT ON COLUMN hwsubmission.contactable IS 'If True, the submitter agrees to be contacted by upstream developers and package maintainers for tests etc.';
9343
9344
9345
COMMENT ON COLUMN hwsubmission.submission_key IS 'A unique submission ID.';
9346
9347
9348
COMMENT ON COLUMN hwsubmission.owner IS 'A reference to the Person table: The owner/submitter of the data.';
9349
9350
9351
COMMENT ON COLUMN hwsubmission.distroarchseries IS 'A reference to the distroarchseries of the submission. This value is null, if the submitted values for distribution, distroseries and architecture do not match an existing entry in the Distroarchseries table.';
9352
9353
9354
COMMENT ON COLUMN hwsubmission.raw_submission IS 'A reference to a row of LibraryFileAlias. The library file contains the raw submission data.';
9355
9356
9357
COMMENT ON COLUMN hwsubmission.system_fingerprint IS 'A reference to an entry of the HWDBSystemFingerPrint table. This table stores the system name as returned by HAL (system.vendor, system.product)';
9358
9359
9360
COMMENT ON COLUMN hwsubmission.raw_emailaddress IS 'The email address of the submitter.';
9361
9362
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9363
CREATE SEQUENCE hwsubmission_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9364
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9365
    INCREMENT BY 1
9366
    NO MAXVALUE
9367
    NO MINVALUE
9368
    CACHE 1;
9369
7675.1121.53 by Stuart Bishop
New baseline
9370
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9371
ALTER SEQUENCE hwsubmission_id_seq OWNED BY hwsubmission.id;
9372
7675.1121.53 by Stuart Bishop
New baseline
9373
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9374
CREATE TABLE hwsubmissionbug (
9375
    id integer NOT NULL,
9376
    submission integer NOT NULL,
9377
    bug integer NOT NULL
9378
);
4990.1.1 by Stuart Bishop
New database baseline
9379
7675.1121.53 by Stuart Bishop
New baseline
9380
9381
COMMENT ON TABLE hwsubmissionbug IS 'Link bugs to HWDB submissions';
9382
9383
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9384
CREATE SEQUENCE hwsubmissionbug_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9385
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9386
    INCREMENT BY 1
9387
    NO MAXVALUE
9388
    NO MINVALUE
9389
    CACHE 1;
9390
7675.1121.53 by Stuart Bishop
New baseline
9391
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9392
ALTER SEQUENCE hwsubmissionbug_id_seq OWNED BY hwsubmissionbug.id;
9393
7675.1121.53 by Stuart Bishop
New baseline
9394
5529.1.3 by Stuart Bishop
New database schema baseline
9395
CREATE TABLE hwsubmissiondevice (
9396
    id integer NOT NULL,
9397
    device_driver_link integer NOT NULL,
9398
    submission integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9399
    parent integer,
9400
    hal_device_id integer NOT NULL
5529.1.3 by Stuart Bishop
New database schema baseline
9401
);
9402
7675.1121.53 by Stuart Bishop
New baseline
9403
9404
COMMENT ON TABLE hwsubmissiondevice IS 'Links between devices and submissions.';
9405
9406
9407
COMMENT ON COLUMN hwsubmissiondevice.device_driver_link IS 'The combination (device, driver) mentioned in a submission.';
9408
9409
9410
COMMENT ON COLUMN hwsubmissiondevice.submission IS 'The submission mentioning this (device, driver) combination.';
9411
9412
9413
COMMENT ON COLUMN hwsubmissiondevice.parent IS 'The parent device of this device.';
9414
9415
9416
COMMENT ON COLUMN hwsubmissiondevice.hal_device_id IS 'The ID of the HAL node of this device in the submitted data.';
9417
9418
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9419
CREATE SEQUENCE hwsubmissiondevice_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9420
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9421
    INCREMENT BY 1
9422
    NO MAXVALUE
9423
    NO MINVALUE
9424
    CACHE 1;
9425
7675.1121.53 by Stuart Bishop
New baseline
9426
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9427
ALTER SEQUENCE hwsubmissiondevice_id_seq OWNED BY hwsubmissiondevice.id;
9428
7675.1121.53 by Stuart Bishop
New baseline
9429
4990.1.1 by Stuart Bishop
New database baseline
9430
CREATE TABLE hwsystemfingerprint (
9431
    id integer NOT NULL,
9432
    fingerprint text NOT NULL
9433
);
9434
7675.1121.53 by Stuart Bishop
New baseline
9435
9436
COMMENT ON TABLE hwsystemfingerprint IS 'A distinct list of "fingerprints" (HAL system.name, system.vendor) from raw submission data';
9437
9438
9439
COMMENT ON COLUMN hwsystemfingerprint.fingerprint IS 'The fingerprint';
9440
9441
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9442
CREATE SEQUENCE hwsystemfingerprint_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9443
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9444
    INCREMENT BY 1
9445
    NO MAXVALUE
9446
    NO MINVALUE
9447
    CACHE 1;
9448
7675.1121.53 by Stuart Bishop
New baseline
9449
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9450
ALTER SEQUENCE hwsystemfingerprint_id_seq OWNED BY hwsystemfingerprint.id;
9451
7675.1121.53 by Stuart Bishop
New baseline
9452
5529.1.3 by Stuart Bishop
New database schema baseline
9453
CREATE TABLE hwtest (
9454
    id integer NOT NULL,
9455
    namespace text,
9456
    name text NOT NULL,
9457
    version text NOT NULL
9458
);
9459
7675.1121.53 by Stuart Bishop
New baseline
9460
9461
COMMENT ON TABLE hwtest IS 'General information about a device test.';
9462
9463
9464
COMMENT ON COLUMN hwtest.namespace IS 'The namespace of a test.';
9465
9466
9467
COMMENT ON COLUMN hwtest.name IS 'The name of a test.';
9468
9469
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9470
CREATE SEQUENCE hwtest_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9471
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9472
    INCREMENT BY 1
9473
    NO MAXVALUE
9474
    NO MINVALUE
9475
    CACHE 1;
9476
7675.1121.53 by Stuart Bishop
New baseline
9477
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9478
ALTER SEQUENCE hwtest_id_seq OWNED BY hwtest.id;
9479
7675.1121.53 by Stuart Bishop
New baseline
9480
5529.1.3 by Stuart Bishop
New database schema baseline
9481
CREATE TABLE hwtestanswer (
9482
    id integer NOT NULL,
9483
    test integer NOT NULL,
9484
    choice integer,
9485
    intval integer,
9486
    floatval double precision,
9487
    unit text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9488
    comment text,
9489
    language integer,
5529.1.3 by Stuart Bishop
New database schema baseline
9490
    submission integer NOT NULL,
9491
    CONSTRAINT hwtestanswer_check CHECK (((((choice IS NULL) AND (unit IS NOT NULL)) AND ((intval IS NULL) <> (floatval IS NULL))) OR ((((choice IS NOT NULL) AND (unit IS NULL)) AND (intval IS NULL)) AND (floatval IS NULL))))
9492
);
9493
7675.1121.53 by Stuart Bishop
New baseline
9494
9495
COMMENT ON TABLE hwtestanswer IS 'The answer for a test from a submission. This can be either a multiple choice selection or a numerical value. Exactly one of the columns choice, intval, floatval must be non-null.';
9496
9497
9498
COMMENT ON COLUMN hwtestanswer.test IS 'The test answered by this answer.';
9499
9500
9501
COMMENT ON COLUMN hwtestanswer.choice IS 'The selected value of a multiple choice test.';
9502
9503
9504
COMMENT ON COLUMN hwtestanswer.intval IS 'The integer result of a test with a numerical result.';
9505
9506
9507
COMMENT ON COLUMN hwtestanswer.floatval IS 'The double precision floating point number result of a test with a numerical result.';
9508
9509
9510
COMMENT ON COLUMN hwtestanswer.unit IS 'The physical unit of a test with a numerical result.';
9511
9512
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9513
CREATE SEQUENCE hwtestanswer_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9514
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9515
    INCREMENT BY 1
9516
    NO MAXVALUE
9517
    NO MINVALUE
9518
    CACHE 1;
9519
7675.1121.53 by Stuart Bishop
New baseline
9520
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9521
ALTER SEQUENCE hwtestanswer_id_seq OWNED BY hwtestanswer.id;
9522
7675.1121.53 by Stuart Bishop
New baseline
9523
5529.1.3 by Stuart Bishop
New database schema baseline
9524
CREATE TABLE hwtestanswerchoice (
9525
    id integer NOT NULL,
9526
    choice text NOT NULL,
9527
    test integer NOT NULL
9528
);
9529
7675.1121.53 by Stuart Bishop
New baseline
9530
9531
COMMENT ON TABLE hwtestanswerchoice IS 'Choice values of multiple choice tests/questions.';
9532
9533
9534
COMMENT ON COLUMN hwtestanswerchoice.choice IS 'The choice value.';
9535
9536
9537
COMMENT ON COLUMN hwtestanswerchoice.test IS 'The test this choice belongs to.';
9538
9539
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9540
CREATE SEQUENCE hwtestanswerchoice_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9541
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9542
    INCREMENT BY 1
9543
    NO MAXVALUE
9544
    NO MINVALUE
9545
    CACHE 1;
9546
7675.1121.53 by Stuart Bishop
New baseline
9547
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9548
ALTER SEQUENCE hwtestanswerchoice_id_seq OWNED BY hwtestanswerchoice.id;
9549
7675.1121.53 by Stuart Bishop
New baseline
9550
5529.1.3 by Stuart Bishop
New database schema baseline
9551
CREATE TABLE hwtestanswercount (
9552
    id integer NOT NULL,
9553
    test integer NOT NULL,
9554
    distroarchseries integer,
9555
    choice integer,
9556
    average double precision,
9557
    sum_square double precision,
9558
    unit text,
9559
    num_answers integer NOT NULL,
9560
    CONSTRAINT hwtestanswercount_check CHECK ((((((choice IS NULL) AND (average IS NOT NULL)) AND (sum_square IS NOT NULL)) AND (unit IS NOT NULL)) OR ((((choice IS NOT NULL) AND (average IS NULL)) AND (sum_square IS NULL)) AND (unit IS NULL))))
9561
);
9562
7675.1121.53 by Stuart Bishop
New baseline
9563
9564
COMMENT ON TABLE hwtestanswercount IS 'Accumulated results of tests. Either the column choice or the columns average and sum_square must be non-null.';
9565
9566
9567
COMMENT ON COLUMN hwtestanswercount.test IS 'The test.';
9568
9569
9570
COMMENT ON COLUMN hwtestanswercount.distroarchseries IS 'The distroarchseries for which results are accumulated,';
9571
9572
9573
COMMENT ON COLUMN hwtestanswercount.choice IS 'The choice value of a multiple choice test.';
9574
9575
9576
COMMENT ON COLUMN hwtestanswercount.average IS 'The average value of the result of a numerical test.';
9577
9578
9579
COMMENT ON COLUMN hwtestanswercount.sum_square IS 'The sum of the squares of the results of a numerical test.';
9580
9581
9582
COMMENT ON COLUMN hwtestanswercount.unit IS 'The physical unit of a numerical test result.';
9583
9584
9585
COMMENT ON COLUMN hwtestanswercount.num_answers IS 'The number of submissions from which the result is accumulated.';
9586
9587
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9588
CREATE SEQUENCE hwtestanswercount_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9589
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9590
    INCREMENT BY 1
9591
    NO MAXVALUE
9592
    NO MINVALUE
9593
    CACHE 1;
9594
7675.1121.53 by Stuart Bishop
New baseline
9595
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9596
ALTER SEQUENCE hwtestanswercount_id_seq OWNED BY hwtestanswercount.id;
9597
7675.1121.53 by Stuart Bishop
New baseline
9598
5529.1.3 by Stuart Bishop
New database schema baseline
9599
CREATE TABLE hwtestanswercountdevice (
9600
    id integer NOT NULL,
9601
    answer integer NOT NULL,
9602
    device_driver integer NOT NULL
9603
);
9604
7675.1121.53 by Stuart Bishop
New baseline
9605
9606
COMMENT ON TABLE hwtestanswercountdevice IS 'Association of accumulated test results and device/driver combinations.';
9607
9608
9609
COMMENT ON COLUMN hwtestanswercountdevice.answer IS 'The test answer.';
9610
9611
9612
COMMENT ON COLUMN hwtestanswercountdevice.device_driver IS 'The device/driver combination.';
9613
9614
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9615
CREATE SEQUENCE hwtestanswercountdevice_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9616
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9617
    INCREMENT BY 1
9618
    NO MAXVALUE
9619
    NO MINVALUE
9620
    CACHE 1;
9621
7675.1121.53 by Stuart Bishop
New baseline
9622
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9623
ALTER SEQUENCE hwtestanswercountdevice_id_seq OWNED BY hwtestanswercountdevice.id;
9624
7675.1121.53 by Stuart Bishop
New baseline
9625
5529.1.3 by Stuart Bishop
New database schema baseline
9626
CREATE TABLE hwtestanswerdevice (
9627
    id integer NOT NULL,
9628
    answer integer NOT NULL,
9629
    device_driver integer NOT NULL
9630
);
9631
7675.1121.53 by Stuart Bishop
New baseline
9632
9633
COMMENT ON TABLE hwtestanswerdevice IS 'Association of test results and device/driver combinations.';
9634
9635
9636
COMMENT ON COLUMN hwtestanswerdevice.answer IS 'The test answer.';
9637
9638
9639
COMMENT ON COLUMN hwtestanswerdevice.device_driver IS 'The device/driver combination.';
9640
9641
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9642
CREATE SEQUENCE hwtestanswerdevice_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9643
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9644
    INCREMENT BY 1
9645
    NO MAXVALUE
9646
    NO MINVALUE
9647
    CACHE 1;
9648
7675.1121.53 by Stuart Bishop
New baseline
9649
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9650
ALTER SEQUENCE hwtestanswerdevice_id_seq OWNED BY hwtestanswerdevice.id;
9651
7675.1121.53 by Stuart Bishop
New baseline
9652
5529.1.3 by Stuart Bishop
New database schema baseline
9653
CREATE TABLE hwvendorid (
9654
    id integer NOT NULL,
9655
    bus integer NOT NULL,
9656
    vendor_id_for_bus text NOT NULL,
9657
    vendor_name integer NOT NULL
9658
);
9659
7675.1121.53 by Stuart Bishop
New baseline
9660
9661
COMMENT ON TABLE hwvendorid IS 'Associates tuples (bus, vendor ID for this bus) with vendor names.';
9662
9663
9664
COMMENT ON COLUMN hwvendorid.bus IS 'The bus.';
9665
9666
9667
COMMENT ON COLUMN hwvendorid.vendor_id_for_bus IS 'The ID of a vendor for the bus given by column `bus`';
9668
9669
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9670
CREATE SEQUENCE hwvendorid_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9671
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9672
    INCREMENT BY 1
9673
    NO MAXVALUE
9674
    NO MINVALUE
9675
    CACHE 1;
9676
7675.1121.53 by Stuart Bishop
New baseline
9677
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9678
ALTER SEQUENCE hwvendorid_id_seq OWNED BY hwvendorid.id;
9679
7675.1121.53 by Stuart Bishop
New baseline
9680
5529.1.3 by Stuart Bishop
New database schema baseline
9681
CREATE TABLE hwvendorname (
9682
    id integer NOT NULL,
9683
    name text NOT NULL
9684
);
9685
7675.1121.53 by Stuart Bishop
New baseline
9686
9687
COMMENT ON TABLE hwvendorname IS 'A list of hardware vendor names.';
9688
9689
9690
COMMENT ON COLUMN hwvendorname.name IS 'The name of a vendor.';
9691
9692
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9693
CREATE SEQUENCE hwvendorname_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9694
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9695
    INCREMENT BY 1
9696
    NO MAXVALUE
9697
    NO MINVALUE
9698
    CACHE 1;
9699
7675.1121.53 by Stuart Bishop
New baseline
9700
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9701
ALTER SEQUENCE hwvendorname_id_seq OWNED BY hwvendorname.id;
9702
7675.1121.53 by Stuart Bishop
New baseline
9703
9704
CREATE TABLE incrementaldiff (
9705
    id integer NOT NULL,
9706
    diff integer NOT NULL,
9707
    branch_merge_proposal integer NOT NULL,
9708
    old_revision integer NOT NULL,
9709
    new_revision integer NOT NULL
9710
);
9711
9712
9713
COMMENT ON TABLE incrementaldiff IS 'Incremental diffs for merge proposals.';
9714
9715
9716
COMMENT ON COLUMN incrementaldiff.diff IS 'The contents of the diff.';
9717
9718
9719
COMMENT ON COLUMN incrementaldiff.branch_merge_proposal IS 'The merge proposal the diff is for.';
9720
9721
9722
COMMENT ON COLUMN incrementaldiff.old_revision IS 'The revision the diff is from.';
9723
9724
9725
COMMENT ON COLUMN incrementaldiff.new_revision IS 'The revision the diff is to.';
9726
9727
9728
CREATE SEQUENCE incrementaldiff_id_seq
9729
    START WITH 1
9730
    INCREMENT BY 1
9731
    NO MAXVALUE
9732
    NO MINVALUE
9733
    CACHE 1;
9734
9735
9736
ALTER SEQUENCE incrementaldiff_id_seq OWNED BY incrementaldiff.id;
9737
9738
3691.17.3 by Stuart Bishop
New database baseline
9739
CREATE TABLE ircid (
4212.1.1 by Stuart Bishop
New database baseline
9740
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9741
    person integer NOT NULL,
9742
    network text NOT NULL,
9743
    nickname text NOT NULL
9744
);
9745
7675.1121.53 by Stuart Bishop
New baseline
9746
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9747
CREATE SEQUENCE ircid_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9748
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9749
    INCREMENT BY 1
9750
    NO MAXVALUE
9751
    NO MINVALUE
9752
    CACHE 1;
9753
7675.1121.53 by Stuart Bishop
New baseline
9754
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9755
ALTER SEQUENCE ircid_id_seq OWNED BY ircid.id;
9756
7675.1121.53 by Stuart Bishop
New baseline
9757
3691.17.3 by Stuart Bishop
New database baseline
9758
CREATE TABLE jabberid (
4212.1.1 by Stuart Bishop
New database baseline
9759
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9760
    person integer NOT NULL,
9761
    jabberid text NOT NULL
9762
);
9763
7675.1121.53 by Stuart Bishop
New baseline
9764
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9765
CREATE SEQUENCE jabberid_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9766
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9767
    INCREMENT BY 1
9768
    NO MAXVALUE
9769
    NO MINVALUE
9770
    CACHE 1;
9771
7675.1121.53 by Stuart Bishop
New baseline
9772
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9773
ALTER SEQUENCE jabberid_id_seq OWNED BY jabberid.id;
9774
7675.1121.53 by Stuart Bishop
New baseline
9775
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9776
CREATE TABLE job (
9777
    id integer NOT NULL,
9778
    requester integer,
9779
    reason text,
9780
    status integer NOT NULL,
9781
    progress integer,
9782
    last_report_seen timestamp without time zone,
9783
    next_report_due timestamp without time zone,
9784
    attempt_count integer DEFAULT 0 NOT NULL,
9785
    max_retries integer DEFAULT 0 NOT NULL,
9786
    log text,
9787
    scheduled_start timestamp without time zone,
9788
    lease_expires timestamp without time zone,
9789
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
9790
    date_started timestamp without time zone,
9791
    date_finished timestamp without time zone
9792
);
9793
7675.1121.53 by Stuart Bishop
New baseline
9794
9795
COMMENT ON TABLE job IS 'Common info about a job.';
9796
9797
9798
COMMENT ON COLUMN job.requester IS 'Ther person who requested this job (if applicable).';
9799
9800
9801
COMMENT ON COLUMN job.reason IS 'The reason that this job was created (if applicable)';
9802
9803
9804
COMMENT ON COLUMN job.status IS 'An enum (JobStatus) indicating the job status, one of: new, in-progress, complete, failed, cancelling, cancelled.';
9805
9806
9807
COMMENT ON COLUMN job.progress IS 'The percentage complete.  Can be NULL for some jobs that do not report progress.';
9808
9809
9810
COMMENT ON COLUMN job.last_report_seen IS 'The last time the progress was reported.';
9811
9812
9813
COMMENT ON COLUMN job.next_report_due IS 'The next time a progress report is expected.';
9814
9815
9816
COMMENT ON COLUMN job.attempt_count IS 'The number of times this job has been attempted.';
9817
9818
9819
COMMENT ON COLUMN job.max_retries IS 'The maximum number of retries valid for this job.';
9820
9821
9822
COMMENT ON COLUMN job.log IS 'If provided, this is the tail of the log file being generated by the running job.';
9823
9824
9825
COMMENT ON COLUMN job.scheduled_start IS 'The time when the job should start';
9826
9827
9828
COMMENT ON COLUMN job.lease_expires IS 'The time when the lease expires.';
9829
9830
9831
COMMENT ON COLUMN job.date_created IS 'The time when the job was created.';
9832
9833
9834
COMMENT ON COLUMN job.date_started IS 'If the job has started, the time when the job started.';
9835
9836
9837
COMMENT ON COLUMN job.date_finished IS 'If the job has finished, the time when the job finished.';
9838
9839
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9840
CREATE SEQUENCE job_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9841
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9842
    INCREMENT BY 1
9843
    NO MAXVALUE
9844
    NO MINVALUE
9845
    CACHE 1;
9846
7675.1121.53 by Stuart Bishop
New baseline
9847
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9848
ALTER SEQUENCE job_id_seq OWNED BY job.id;
9849
7675.1121.53 by Stuart Bishop
New baseline
9850
3691.17.3 by Stuart Bishop
New database baseline
9851
CREATE TABLE karma (
4212.1.1 by Stuart Bishop
New database baseline
9852
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9853
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
9854
    person integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
9855
    action integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
9856
    product integer,
9857
    distribution integer,
9858
    sourcepackagename integer
7675.1121.53 by Stuart Bishop
New baseline
9859
)
9860
WITH (fillfactor=100);
9861
9862
9863
COMMENT ON TABLE karma IS 'Used to quantify all the ''operations'' a user performs inside the system, which maybe reporting and fixing bugs, uploading packages, end-user support, wiki editting, etc.';
9864
9865
9866
COMMENT ON COLUMN karma.datecreated IS 'A timestamp for the assignment of this Karma.';
9867
9868
9869
COMMENT ON COLUMN karma.person IS 'The Person for wich this Karma was assigned.';
9870
9871
9872
COMMENT ON COLUMN karma.action IS 'A foreign key to the KarmaAction table.';
9873
9874
9875
COMMENT ON COLUMN karma.product IS 'The Project to which this Product belongs.  An entry on this table with a non-NULL Project and a NULL Product represents the total karma of the person across all products of that project..';
9876
9877
9878
COMMENT ON COLUMN karma.distribution IS 'The Distribution on which a person performed an action that resulted on this karma.';
9879
9880
9881
COMMENT ON COLUMN karma.sourcepackagename IS 'The SourcePackageName on which a person performed an action that resulted on this karma.';
9882
3691.17.3 by Stuart Bishop
New database baseline
9883
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9884
CREATE SEQUENCE karma_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9885
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9886
    INCREMENT BY 1
9887
    NO MAXVALUE
9888
    NO MINVALUE
9889
    CACHE 1;
9890
7675.1121.53 by Stuart Bishop
New baseline
9891
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9892
ALTER SEQUENCE karma_id_seq OWNED BY karma.id;
9893
7675.1121.53 by Stuart Bishop
New baseline
9894
3691.17.3 by Stuart Bishop
New database baseline
9895
CREATE TABLE karmaaction (
4212.1.1 by Stuart Bishop
New database baseline
9896
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9897
    category integer,
9898
    points integer,
9899
    name text NOT NULL,
9900
    title text NOT NULL,
9901
    summary text NOT NULL
9902
);
9903
7675.1121.53 by Stuart Bishop
New baseline
9904
9905
COMMENT ON TABLE karmaaction IS 'Stores all the actions that would give karma to the user which performed it.';
9906
9907
9908
COMMENT ON COLUMN karmaaction.category IS 'A dbschema value used to group actions together.';
9909
9910
9911
COMMENT ON COLUMN karmaaction.points IS 'The number of points this action is worth of.';
9912
9913
9914
COMMENT ON COLUMN karmaaction.name IS 'The unique name of this action.';
9915
9916
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9917
CREATE SEQUENCE karmaaction_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9918
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9919
    INCREMENT BY 1
9920
    NO MAXVALUE
9921
    NO MINVALUE
9922
    CACHE 1;
9923
7675.1121.53 by Stuart Bishop
New baseline
9924
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9925
ALTER SEQUENCE karmaaction_id_seq OWNED BY karmaaction.id;
9926
7675.1121.53 by Stuart Bishop
New baseline
9927
3691.17.3 by Stuart Bishop
New database baseline
9928
CREATE TABLE karmacache (
4212.1.1 by Stuart Bishop
New database baseline
9929
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9930
    person integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
9931
    category integer,
9932
    karmavalue integer NOT NULL,
9933
    product integer,
9934
    distribution integer,
9935
    sourcepackagename integer,
4212.1.1 by Stuart Bishop
New database baseline
9936
    project integer,
9937
    CONSTRAINT just_distribution CHECK (((distribution IS NULL) OR ((product IS NULL) AND (project IS NULL)))),
9938
    CONSTRAINT just_product CHECK (((product IS NULL) OR ((project IS NULL) AND (distribution IS NULL)))),
9939
    CONSTRAINT just_project CHECK (((project IS NULL) OR ((product IS NULL) AND (distribution IS NULL)))),
9940
    CONSTRAINT sourcepackagename_requires_distribution CHECK (((sourcepackagename IS NULL) OR (distribution IS NOT NULL)))
3691.17.3 by Stuart Bishop
New database baseline
9941
);
9942
7675.1121.53 by Stuart Bishop
New baseline
9943
9944
COMMENT ON TABLE karmacache IS 'Stores a cached value of a person''s karma points, grouped by the action category and the context where that action was performed.';
9945
9946
9947
COMMENT ON COLUMN karmacache.person IS 'The person which performed the actions of this category, and thus got the karma.';
9948
9949
9950
COMMENT ON COLUMN karmacache.category IS 'The category of the actions.';
9951
9952
9953
COMMENT ON COLUMN karmacache.karmavalue IS 'The karma points of all actions of this category performed by this person on this context (product/distribution).';
9954
9955
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9956
CREATE SEQUENCE karmacache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9957
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9958
    INCREMENT BY 1
9959
    NO MAXVALUE
9960
    NO MINVALUE
9961
    CACHE 1;
9962
7675.1121.53 by Stuart Bishop
New baseline
9963
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9964
ALTER SEQUENCE karmacache_id_seq OWNED BY karmacache.id;
9965
7675.1121.53 by Stuart Bishop
New baseline
9966
3691.17.3 by Stuart Bishop
New database baseline
9967
CREATE TABLE karmacategory (
4212.1.1 by Stuart Bishop
New database baseline
9968
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9969
    name text NOT NULL,
9970
    title text NOT NULL,
9971
    summary text NOT NULL
9972
);
9973
7675.1121.53 by Stuart Bishop
New baseline
9974
9975
COMMENT ON TABLE karmacategory IS 'A category of karma. This allows us to
9976
present an overall picture of the different areas where a user has been
9977
active.';
9978
9979
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9980
CREATE SEQUENCE karmacategory_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9981
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9982
    INCREMENT BY 1
9983
    NO MAXVALUE
9984
    NO MINVALUE
9985
    CACHE 1;
9986
7675.1121.53 by Stuart Bishop
New baseline
9987
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9988
ALTER SEQUENCE karmacategory_id_seq OWNED BY karmacategory.id;
9989
7675.1121.53 by Stuart Bishop
New baseline
9990
3691.17.3 by Stuart Bishop
New database baseline
9991
CREATE TABLE karmatotalcache (
4212.1.1 by Stuart Bishop
New database baseline
9992
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
9993
    person integer NOT NULL,
9994
    karma_total integer NOT NULL
9995
);
9996
7675.1121.53 by Stuart Bishop
New baseline
9997
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
9998
CREATE SEQUENCE karmatotalcache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
9999
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10000
    INCREMENT BY 1
10001
    NO MAXVALUE
10002
    NO MINVALUE
10003
    CACHE 1;
10004
7675.1121.53 by Stuart Bishop
New baseline
10005
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10006
ALTER SEQUENCE karmatotalcache_id_seq OWNED BY karmatotalcache.id;
10007
7675.1121.53 by Stuart Bishop
New baseline
10008
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10009
CREATE TABLE language (
4212.1.1 by Stuart Bishop
New database baseline
10010
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10011
    code text NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
10012
    englishname text NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10013
    nativename text,
10014
    pluralforms integer,
10015
    pluralexpression text,
10016
    visible boolean NOT NULL,
10017
    direction integer DEFAULT 0 NOT NULL,
4212.1.1 by Stuart Bishop
New database baseline
10018
    uuid text,
3691.17.3 by Stuart Bishop
New database baseline
10019
    CONSTRAINT valid_language CHECK (((pluralforms IS NULL) = (pluralexpression IS NULL)))
10020
);
10021
7675.1121.53 by Stuart Bishop
New baseline
10022
10023
COMMENT ON TABLE language IS 'A human language.';
10024
10025
10026
COMMENT ON COLUMN language.code IS 'The ISO 639 code for this language';
10027
10028
10029
COMMENT ON COLUMN language.englishname IS 'The english name for this language';
10030
10031
10032
COMMENT ON COLUMN language.nativename IS 'The name of this language in the language itself';
10033
10034
10035
COMMENT ON COLUMN language.pluralforms IS 'The number of plural forms this language has';
10036
10037
10038
COMMENT ON COLUMN language.pluralexpression IS 'The plural expression for this language, as used by gettext';
10039
10040
10041
COMMENT ON COLUMN language.visible IS 'Whether this language should usually be visible or not';
10042
10043
10044
COMMENT ON COLUMN language.direction IS 'The direction that text is written in this language';
10045
10046
10047
COMMENT ON COLUMN language.uuid IS 'Mozilla language pack unique ID';
10048
10049
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10050
CREATE SEQUENCE language_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10051
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10052
    INCREMENT BY 1
10053
    NO MAXVALUE
10054
    NO MINVALUE
10055
    CACHE 1;
10056
7675.1121.53 by Stuart Bishop
New baseline
10057
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10058
ALTER SEQUENCE language_id_seq OWNED BY language.id;
10059
7675.1121.53 by Stuart Bishop
New baseline
10060
4990.1.1 by Stuart Bishop
New database baseline
10061
CREATE TABLE languagepack (
10062
    id integer NOT NULL,
10063
    file integer NOT NULL,
10064
    date_exported timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10065
    date_last_used timestamp without time zone DEFAULT timezone('UTC'::text, now()),
10066
    distroseries integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10067
    type integer DEFAULT 1 NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
10068
    updates integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10069
    CONSTRAINT valid_updates CHECK ((((type = 2) AND (updates IS NOT NULL)) OR ((type = 1) AND (updates IS NULL))))
4990.1.1 by Stuart Bishop
New database baseline
10070
);
10071
7675.1121.53 by Stuart Bishop
New baseline
10072
10073
COMMENT ON TABLE languagepack IS 'Store exported language packs for DistroSeries.';
10074
10075
10076
COMMENT ON COLUMN languagepack.file IS 'Librarian file where the language pack is stored.';
10077
10078
10079
COMMENT ON COLUMN languagepack.date_exported IS 'When was exported the language pack.';
10080
10081
10082
COMMENT ON COLUMN languagepack.date_last_used IS 'When did we stop using the language pack. It''s used to decide whether we can remove it completely from the system. When it''s being used, its value is NULL';
10083
10084
10085
COMMENT ON COLUMN languagepack.distroseries IS 'The distribution series from where this language pack was exported.';
10086
10087
10088
COMMENT ON COLUMN languagepack.type IS 'Type of language pack. There are two types available, 1: Full export, 2: Update export based on language_pack_that_updates export.';
10089
10090
10091
COMMENT ON COLUMN languagepack.updates IS 'The LanguagePack that this one updates.';
10092
10093
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10094
CREATE SEQUENCE languagepack_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10095
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10096
    INCREMENT BY 1
10097
    NO MAXVALUE
10098
    NO MINVALUE
10099
    CACHE 1;
10100
7675.1121.53 by Stuart Bishop
New baseline
10101
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10102
ALTER SEQUENCE languagepack_id_seq OWNED BY languagepack.id;
10103
7675.1121.53 by Stuart Bishop
New baseline
10104
10105
CREATE VIEW latestdatabasediskutilization AS
10106
    SELECT databasediskutilization.date_created, databasediskutilization.namespace, databasediskutilization.name, databasediskutilization.sub_namespace, databasediskutilization.sub_name, databasediskutilization.kind, databasediskutilization.sort, databasediskutilization.table_len, databasediskutilization.tuple_count, databasediskutilization.tuple_len, databasediskutilization.tuple_percent, databasediskutilization.dead_tuple_count, databasediskutilization.dead_tuple_len, databasediskutilization.dead_tuple_percent, databasediskutilization.free_space, databasediskutilization.free_percent FROM databasediskutilization WHERE (databasediskutilization.date_created = (SELECT max(databasediskutilization.date_created) AS max FROM databasediskutilization));
10107
10108
3691.17.3 by Stuart Bishop
New database baseline
10109
CREATE TABLE launchpaddatabaserevision (
10110
    major integer NOT NULL,
10111
    minor integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
10112
    patch integer NOT NULL,
10113
    start_time timestamp without time zone DEFAULT timezone('UTC'::text, transaction_timestamp()),
10114
    end_time timestamp without time zone DEFAULT timezone('UTC'::text, statement_timestamp()),
10115
    branch_nick text,
10116
    revno integer,
10117
    revid text
10118
);
10119
10120
10121
COMMENT ON TABLE launchpaddatabaserevision IS 'This table contains a list of the database patches that have been successfully applied to this database.';
10122
10123
10124
COMMENT ON COLUMN launchpaddatabaserevision.major IS 'Major number. This is the version of the baseline schema the patch was made agains.';
10125
10126
10127
COMMENT ON COLUMN launchpaddatabaserevision.minor IS 'Minor number. Patches made during development each increment the minor number.';
10128
10129
10130
COMMENT ON COLUMN launchpaddatabaserevision.patch IS 'The patch number will hopefully always be ''0'', as it exists to support emergency patches made to the production server. eg. If production is running ''4.0.0'' and needs to have a patch applied ASAP, we would create a ''4.0.1'' patch and roll it out. We then may need to refactor all the existing ''4.x.0'' patches.';
10131
10132
10133
CREATE TABLE launchpaddatabaseupdatelog (
10134
    id integer NOT NULL,
10135
    start_time timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10136
    end_time timestamp without time zone,
10137
    branch_nick text,
10138
    revno integer,
10139
    revid text
10140
);
10141
10142
10143
CREATE SEQUENCE launchpaddatabaseupdatelog_id_seq
10144
    START WITH 1
10145
    INCREMENT BY 1
10146
    NO MAXVALUE
10147
    NO MINVALUE
10148
    CACHE 1;
10149
10150
10151
ALTER SEQUENCE launchpaddatabaseupdatelog_id_seq OWNED BY launchpaddatabaseupdatelog.id;
10152
3691.17.3 by Stuart Bishop
New database baseline
10153
10154
CREATE TABLE launchpadstatistic (
4212.1.1 by Stuart Bishop
New database baseline
10155
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10156
    name text NOT NULL,
10157
    value integer NOT NULL,
10158
    dateupdated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL
10159
);
10160
7675.1121.53 by Stuart Bishop
New baseline
10161
10162
COMMENT ON TABLE launchpadstatistic IS 'A store of system-wide statistics or other integer values, keyed by names. The names are unique and the values can be any integer. Each field has a place to store the timestamp when it was last updated, so it is possible to know how far out of date any given statistic is.';
10163
10164
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10165
CREATE SEQUENCE launchpadstatistic_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10166
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10167
    INCREMENT BY 1
10168
    NO MAXVALUE
10169
    NO MINVALUE
10170
    CACHE 1;
10171
7675.1121.53 by Stuart Bishop
New baseline
10172
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10173
ALTER SEQUENCE launchpadstatistic_id_seq OWNED BY launchpadstatistic.id;
10174
7675.1121.53 by Stuart Bishop
New baseline
10175
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10176
CREATE SEQUENCE libraryfilealias_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10177
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10178
    INCREMENT BY 1
10179
    NO MAXVALUE
10180
    NO MINVALUE
10181
    CACHE 1;
10182
7675.1121.53 by Stuart Bishop
New baseline
10183
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10184
ALTER SEQUENCE libraryfilealias_id_seq OWNED BY libraryfilealias.id;
10185
7675.1121.53 by Stuart Bishop
New baseline
10186
3691.17.3 by Stuart Bishop
New database baseline
10187
CREATE TABLE libraryfilecontent (
4212.1.1 by Stuart Bishop
New database baseline
10188
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10189
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
10190
    filesize bigint NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10191
    sha1 character(40) NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10192
    md5 character(32) NOT NULL,
10193
    sha256 character(64)
7675.1121.53 by Stuart Bishop
New baseline
10194
)
10195
WITH (fillfactor=100);
10196
10197
10198
COMMENT ON TABLE libraryfilecontent IS 'LibraryFileContent: A librarian file''s contents. The librarian stores files in a safe and transactional way. This table represents the contents of those files within the database.';
10199
10200
10201
COMMENT ON COLUMN libraryfilecontent.datecreated IS 'The date on which this librarian file was created';
10202
10203
10204
COMMENT ON COLUMN libraryfilecontent.filesize IS 'The size of the file';
10205
10206
10207
COMMENT ON COLUMN libraryfilecontent.sha1 IS 'The SHA1 sum of the file''s contents';
10208
10209
10210
COMMENT ON COLUMN libraryfilecontent.md5 IS 'The MD5 sum of the file''s contents';
10211
10212
10213
COMMENT ON COLUMN libraryfilecontent.sha256 IS 'The SHA256 sum of the file''s contents';
10214
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10215
10216
CREATE SEQUENCE libraryfilecontent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10217
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10218
    INCREMENT BY 1
10219
    NO MAXVALUE
10220
    NO MINVALUE
10221
    CACHE 1;
10222
7675.1121.53 by Stuart Bishop
New baseline
10223
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10224
ALTER SEQUENCE libraryfilecontent_id_seq OWNED BY libraryfilecontent.id;
10225
7675.1121.53 by Stuart Bishop
New baseline
10226
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10227
CREATE TABLE libraryfiledownloadcount (
10228
    id integer NOT NULL,
10229
    libraryfilealias integer NOT NULL,
10230
    day date NOT NULL,
10231
    count integer NOT NULL,
10232
    country integer
10233
);
10234
7675.1121.53 by Stuart Bishop
New baseline
10235
10236
COMMENT ON TABLE libraryfiledownloadcount IS 'The number of daily downloads for a given LibraryFileAlias.';
10237
10238
10239
COMMENT ON COLUMN libraryfiledownloadcount.libraryfilealias IS 'The LibraryFileAlias.';
10240
10241
10242
COMMENT ON COLUMN libraryfiledownloadcount.day IS 'The day of the downloads.';
10243
10244
10245
COMMENT ON COLUMN libraryfiledownloadcount.count IS 'The number of downloads.';
10246
10247
10248
COMMENT ON COLUMN libraryfiledownloadcount.country IS 'The country from where the download requests came from.';
10249
10250
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10251
CREATE SEQUENCE libraryfiledownloadcount_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10252
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10253
    INCREMENT BY 1
10254
    NO MAXVALUE
10255
    NO MINVALUE
10256
    CACHE 1;
10257
7675.1121.53 by Stuart Bishop
New baseline
10258
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10259
ALTER SEQUENCE libraryfiledownloadcount_id_seq OWNED BY libraryfiledownloadcount.id;
3691.17.3 by Stuart Bishop
New database baseline
10260
7675.1121.53 by Stuart Bishop
New baseline
10261
3691.17.3 by Stuart Bishop
New database baseline
10262
CREATE TABLE logintoken (
4212.1.1 by Stuart Bishop
New database baseline
10263
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10264
    requester integer,
10265
    requesteremail text,
10266
    email text NOT NULL,
10267
    created timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
10268
    tokentype integer NOT NULL,
10269
    token text,
10270
    fingerprint text,
10271
    redirection_url text,
10272
    date_consumed timestamp without time zone,
10273
    CONSTRAINT valid_fingerprint CHECK (((fingerprint IS NULL) OR valid_fingerprint(fingerprint)))
10274
);
10275
7675.1121.53 by Stuart Bishop
New baseline
10276
10277
COMMENT ON TABLE logintoken IS 'LoginToken stores one time tokens used by Launchpad for validating email addresses and other tasks that require verifying an email address is valid such as password recovery and account merging. This table will be cleaned occasionally to remove expired tokens. Expiry time is not yet defined.';
10278
10279
10280
COMMENT ON COLUMN logintoken.requester IS 'The Person that made this request. This will be null for password recovery requests.';
10281
10282
10283
COMMENT ON COLUMN logintoken.requesteremail IS 'The email address that was used to login when making this request. This provides an audit trail to help the end user confirm that this is a valid request. It is not a link to the EmailAddress table as this may be changed after the request is made. This field will be null for password recovery requests.';
10284
10285
10286
COMMENT ON COLUMN logintoken.email IS 'The email address that this request was sent to.';
10287
10288
10289
COMMENT ON COLUMN logintoken.created IS 'The timestamp that this request was made.';
10290
10291
10292
COMMENT ON COLUMN logintoken.tokentype IS 'The type of request, as per dbschema.TokenType.';
10293
10294
10295
COMMENT ON COLUMN logintoken.token IS 'The token (not the URL) emailed used to uniquely identify this request. This token will be used to generate a URL that when clicked on will continue a workflow.';
10296
10297
10298
COMMENT ON COLUMN logintoken.fingerprint IS 'The GPG key fingerprint to be validated on this transaction, it means that a new register will be created relating this given key with the requester in question. The requesteremail still passing for the same usual checks.';
10299
10300
10301
COMMENT ON COLUMN logintoken.date_consumed IS 'The date and time when this token was consumed. It''s NULL if it hasn''t been consumed yet.';
10302
10303
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10304
CREATE SEQUENCE logintoken_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10305
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10306
    INCREMENT BY 1
10307
    NO MAXVALUE
10308
    NO MINVALUE
10309
    CACHE 1;
10310
7675.1121.53 by Stuart Bishop
New baseline
10311
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10312
ALTER SEQUENCE logintoken_id_seq OWNED BY logintoken.id;
10313
7675.1121.53 by Stuart Bishop
New baseline
10314
7675.395.118 by Stuart Bishop
New database baseline from production
10315
CREATE TABLE lp_account (
10316
    id integer NOT NULL,
10317
    openid_identifier text NOT NULL
10318
);
10319
7675.1121.53 by Stuart Bishop
New baseline
10320
10321
CREATE TABLE lp_openididentifier (
10322
    identifier text NOT NULL,
10323
    account integer NOT NULL,
10324
    date_created timestamp without time zone NOT NULL
10325
);
10326
10327
7675.395.118 by Stuart Bishop
New database baseline from production
10328
CREATE TABLE lp_person (
10329
    id integer NOT NULL,
10330
    displayname text,
10331
    teamowner integer,
10332
    teamdescription text,
10333
    name text,
10334
    language integer,
10335
    fti ts2.tsvector,
10336
    defaultmembershipperiod integer,
10337
    defaultrenewalperiod integer,
10338
    subscriptionpolicy integer,
10339
    merged integer,
10340
    datecreated timestamp without time zone,
10341
    addressline1 text,
10342
    addressline2 text,
10343
    organization text,
10344
    city text,
10345
    province text,
10346
    country integer,
10347
    postcode text,
10348
    phone text,
10349
    homepage_content text,
10350
    icon integer,
10351
    mugshot integer,
10352
    hide_email_addresses boolean,
10353
    creation_rationale integer,
10354
    creation_comment text,
10355
    registrant integer,
10356
    logo integer,
10357
    renewal_policy integer,
10358
    personal_standing integer,
10359
    personal_standing_reason text,
10360
    mail_resumption_date date,
10361
    mailing_list_auto_subscribe_policy integer,
10362
    mailing_list_receive_duplicates boolean,
10363
    visibility integer,
10364
    verbose_bugnotifications boolean,
10365
    account integer
10366
);
10367
7675.1121.53 by Stuart Bishop
New baseline
10368
7675.395.118 by Stuart Bishop
New database baseline from production
10369
CREATE TABLE lp_personlocation (
10370
    id integer NOT NULL,
10371
    date_created timestamp without time zone,
10372
    person integer,
10373
    latitude double precision,
10374
    longitude double precision,
10375
    time_zone text,
10376
    last_modified_by integer,
10377
    date_last_modified timestamp without time zone,
10378
    visible boolean,
10379
    locked boolean
10380
);
10381
7675.1121.53 by Stuart Bishop
New baseline
10382
7675.395.118 by Stuart Bishop
New database baseline from production
10383
CREATE TABLE lp_teamparticipation (
10384
    id integer NOT NULL,
10385
    team integer,
10386
    person integer
10387
);
10388
7675.1121.53 by Stuart Bishop
New baseline
10389
4990.1.1 by Stuart Bishop
New database baseline
10390
CREATE TABLE mailinglist (
10391
    id integer NOT NULL,
10392
    team integer NOT NULL,
10393
    registrant integer NOT NULL,
10394
    date_registered timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10395
    reviewer integer,
10396
    date_reviewed timestamp without time zone DEFAULT timezone('UTC'::text, now()),
10397
    date_activated timestamp without time zone DEFAULT timezone('UTC'::text, now()),
10398
    status integer DEFAULT 1 NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10399
    welcome_message text
4990.1.1 by Stuart Bishop
New database baseline
10400
);
10401
7675.1121.53 by Stuart Bishop
New baseline
10402
10403
COMMENT ON TABLE mailinglist IS 'The mailing list for a team.  Teams may have zero or one mailing list, and a mailing list is associated with exactly one team.  This table manages the state changes that a team mailing list can go through, and it contains information that will be used to instruct Mailman how to create, delete, and modify mailing lists (via XMLRPC).';
10404
10405
10406
COMMENT ON COLUMN mailinglist.team IS 'The team this mailing list is associated with.';
10407
10408
10409
COMMENT ON COLUMN mailinglist.registrant IS 'The id of the Person who requested this list be created.';
10410
10411
10412
COMMENT ON COLUMN mailinglist.date_registered IS 'Date the list was requested to be created';
10413
10414
10415
COMMENT ON COLUMN mailinglist.reviewer IS 'The id of the Person who reviewed the creation request, or NULL if not yet reviewed.';
10416
10417
10418
COMMENT ON COLUMN mailinglist.date_reviewed IS 'The date the request was reviewed, or NULL if not yet reviewed.';
10419
10420
10421
COMMENT ON COLUMN mailinglist.date_activated IS 'The date the list was (last) activated.  If the list is not yet active, this field will be NULL.';
10422
10423
10424
COMMENT ON COLUMN mailinglist.status IS 'The current status of the mailing list, as a dbschema.MailingListStatus value.';
10425
10426
10427
COMMENT ON COLUMN mailinglist.welcome_message IS 'Text sent to new members when they are subscribed to the team list.  If NULL, no welcome message is sent.';
10428
10429
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10430
CREATE SEQUENCE mailinglist_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10431
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10432
    INCREMENT BY 1
10433
    NO MAXVALUE
10434
    NO MINVALUE
10435
    CACHE 1;
10436
7675.1121.53 by Stuart Bishop
New baseline
10437
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10438
ALTER SEQUENCE mailinglist_id_seq OWNED BY mailinglist.id;
10439
10440
4990.1.1 by Stuart Bishop
New database baseline
10441
CREATE TABLE mailinglistsubscription (
10442
    id integer NOT NULL,
10443
    person integer NOT NULL,
10444
    mailing_list integer NOT NULL,
10445
    date_joined timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10446
    email_address integer
10447
);
10448
7675.1121.53 by Stuart Bishop
New baseline
10449
10450
COMMENT ON TABLE mailinglistsubscription IS 'Track the subscriptions of a person to team mailing lists.';
10451
10452
10453
COMMENT ON COLUMN mailinglistsubscription.person IS 'The person who is subscribed to the mailing list.';
10454
10455
10456
COMMENT ON COLUMN mailinglistsubscription.mailing_list IS 'The mailing list this person is subscribed to.';
10457
10458
10459
COMMENT ON COLUMN mailinglistsubscription.date_joined IS 'The date this person subscribed to the mailing list.';
10460
10461
10462
COMMENT ON COLUMN mailinglistsubscription.email_address IS 'Which of the person''s email addresses are subscribed to the mailing list.  This may be NULL to indicate that it''s the person''s preferred address.';
10463
10464
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10465
CREATE SEQUENCE mailinglistsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10466
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10467
    INCREMENT BY 1
10468
    NO MAXVALUE
10469
    NO MINVALUE
10470
    CACHE 1;
10471
7675.1121.53 by Stuart Bishop
New baseline
10472
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10473
ALTER SEQUENCE mailinglistsubscription_id_seq OWNED BY mailinglistsubscription.id;
10474
10475
10476
CREATE TABLE mergedirectivejob (
10477
    id integer NOT NULL,
10478
    job integer NOT NULL,
10479
    merge_directive integer NOT NULL,
10480
    action integer NOT NULL
10481
);
10482
7675.1121.53 by Stuart Bishop
New baseline
10483
10484
COMMENT ON TABLE mergedirectivejob IS 'A job to process a merge directive.';
10485
10486
10487
COMMENT ON COLUMN mergedirectivejob.job IS 'The job associated with this MergeDirectiveJob.';
10488
10489
10490
COMMENT ON COLUMN mergedirectivejob.merge_directive IS 'Full MIME content of the message containing the merge directive.';
10491
10492
10493
COMMENT ON COLUMN mergedirectivejob.action IS 'Enumeration of the action to perform with the merge directive; push or create merge proposal.';
10494
10495
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10496
CREATE SEQUENCE mergedirectivejob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10497
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10498
    INCREMENT BY 1
10499
    NO MAXVALUE
10500
    NO MINVALUE
10501
    CACHE 1;
10502
7675.1121.53 by Stuart Bishop
New baseline
10503
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10504
ALTER SEQUENCE mergedirectivejob_id_seq OWNED BY mergedirectivejob.id;
10505
7675.1121.53 by Stuart Bishop
New baseline
10506
3691.17.3 by Stuart Bishop
New database baseline
10507
CREATE TABLE message (
4212.1.1 by Stuart Bishop
New database baseline
10508
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10509
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
10510
    subject text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10511
    owner integer,
3691.17.3 by Stuart Bishop
New database baseline
10512
    parent integer,
10513
    distribution integer,
10514
    rfc822msgid text NOT NULL,
10515
    fti ts2.tsvector,
7675.1121.53 by Stuart Bishop
New baseline
10516
    raw integer,
10517
    visible boolean DEFAULT true NOT NULL
10518
)
10519
WITH (fillfactor=100);
10520
10521
10522
COMMENT ON TABLE message IS 'This table stores a single RFC822-style message. Messages can be threaded (using the parent field). These messages can then be referenced from elsewhere in the system, such as the BugMessage table, integrating messageboard facilities with the rest of The Launchpad.';
10523
10524
10525
COMMENT ON COLUMN message.subject IS 'The title text of the message, or the subject if it was an email.';
10526
10527
10528
COMMENT ON COLUMN message.parent IS 'A "parent message". This allows for some level of threading in Messages.';
10529
10530
10531
COMMENT ON COLUMN message.distribution IS 'The distribution in which this message originated, if we know it.';
10532
10533
10534
COMMENT ON COLUMN message.raw IS 'The original unadulterated message if it arrived via email. This is required to provide access to the original, undecoded message.';
10535
3691.17.3 by Stuart Bishop
New database baseline
10536
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10537
CREATE SEQUENCE message_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10538
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10539
    INCREMENT BY 1
10540
    NO MAXVALUE
10541
    NO MINVALUE
10542
    CACHE 1;
10543
7675.1121.53 by Stuart Bishop
New baseline
10544
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10545
ALTER SEQUENCE message_id_seq OWNED BY message.id;
10546
7675.1121.53 by Stuart Bishop
New baseline
10547
4990.1.1 by Stuart Bishop
New database baseline
10548
CREATE TABLE messageapproval (
10549
    id integer NOT NULL,
10550
    posted_by integer NOT NULL,
10551
    mailing_list integer NOT NULL,
10552
    posted_message integer NOT NULL,
10553
    posted_date timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10554
    status integer DEFAULT 0 NOT NULL,
10555
    disposed_by integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10556
    disposal_date timestamp without time zone DEFAULT timezone('UTC'::text, now()),
10557
    reason text,
10558
    message integer NOT NULL
4990.1.1 by Stuart Bishop
New database baseline
10559
);
10560
7675.1121.53 by Stuart Bishop
New baseline
10561
10562
COMMENT ON TABLE messageapproval IS 'Track mailing list postings awaiting approval from the team owner.';
10563
10564
10565
COMMENT ON COLUMN messageapproval.posted_by IS 'The person who posted the message.';
10566
10567
10568
COMMENT ON COLUMN messageapproval.mailing_list IS 'The mailing list to which the message was posted.';
10569
10570
10571
COMMENT ON COLUMN messageapproval.posted_message IS 'Foreign key to libraryfilealias table pointing to where the posted message''s text lives.';
10572
10573
10574
COMMENT ON COLUMN messageapproval.posted_date IS 'The date the message was posted.';
10575
10576
10577
COMMENT ON COLUMN messageapproval.status IS 'The status of the posted message.  Values are described in dbschema.PostedMessageStatus.';
10578
10579
10580
COMMENT ON COLUMN messageapproval.disposed_by IS 'The person who disposed of (i.e. approved or rejected) the message, or NULL if no disposition has yet been made.';
10581
10582
10583
COMMENT ON COLUMN messageapproval.disposal_date IS 'The date on which this message was disposed, or NULL if no disposition has yet been made.';
10584
10585
10586
COMMENT ON COLUMN messageapproval.reason IS 'The reason for the current status if any. This information will be displayed to the end user and mailing list moderators need to be aware of this - not a private whiteboard.';
10587
10588
10589
COMMENT ON COLUMN messageapproval.message IS 'Foreign key to message table pointing to the posted message.';
10590
10591
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10592
CREATE SEQUENCE messageapproval_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10593
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10594
    INCREMENT BY 1
10595
    NO MAXVALUE
10596
    NO MINVALUE
10597
    CACHE 1;
10598
7675.1121.53 by Stuart Bishop
New baseline
10599
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10600
ALTER SEQUENCE messageapproval_id_seq OWNED BY messageapproval.id;
10601
7675.1121.53 by Stuart Bishop
New baseline
10602
3691.17.3 by Stuart Bishop
New database baseline
10603
CREATE TABLE messagechunk (
4212.1.1 by Stuart Bishop
New database baseline
10604
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10605
    message integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10606
    sequence integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10607
    content text,
10608
    blob integer,
10609
    fti ts2.tsvector,
10610
    CONSTRAINT text_or_content CHECK ((((blob IS NULL) AND (content IS NULL)) OR ((blob IS NULL) <> (content IS NULL))))
7675.1121.53 by Stuart Bishop
New baseline
10611
)
10612
WITH (fillfactor=100);
10613
10614
10615
COMMENT ON TABLE messagechunk IS 'This table stores a single chunk of a possibly multipart message. There will be at least one row in this table for each message. text/* parts are stored in the content column. All other parts are stored in the Librarian and referenced via the blob column. If both content and blob are NULL, then this chunk has been removed (eg. offensive, legal reasons, virus etc.)';
10616
10617
10618
COMMENT ON COLUMN messagechunk.sequence IS 'Order of a particular chunk. Chunks are orders in ascending order starting from 1.';
10619
10620
10621
COMMENT ON COLUMN messagechunk.content IS 'Text content for this chunk of the message. This content is full text searchable.';
10622
10623
10624
COMMENT ON COLUMN messagechunk.blob IS 'Binary content for this chunk of the message.';
10625
3691.17.3 by Stuart Bishop
New database baseline
10626
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10627
CREATE SEQUENCE messagechunk_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10628
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10629
    INCREMENT BY 1
10630
    NO MAXVALUE
10631
    NO MINVALUE
10632
    CACHE 1;
10633
7675.1121.53 by Stuart Bishop
New baseline
10634
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10635
ALTER SEQUENCE messagechunk_id_seq OWNED BY messagechunk.id;
10636
7675.1121.53 by Stuart Bishop
New baseline
10637
3691.17.3 by Stuart Bishop
New database baseline
10638
CREATE TABLE milestone (
4212.1.1 by Stuart Bishop
New database baseline
10639
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10640
    product integer,
10641
    name text NOT NULL,
10642
    distribution integer,
10643
    dateexpected timestamp without time zone,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10644
    active boolean DEFAULT true NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10645
    productseries integer,
5529.1.3 by Stuart Bishop
New database schema baseline
10646
    distroseries integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10647
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10648
    summary text,
10649
    codename text,
3691.17.3 by Stuart Bishop
New database baseline
10650
    CONSTRAINT valid_name CHECK (valid_name(name)),
10651
    CONSTRAINT valid_target CHECK ((NOT ((product IS NULL) AND (distribution IS NULL))))
10652
);
10653
7675.1121.53 by Stuart Bishop
New baseline
10654
10655
COMMENT ON TABLE milestone IS 'An identifier that helps a maintainer group together things in some way, e.g. "1.2" could be a Milestone that bazaar developers could use to mark a task as needing fixing in bazaar 1.2.';
10656
10657
10658
COMMENT ON COLUMN milestone.product IS 'The product for which this is a milestone.';
10659
10660
10661
COMMENT ON COLUMN milestone.name IS 'The identifier text, e.g. "1.2."';
10662
10663
10664
COMMENT ON COLUMN milestone.distribution IS 'The distribution to which this milestone belongs, if it is a distro milestone.';
10665
10666
10667
COMMENT ON COLUMN milestone.dateexpected IS 'If set, the date on which we expect this milestone to be delivered. This allows for optional sorting by date.';
10668
10669
10670
COMMENT ON COLUMN milestone.active IS 'Whether or not this milestone should be displayed in general listings. All milestones will be visible on the "page of milestones for product foo", but we want to be able to screen out obviously old milestones over time, for the general listings and vocabularies.';
10671
10672
10673
COMMENT ON COLUMN milestone.productseries IS 'The productseries for which this is a milestone. A milestone on a productseries is ALWAYS also a milestone for the same product. This is because milestones started out on products/distributions but are moving to being on series/distroseries.';
10674
10675
10676
COMMENT ON COLUMN milestone.distroseries IS 'The distroseries for which this is a milestone. A milestone on a distroseries is ALWAYS also a milestone for the same distribution. This is because milestones started out on products/distributions but are moving to being on series/distroseries.';
10677
10678
10679
COMMENT ON COLUMN milestone.summary IS 'This can be used to summarize the changes included in past milestones and to document the status of current milestones.';
10680
10681
10682
COMMENT ON COLUMN milestone.codename IS 'A fun or easier to remember name for the milestone/release.';
10683
10684
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10685
CREATE SEQUENCE milestone_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10686
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10687
    INCREMENT BY 1
10688
    NO MAXVALUE
10689
    NO MINVALUE
10690
    CACHE 1;
10691
7675.1121.53 by Stuart Bishop
New baseline
10692
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10693
ALTER SEQUENCE milestone_id_seq OWNED BY milestone.id;
10694
7675.1121.53 by Stuart Bishop
New baseline
10695
3691.17.3 by Stuart Bishop
New database baseline
10696
CREATE TABLE mirror (
4212.1.1 by Stuart Bishop
New database baseline
10697
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10698
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10699
    baseurl text NOT NULL,
10700
    country integer NOT NULL,
10701
    name text NOT NULL,
10702
    description text NOT NULL,
10703
    freshness integer DEFAULT 99 NOT NULL,
10704
    lastcheckeddate timestamp without time zone,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10705
    approved boolean DEFAULT false NOT NULL,
10706
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
10707
);
10708
7675.1121.53 by Stuart Bishop
New baseline
10709
10710
COMMENT ON TABLE mirror IS 'Stores general information about mirror sites. Both regular pull mirrors and top tier mirrors are included.';
10711
10712
10713
COMMENT ON COLUMN mirror.baseurl IS 'The base URL to the mirror, including protocol and optional trailing slash.';
10714
10715
10716
COMMENT ON COLUMN mirror.country IS 'The country where the mirror is located.';
10717
10718
10719
COMMENT ON COLUMN mirror.name IS 'Unique name for the mirror, suitable for use in URLs.';
10720
10721
10722
COMMENT ON COLUMN mirror.description IS 'Description of the mirror.';
10723
10724
10725
COMMENT ON COLUMN mirror.freshness IS 'dbschema.MirrorFreshness enumeration indicating freshness.';
10726
10727
10728
COMMENT ON COLUMN mirror.lastcheckeddate IS 'UTC timestamp of when the last check for freshness and consistency was made. NULL indicates no check has ever been made.';
10729
10730
10731
COMMENT ON COLUMN mirror.approved IS 'True if this mirror has been approved by the Ubuntu/Canonical mirror manager, otherwise False.';
10732
10733
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10734
CREATE SEQUENCE mirror_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10735
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10736
    INCREMENT BY 1
10737
    NO MAXVALUE
10738
    NO MINVALUE
10739
    CACHE 1;
10740
7675.1121.53 by Stuart Bishop
New baseline
10741
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10742
ALTER SEQUENCE mirror_id_seq OWNED BY mirror.id;
10743
7675.1121.53 by Stuart Bishop
New baseline
10744
5529.1.3 by Stuart Bishop
New database schema baseline
10745
CREATE TABLE mirrorcdimagedistroseries (
4212.1.1 by Stuart Bishop
New database baseline
10746
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10747
    distribution_mirror integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
10748
    distroseries integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10749
    flavour text NOT NULL,
10750
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
10751
);
10752
7675.1121.53 by Stuart Bishop
New baseline
10753
10754
COMMENT ON TABLE mirrorcdimagedistroseries IS 'The mirror of a given CD/DVD image.';
10755
10756
10757
COMMENT ON COLUMN mirrorcdimagedistroseries.distribution_mirror IS 'The distribution mirror.';
10758
10759
10760
COMMENT ON COLUMN mirrorcdimagedistroseries.distroseries IS 'The Distribution Release.';
10761
10762
10763
COMMENT ON COLUMN mirrorcdimagedistroseries.flavour IS 'The Distribution Release Flavour.';
10764
10765
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10766
CREATE SEQUENCE mirrorcdimagedistroseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10767
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10768
    INCREMENT BY 1
10769
    NO MAXVALUE
10770
    NO MINVALUE
10771
    CACHE 1;
10772
7675.1121.53 by Stuart Bishop
New baseline
10773
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10774
ALTER SEQUENCE mirrorcdimagedistroseries_id_seq OWNED BY mirrorcdimagedistroseries.id;
10775
7675.1121.53 by Stuart Bishop
New baseline
10776
3691.17.3 by Stuart Bishop
New database baseline
10777
CREATE TABLE mirrorcontent (
4212.1.1 by Stuart Bishop
New database baseline
10778
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10779
    mirror integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
10780
    distroarchseries integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10781
    component integer NOT NULL,
10782
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
10783
);
10784
7675.1121.53 by Stuart Bishop
New baseline
10785
10786
COMMENT ON TABLE mirrorcontent IS 'Stores which distroarchseries and compoenents a given mirror has.';
10787
10788
10789
COMMENT ON COLUMN mirrorcontent.distroarchseries IS 'A distroarchseries that this mirror contains.';
10790
10791
10792
COMMENT ON COLUMN mirrorcontent.component IS 'What component of the distroarchseries that this mirror contains.';
10793
10794
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10795
CREATE SEQUENCE mirrorcontent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10796
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10797
    INCREMENT BY 1
10798
    NO MAXVALUE
10799
    NO MINVALUE
10800
    CACHE 1;
10801
7675.1121.53 by Stuart Bishop
New baseline
10802
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10803
ALTER SEQUENCE mirrorcontent_id_seq OWNED BY mirrorcontent.id;
10804
7675.1121.53 by Stuart Bishop
New baseline
10805
5529.1.3 by Stuart Bishop
New database schema baseline
10806
CREATE TABLE mirrordistroarchseries (
10807
    id integer NOT NULL,
10808
    distribution_mirror integer NOT NULL,
10809
    distroarchseries integer NOT NULL,
10810
    freshness integer NOT NULL,
10811
    pocket integer NOT NULL,
10812
    component integer,
10813
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
10814
);
10815
7675.1121.53 by Stuart Bishop
New baseline
10816
10817
COMMENT ON TABLE mirrordistroarchseries IS 'The mirror of the packages of a given Distro Arch Release.';
10818
10819
10820
COMMENT ON COLUMN mirrordistroarchseries.distribution_mirror IS 'The distribution mirror.';
10821
10822
10823
COMMENT ON COLUMN mirrordistroarchseries.distroarchseries IS 'The distro arch series.';
10824
10825
10826
COMMENT ON COLUMN mirrordistroarchseries.freshness IS 'The freshness of the mirror, that is, how up-to-date it is.';
10827
10828
10829
COMMENT ON COLUMN mirrordistroarchseries.pocket IS 'The PackagePublishingPocket.';
10830
10831
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10832
CREATE SEQUENCE mirrordistroarchseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10833
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10834
    INCREMENT BY 1
10835
    NO MAXVALUE
10836
    NO MINVALUE
10837
    CACHE 1;
10838
7675.1121.53 by Stuart Bishop
New baseline
10839
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10840
ALTER SEQUENCE mirrordistroarchseries_id_seq OWNED BY mirrordistroarchseries.id;
10841
7675.1121.53 by Stuart Bishop
New baseline
10842
5529.1.3 by Stuart Bishop
New database schema baseline
10843
CREATE TABLE mirrordistroseriessource (
10844
    id integer NOT NULL,
10845
    distribution_mirror integer NOT NULL,
10846
    distroseries integer NOT NULL,
10847
    freshness integer NOT NULL,
10848
    pocket integer NOT NULL,
10849
    component integer,
10850
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
10851
);
10852
7675.1121.53 by Stuart Bishop
New baseline
10853
10854
COMMENT ON TABLE mirrordistroseriessource IS 'The mirror of a given Distro Release';
10855
10856
10857
COMMENT ON COLUMN mirrordistroseriessource.distribution_mirror IS 'The distribution mirror.';
10858
10859
10860
COMMENT ON COLUMN mirrordistroseriessource.distroseries IS 'The Distribution Release.';
10861
10862
10863
COMMENT ON COLUMN mirrordistroseriessource.freshness IS 'The freshness of the mirror, that is, how up-to-date it is.';
10864
10865
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10866
CREATE SEQUENCE mirrordistroseriessource_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10867
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10868
    INCREMENT BY 1
10869
    NO MAXVALUE
10870
    NO MINVALUE
10871
    CACHE 1;
10872
7675.1121.53 by Stuart Bishop
New baseline
10873
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10874
ALTER SEQUENCE mirrordistroseriessource_id_seq OWNED BY mirrordistroseriessource.id;
10875
7675.1121.53 by Stuart Bishop
New baseline
10876
3691.17.3 by Stuart Bishop
New database baseline
10877
CREATE TABLE mirrorproberecord (
4212.1.1 by Stuart Bishop
New database baseline
10878
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10879
    distribution_mirror integer NOT NULL,
10880
    log_file integer,
10881
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL
10882
);
10883
7675.1121.53 by Stuart Bishop
New baseline
10884
10885
COMMENT ON TABLE mirrorproberecord IS 'Records stored when a mirror is probed.';
10886
10887
10888
COMMENT ON COLUMN mirrorproberecord.distribution_mirror IS 'The DistributionMirror.';
10889
10890
10891
COMMENT ON COLUMN mirrorproberecord.log_file IS 'The log file of the probe.';
10892
10893
10894
COMMENT ON COLUMN mirrorproberecord.date_created IS 'The date and time the probe was performed.';
10895
10896
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10897
CREATE SEQUENCE mirrorproberecord_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10898
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10899
    INCREMENT BY 1
10900
    NO MAXVALUE
10901
    NO MINVALUE
10902
    CACHE 1;
10903
7675.1121.53 by Stuart Bishop
New baseline
10904
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10905
ALTER SEQUENCE mirrorproberecord_id_seq OWNED BY mirrorproberecord.id;
10906
7675.1121.53 by Stuart Bishop
New baseline
10907
3691.17.3 by Stuart Bishop
New database baseline
10908
CREATE TABLE mirrorsourcecontent (
4212.1.1 by Stuart Bishop
New database baseline
10909
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
10910
    mirror integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
10911
    distroseries integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10912
    component integer NOT NULL,
10913
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
10914
);
10915
7675.1121.53 by Stuart Bishop
New baseline
10916
10917
COMMENT ON TABLE mirrorsourcecontent IS 'Stores which distroseries and components a given mirror that includes source packages has.';
10918
10919
10920
COMMENT ON COLUMN mirrorsourcecontent.distroseries IS 'A distroseries that this mirror contains.';
10921
10922
10923
COMMENT ON COLUMN mirrorsourcecontent.component IS 'What component of the distroseries that this sourcepackage mirror contains.';
10924
10925
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10926
CREATE SEQUENCE mirrorsourcecontent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10927
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10928
    INCREMENT BY 1
10929
    NO MAXVALUE
10930
    NO MINVALUE
10931
    CACHE 1;
10932
7675.1121.53 by Stuart Bishop
New baseline
10933
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10934
ALTER SEQUENCE mirrorsourcecontent_id_seq OWNED BY mirrorsourcecontent.id;
10935
7675.1121.53 by Stuart Bishop
New baseline
10936
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10937
CREATE TABLE nameblacklist (
4212.1.1 by Stuart Bishop
New database baseline
10938
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10939
    regexp text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10940
    comment text,
7675.1121.53 by Stuart Bishop
New baseline
10941
    admin integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
10942
    CONSTRAINT valid_regexp CHECK (valid_regexp(regexp))
10943
);
10944
7675.1121.53 by Stuart Bishop
New baseline
10945
10946
COMMENT ON TABLE nameblacklist IS 'A list of regular expressions used to blacklist names.';
10947
10948
10949
COMMENT ON COLUMN nameblacklist.regexp IS 'A Python regular expression. It will be compiled with the IGNORECASE, UNICODE and VERBOSE flags. The Python search method will be used rather than match, so ^ markers should be used to indicate the start of a string.';
10950
10951
10952
COMMENT ON COLUMN nameblacklist.comment IS 'An optional comment on why this regexp was entered. It should not be displayed to non-admins and its only purpose is documentation.';
10953
10954
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10955
CREATE SEQUENCE nameblacklist_id_seq
7675.1121.53 by Stuart Bishop
New baseline
10956
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10957
    INCREMENT BY 1
10958
    NO MAXVALUE
10959
    NO MINVALUE
10960
    CACHE 1;
10961
7675.1121.53 by Stuart Bishop
New baseline
10962
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
10963
ALTER SEQUENCE nameblacklist_id_seq OWNED BY nameblacklist.id;
10964
7675.1121.53 by Stuart Bishop
New baseline
10965
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
10966
CREATE TABLE oauthaccesstoken (
10967
    id integer NOT NULL,
10968
    consumer integer NOT NULL,
10969
    person integer NOT NULL,
10970
    permission integer NOT NULL,
10971
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
10972
    date_expires timestamp without time zone,
10973
    key text NOT NULL,
10974
    secret text NOT NULL,
10975
    product integer,
10976
    project integer,
10977
    distribution integer,
10978
    sourcepackagename integer,
10979
    CONSTRAINT just_one_context CHECK ((null_count(ARRAY[product, project, distribution]) >= 2)),
10980
    CONSTRAINT sourcepackagename_needs_distro CHECK (((sourcepackagename IS NULL) OR (distribution IS NOT NULL)))
10981
);
10982
7675.1121.53 by Stuart Bishop
New baseline
10983
10984
COMMENT ON TABLE oauthaccesstoken IS 'An access token used by the consumer to act on behalf of one of our users.';
10985
10986
10987
COMMENT ON COLUMN oauthaccesstoken.consumer IS 'The consumer which is going to access the protected resources.';
10988
10989
10990
COMMENT ON COLUMN oauthaccesstoken.person IS 'The person on whose behalf the
10991
consumer will access Launchpad.';
10992
10993
10994
COMMENT ON COLUMN oauthaccesstoken.permission IS 'The permission given by that person to the consumer.';
10995
10996
10997
COMMENT ON COLUMN oauthaccesstoken.date_created IS 'The date/time in which the token was created.';
10998
10999
11000
COMMENT ON COLUMN oauthaccesstoken.date_expires IS 'The date/time in which this token will stop being accepted by Launchpad.';
11001
11002
11003
COMMENT ON COLUMN oauthaccesstoken.key IS 'This token''s unique key.';
11004
11005
11006
COMMENT ON COLUMN oauthaccesstoken.secret IS 'The secret used by the consumer (together with the token''s key) to access Launchpad on behalf of the person.';
11007
11008
11009
COMMENT ON COLUMN oauthaccesstoken.product IS 'The product associated with this token.';
11010
11011
11012
COMMENT ON COLUMN oauthaccesstoken.project IS 'The project associated with this token.';
11013
11014
11015
COMMENT ON COLUMN oauthaccesstoken.distribution IS 'The distribution associated with this token.';
11016
11017
11018
COMMENT ON COLUMN oauthaccesstoken.sourcepackagename IS 'The sourcepackagename associated with this token.';
11019
11020
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11021
CREATE SEQUENCE oauthaccesstoken_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11022
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11023
    INCREMENT BY 1
11024
    NO MAXVALUE
11025
    NO MINVALUE
11026
    CACHE 1;
11027
7675.1121.53 by Stuart Bishop
New baseline
11028
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11029
ALTER SEQUENCE oauthaccesstoken_id_seq OWNED BY oauthaccesstoken.id;
11030
7675.1121.53 by Stuart Bishop
New baseline
11031
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11032
CREATE TABLE oauthconsumer (
11033
    id integer NOT NULL,
11034
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11035
    disabled boolean DEFAULT false NOT NULL,
11036
    key text NOT NULL,
11037
    secret text
11038
);
11039
7675.1121.53 by Stuart Bishop
New baseline
11040
11041
COMMENT ON TABLE oauthconsumer IS 'A third part application that will access Launchpad on behalf of one of our users.';
11042
11043
11044
COMMENT ON COLUMN oauthconsumer.date_created IS 'The creation date.';
11045
11046
11047
COMMENT ON COLUMN oauthconsumer.disabled IS 'Is this consumer disabled?';
11048
11049
11050
COMMENT ON COLUMN oauthconsumer.key IS 'The unique key for this consumer.';
11051
11052
11053
COMMENT ON COLUMN oauthconsumer.secret IS 'The secret used by this consumer (together with its key) to identify itself with Launchpad.';
11054
11055
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11056
CREATE SEQUENCE oauthconsumer_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11057
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11058
    INCREMENT BY 1
11059
    NO MAXVALUE
11060
    NO MINVALUE
11061
    CACHE 1;
11062
7675.1121.53 by Stuart Bishop
New baseline
11063
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11064
ALTER SEQUENCE oauthconsumer_id_seq OWNED BY oauthconsumer.id;
11065
7675.1121.53 by Stuart Bishop
New baseline
11066
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11067
CREATE TABLE oauthnonce (
11068
    request_timestamp timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11069
    nonce text NOT NULL,
11070
    access_token integer NOT NULL
11071
);
11072
7675.1121.53 by Stuart Bishop
New baseline
11073
11074
COMMENT ON TABLE oauthnonce IS 'The unique nonce for any request with a given timestamp and access token. This is generated by the consumer.';
11075
11076
11077
COMMENT ON COLUMN oauthnonce.request_timestamp IS 'The date and time (as a timestamp) in which the request was made.';
11078
11079
11080
COMMENT ON COLUMN oauthnonce.nonce IS 'The nonce itself.';
11081
11082
11083
COMMENT ON COLUMN oauthnonce.access_token IS 'The access token.';
11084
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11085
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11086
CREATE TABLE oauthrequesttoken (
11087
    id integer NOT NULL,
11088
    consumer integer NOT NULL,
11089
    person integer,
11090
    permission integer,
11091
    date_expires timestamp without time zone,
11092
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11093
    date_reviewed timestamp without time zone,
11094
    key text NOT NULL,
11095
    secret text NOT NULL,
11096
    product integer,
11097
    project integer,
11098
    distribution integer,
11099
    sourcepackagename integer,
11100
    CONSTRAINT just_one_context CHECK ((null_count(ARRAY[product, project, distribution]) >= 2)),
11101
    CONSTRAINT reviewed_request CHECK ((((date_reviewed IS NULL) = (person IS NULL)) AND ((date_reviewed IS NULL) = (permission IS NULL)))),
11102
    CONSTRAINT sourcepackagename_needs_distro CHECK (((sourcepackagename IS NULL) OR (distribution IS NOT NULL)))
11103
);
4212.1.1 by Stuart Bishop
New database baseline
11104
7675.1121.53 by Stuart Bishop
New baseline
11105
11106
COMMENT ON TABLE oauthrequesttoken IS 'A request token which, once authorized by the user, is exchanged for an access token.';
11107
11108
11109
COMMENT ON COLUMN oauthrequesttoken.consumer IS 'The consumer which is going to access the protected resources.';
11110
11111
11112
COMMENT ON COLUMN oauthrequesttoken.person IS 'The person who authorized this token.';
11113
11114
11115
COMMENT ON COLUMN oauthrequesttoken.permission IS 'The permission given by the
11116
person to the consumer.';
11117
11118
11119
COMMENT ON COLUMN oauthrequesttoken.date_expires IS 'When the authorization is to expire.';
11120
11121
11122
COMMENT ON COLUMN oauthrequesttoken.date_created IS 'The date/time in which the token was created.';
11123
11124
11125
COMMENT ON COLUMN oauthrequesttoken.date_reviewed IS 'When the authorization request was authorized or rejected by the person.';
11126
11127
11128
COMMENT ON COLUMN oauthrequesttoken.key IS 'This token''s unique key.';
11129
11130
11131
COMMENT ON COLUMN oauthrequesttoken.secret IS 'The secret used by the consumer (together with the token''s key) to get an access token once the user has authorized its use.';
11132
11133
11134
COMMENT ON COLUMN oauthrequesttoken.product IS 'The product associated with this token.';
11135
11136
11137
COMMENT ON COLUMN oauthrequesttoken.project IS 'The project associated with this token.';
11138
11139
11140
COMMENT ON COLUMN oauthrequesttoken.distribution IS 'The distribution associated with this token.';
11141
11142
11143
COMMENT ON COLUMN oauthrequesttoken.sourcepackagename IS 'The sourcepackagename associated with this token.';
11144
11145
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11146
CREATE SEQUENCE oauthrequesttoken_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11147
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11148
    INCREMENT BY 1
11149
    NO MAXVALUE
11150
    NO MINVALUE
11151
    CACHE 1;
11152
7675.1121.53 by Stuart Bishop
New baseline
11153
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11154
ALTER SEQUENCE oauthrequesttoken_id_seq OWNED BY oauthrequesttoken.id;
11155
7675.1121.53 by Stuart Bishop
New baseline
11156
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
11157
CREATE TABLE officialbugtag (
4212.1.1 by Stuart Bishop
New database baseline
11158
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
11159
    tag text NOT NULL,
11160
    distribution integer,
11161
    project integer,
11162
    product integer,
11163
    CONSTRAINT context_required CHECK (((product IS NOT NULL) OR (distribution IS NOT NULL)))
3691.17.3 by Stuart Bishop
New database baseline
11164
);
11165
7675.1121.53 by Stuart Bishop
New baseline
11166
11167
COMMENT ON TABLE officialbugtag IS 'Bug tags that have been officially endorced by this product''s or distribution''s lead';
11168
11169
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11170
CREATE SEQUENCE officialbugtag_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11171
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11172
    INCREMENT BY 1
11173
    NO MAXVALUE
11174
    NO MINVALUE
11175
    CACHE 1;
11176
7675.1121.53 by Stuart Bishop
New baseline
11177
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11178
ALTER SEQUENCE officialbugtag_id_seq OWNED BY officialbugtag.id;
11179
4990.1.1 by Stuart Bishop
New database baseline
11180
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11181
CREATE TABLE openidconsumerassociation (
11182
    server_url character varying(2047) NOT NULL,
11183
    handle character varying(255) NOT NULL,
11184
    secret bytea,
11185
    issued integer,
11186
    lifetime integer,
11187
    assoc_type character varying(64),
11188
    CONSTRAINT secret_length_constraint CHECK ((length(secret) <= 128))
11189
);
11190
7675.1121.53 by Stuart Bishop
New baseline
11191
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11192
CREATE TABLE openidconsumernonce (
11193
    server_url character varying(2047) NOT NULL,
11194
    "timestamp" integer NOT NULL,
11195
    salt character(40) NOT NULL
11196
);
11197
7675.1121.53 by Stuart Bishop
New baseline
11198
11199
CREATE TABLE openididentifier (
11200
    identifier text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11201
    account integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
11202
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
11203
);
11204
7675.1121.53 by Stuart Bishop
New baseline
11205
11206
COMMENT ON TABLE openididentifier IS 'OpenId Identifiers that can be used to log into an Account.';
11207
11208
11209
COMMENT ON COLUMN openididentifier.identifier IS 'OpenId Identifier. This should be a URL, but is currently just a token that can be used to generate the Identity URL for the Canonical SSO OpenId Provider.';
11210
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11211
7675.395.118 by Stuart Bishop
New database baseline from production
11212
CREATE TABLE packagebuild (
11213
    id integer NOT NULL,
11214
    build_farm_job integer NOT NULL,
11215
    archive integer NOT NULL,
11216
    pocket integer DEFAULT 0 NOT NULL,
11217
    upload_log integer,
11218
    dependencies text
11219
);
11220
7675.1121.53 by Stuart Bishop
New baseline
11221
11222
COMMENT ON TABLE packagebuild IS 'PackageBuild: This table stores the information common to build farm jobs that build source or binary packages.';
11223
11224
11225
COMMENT ON COLUMN packagebuild.build_farm_job IS 'Points to the build farm job with the base information.';
11226
11227
11228
COMMENT ON COLUMN packagebuild.archive IS 'Targeted archive for this package build.';
11229
11230
11231
COMMENT ON COLUMN packagebuild.pocket IS 'Stores the target pocket identifier for this package build.';
11232
11233
11234
COMMENT 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.';
11235
11236
11237
COMMENT ON COLUMN packagebuild.dependencies IS 'Contains a debian-like dependency line specifying the current missing-dependencies for this package.';
11238
11239
7675.395.118 by Stuart Bishop
New database baseline from production
11240
CREATE SEQUENCE packagebuild_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11241
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
11242
    INCREMENT BY 1
11243
    NO MAXVALUE
11244
    NO MINVALUE
11245
    CACHE 1;
11246
7675.1121.53 by Stuart Bishop
New baseline
11247
7675.395.118 by Stuart Bishop
New database baseline from production
11248
ALTER SEQUENCE packagebuild_id_seq OWNED BY packagebuild.id;
11249
7675.1121.53 by Stuart Bishop
New baseline
11250
11251
CREATE TABLE packagecopyjob (
11252
    id integer NOT NULL,
11253
    job integer NOT NULL,
11254
    source_archive integer NOT NULL,
11255
    target_archive integer NOT NULL,
11256
    target_distroseries integer,
11257
    job_type integer NOT NULL,
11258
    json_data text,
11259
    package_name text NOT NULL,
11260
    copy_policy integer
11261
);
11262
11263
11264
CREATE SEQUENCE packagecopyjob_id_seq
11265
    START WITH 1
11266
    INCREMENT BY 1
11267
    NO MAXVALUE
11268
    NO MINVALUE
11269
    CACHE 1;
11270
11271
11272
ALTER SEQUENCE packagecopyjob_id_seq OWNED BY packagecopyjob.id;
11273
11274
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11275
CREATE TABLE packagecopyrequest (
11276
    id integer NOT NULL,
11277
    target_archive integer NOT NULL,
11278
    target_distroseries integer,
11279
    target_component integer,
11280
    target_pocket integer,
11281
    copy_binaries boolean DEFAULT false NOT NULL,
11282
    source_archive integer NOT NULL,
11283
    source_distroseries integer,
11284
    source_component integer,
11285
    source_pocket integer,
11286
    requester integer NOT NULL,
11287
    status integer NOT NULL,
11288
    reason text,
11289
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11290
    date_started timestamp without time zone,
11291
    date_completed timestamp without time zone
11292
);
4212.1.1 by Stuart Bishop
New database baseline
11293
7675.1121.53 by Stuart Bishop
New baseline
11294
11295
COMMENT ON TABLE packagecopyrequest IS 'PackageCopyRequest: A table that captures the status and the details of an inter-archive package copy operation.';
11296
11297
11298
COMMENT ON COLUMN packagecopyrequest.target_archive IS 'The archive to which packages will be copied.';
11299
11300
11301
COMMENT ON COLUMN packagecopyrequest.target_distroseries IS 'The target distroseries.';
11302
11303
11304
COMMENT ON COLUMN packagecopyrequest.target_component IS 'The target component.';
11305
11306
11307
COMMENT ON COLUMN packagecopyrequest.target_pocket IS 'The target pocket.';
11308
11309
11310
COMMENT ON COLUMN packagecopyrequest.source_archive IS 'The archive from which packages are to be copied.';
11311
11312
11313
COMMENT ON COLUMN packagecopyrequest.source_distroseries IS 'The distroseries to which the packages to be copied belong in the source archive.';
11314
11315
11316
COMMENT ON COLUMN packagecopyrequest.source_component IS 'The component to which the packages to be copied belong in the source archive.';
11317
11318
11319
COMMENT ON COLUMN packagecopyrequest.source_pocket IS 'The pocket for the packages to be copied.';
11320
11321
11322
COMMENT ON COLUMN packagecopyrequest.requester IS 'The person who requested the archive operation.';
11323
11324
11325
COMMENT ON COLUMN packagecopyrequest.status IS 'Archive operation status, may be one of: new, in-progress, complete, failed, cancelling, cancelled.';
11326
11327
11328
COMMENT ON COLUMN packagecopyrequest.reason IS 'The reason why this copy operation was requested.';
11329
11330
11331
COMMENT ON COLUMN packagecopyrequest.date_created IS 'Date of creation for this archive operation.';
11332
11333
11334
COMMENT ON COLUMN packagecopyrequest.date_started IS 'Start date/time of this archive operation.';
11335
11336
11337
COMMENT ON COLUMN packagecopyrequest.date_completed IS 'When did this archive operation conclude?';
11338
11339
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11340
CREATE SEQUENCE packagecopyrequest_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11341
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11342
    INCREMENT BY 1
11343
    NO MAXVALUE
11344
    NO MINVALUE
11345
    CACHE 1;
11346
7675.1121.53 by Stuart Bishop
New baseline
11347
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11348
ALTER SEQUENCE packagecopyrequest_id_seq OWNED BY packagecopyrequest.id;
11349
7675.1121.53 by Stuart Bishop
New baseline
11350
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11351
CREATE TABLE packagediff (
11352
    id integer NOT NULL,
11353
    date_requested timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11354
    requester integer NOT NULL,
11355
    from_source integer NOT NULL,
11356
    to_source integer NOT NULL,
11357
    date_fulfilled timestamp without time zone,
11358
    diff_content integer,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11359
    status integer DEFAULT 0 NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11360
    CONSTRAINT distinct_sources CHECK ((from_source <> to_source))
11361
);
4212.1.1 by Stuart Bishop
New database baseline
11362
7675.1121.53 by Stuart Bishop
New baseline
11363
11364
COMMENT ON TABLE packagediff IS 'This table stores diffs bettwen two scpecific SourcePackageRelease versions.';
11365
11366
11367
COMMENT ON COLUMN packagediff.date_requested IS 'Instant when the diff was requested.';
11368
11369
11370
COMMENT ON COLUMN packagediff.requester IS 'The Person responsible for the request.';
11371
11372
11373
COMMENT ON COLUMN packagediff.from_source IS 'The SourcePackageRelease to diff from.';
11374
11375
11376
COMMENT ON COLUMN packagediff.to_source IS 'The SourcePackageRelease to diff to.';
11377
11378
11379
COMMENT ON COLUMN packagediff.date_fulfilled IS 'Instant when the diff was completed.';
11380
11381
11382
COMMENT ON COLUMN packagediff.diff_content IS 'LibraryFileAlias containing the th diff results.';
11383
11384
11385
COMMENT ON COLUMN packagediff.status IS 'Request status, PENDING(0) when created then goes to COMPLETED(1) or FAILED(2), both terminal status where diff_content and date_fulfilled will contain the results of the request.';
11386
11387
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11388
CREATE SEQUENCE packagediff_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11389
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11390
    INCREMENT BY 1
11391
    NO MAXVALUE
11392
    NO MINVALUE
11393
    CACHE 1;
11394
7675.1121.53 by Stuart Bishop
New baseline
11395
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11396
ALTER SEQUENCE packagediff_id_seq OWNED BY packagediff.id;
11397
11398
11399
CREATE TABLE packageset (
11400
    id integer NOT NULL,
11401
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11402
    owner integer NOT NULL,
11403
    name text NOT NULL,
11404
    description text NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
11405
    packagesetgroup integer NOT NULL,
11406
    distroseries integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11407
    CONSTRAINT packageset_name_check CHECK (valid_name(name))
11408
);
11409
7675.1121.53 by Stuart Bishop
New baseline
11410
11411
COMMENT ON TABLE packageset IS 'Package sets facilitate the grouping of packages (in a given distro series) for purposes like the control of upload permissions, etc.';
11412
11413
11414
COMMENT ON COLUMN packageset.date_created IS 'Date and time of creation.';
11415
11416
11417
COMMENT ON COLUMN packageset.owner IS 'The Person or team who owns the package
11418
set group.';
11419
11420
11421
COMMENT ON COLUMN packageset.name IS 'The name for the package set on hand.';
11422
11423
11424
COMMENT ON COLUMN packageset.description IS 'The description for the package set on hand.';
11425
11426
11427
COMMENT ON COLUMN packageset.packagesetgroup IS 'The group this package set is affiliated with.';
11428
11429
11430
COMMENT ON COLUMN packageset.distroseries IS 'The distro series this package set belongs to.';
11431
11432
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11433
CREATE SEQUENCE packageset_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11434
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11435
    INCREMENT BY 1
11436
    NO MAXVALUE
11437
    NO MINVALUE
11438
    CACHE 1;
11439
7675.1121.53 by Stuart Bishop
New baseline
11440
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11441
ALTER SEQUENCE packageset_id_seq OWNED BY packageset.id;
11442
7675.1121.53 by Stuart Bishop
New baseline
11443
7675.395.118 by Stuart Bishop
New database baseline from production
11444
CREATE TABLE packagesetgroup (
11445
    id integer NOT NULL,
11446
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11447
    owner integer NOT NULL
11448
);
11449
7675.1121.53 by Stuart Bishop
New baseline
11450
11451
COMMENT ON TABLE packagesetgroup IS 'Package set groups keep track of equivalent package sets across distro series boundaries.';
11452
11453
7675.395.118 by Stuart Bishop
New database baseline from production
11454
CREATE SEQUENCE packagesetgroup_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11455
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
11456
    INCREMENT BY 1
11457
    NO MAXVALUE
11458
    NO MINVALUE
11459
    CACHE 1;
11460
7675.1121.53 by Stuart Bishop
New baseline
11461
7675.395.118 by Stuart Bishop
New database baseline from production
11462
ALTER SEQUENCE packagesetgroup_id_seq OWNED BY packagesetgroup.id;
11463
7675.1121.53 by Stuart Bishop
New baseline
11464
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11465
CREATE TABLE packagesetinclusion (
11466
    id integer NOT NULL,
11467
    parent integer NOT NULL,
11468
    child integer NOT NULL
11469
);
11470
7675.1121.53 by Stuart Bishop
New baseline
11471
11472
COMMENT ON TABLE packagesetinclusion IS 'sets may form a set-subset hierarchy; this table facilitates the definition of these set-subset relationships.';
11473
11474
11475
COMMENT ON COLUMN packagesetinclusion.parent IS 'The package set that is including a subset.';
11476
11477
11478
COMMENT ON COLUMN packagesetinclusion.child IS 'The package set that is being included as a subset.';
11479
11480
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11481
CREATE SEQUENCE packagesetinclusion_id_seq
11482
    START WITH 1
11483
    INCREMENT BY 1
11484
    NO MAXVALUE
11485
    NO MINVALUE
11486
    CACHE 1;
11487
7675.1121.53 by Stuart Bishop
New baseline
11488
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11489
ALTER SEQUENCE packagesetinclusion_id_seq OWNED BY packagesetinclusion.id;
11490
7675.1121.53 by Stuart Bishop
New baseline
11491
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11492
CREATE TABLE packagesetsources (
11493
    id integer NOT NULL,
11494
    packageset integer NOT NULL,
11495
    sourcepackagename integer NOT NULL
11496
);
11497
7675.1121.53 by Stuart Bishop
New baseline
11498
11499
COMMENT ON TABLE packagesetsources IS 'This table associates package sets and source package names.';
11500
11501
11502
COMMENT ON COLUMN packagesetsources.packageset IS 'The associated package set.';
11503
11504
11505
COMMENT ON COLUMN packagesetsources.sourcepackagename IS 'The associated source package name.';
11506
11507
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11508
CREATE SEQUENCE packagesetsources_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11509
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11510
    INCREMENT BY 1
11511
    NO MAXVALUE
11512
    NO MINVALUE
11513
    CACHE 1;
11514
7675.1121.53 by Stuart Bishop
New baseline
11515
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11516
ALTER SEQUENCE packagesetsources_id_seq OWNED BY packagesetsources.id;
11517
7675.1121.53 by Stuart Bishop
New baseline
11518
4990.1.1 by Stuart Bishop
New database baseline
11519
CREATE TABLE packageupload (
11520
    id integer NOT NULL,
11521
    status integer DEFAULT 0 NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
11522
    distroseries integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
11523
    pocket integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11524
    changesfile integer,
4990.1.1 by Stuart Bishop
New database baseline
11525
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11526
    signing_key integer,
7675.1121.53 by Stuart Bishop
New baseline
11527
    archive integer NOT NULL,
11528
    package_copy_job integer
4990.1.1 by Stuart Bishop
New database baseline
11529
);
11530
7675.1121.53 by Stuart Bishop
New baseline
11531
11532
COMMENT ON TABLE packageupload IS 'An upload. This table stores information pertaining to uploads to a given DistroSeries/Archive.';
11533
11534
11535
COMMENT ON COLUMN packageupload.status IS 'This is an integer field containing the current status of the upload. Possible values are given by the UploadStatus class in dbschema.py';
11536
11537
11538
COMMENT ON COLUMN packageupload.distroseries IS 'This integer field refers to the DistroSeries to which this upload is targeted';
11539
11540
11541
COMMENT ON COLUMN packageupload.pocket IS 'This is the pocket the upload is targeted at.';
11542
11543
11544
COMMENT ON COLUMN packageupload.changesfile IS 'The changes file associated with this upload. It is null for records refering to a delayed-copy.';
11545
11546
11547
COMMENT ON COLUMN packageupload.archive IS 'The archive to which this upload is targetted.';
11548
11549
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11550
CREATE SEQUENCE packageupload_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11551
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11552
    INCREMENT BY 1
11553
    NO MAXVALUE
11554
    NO MINVALUE
11555
    CACHE 1;
11556
7675.1121.53 by Stuart Bishop
New baseline
11557
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11558
ALTER SEQUENCE packageupload_id_seq OWNED BY packageupload.id;
11559
7675.1121.53 by Stuart Bishop
New baseline
11560
4990.1.1 by Stuart Bishop
New database baseline
11561
CREATE TABLE packageuploadbuild (
11562
    id integer NOT NULL,
11563
    packageupload integer NOT NULL,
11564
    build integer NOT NULL,
11565
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
11566
);
11567
7675.1121.53 by Stuart Bishop
New baseline
11568
11569
COMMENT ON TABLE packageuploadbuild IS 'An upload binary build. This table stores information pertaining to the builds in a package upload.';
11570
11571
11572
COMMENT ON COLUMN packageuploadbuild.packageupload IS 'This integer field refers to the PackageUpload row that this source belongs to.';
11573
11574
11575
COMMENT ON COLUMN packageuploadbuild.build IS 'This integer field refers to the Build record related to this upload.';
11576
11577
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11578
CREATE SEQUENCE packageuploadbuild_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11579
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11580
    INCREMENT BY 1
11581
    NO MAXVALUE
11582
    NO MINVALUE
11583
    CACHE 1;
11584
7675.1121.53 by Stuart Bishop
New baseline
11585
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11586
ALTER SEQUENCE packageuploadbuild_id_seq OWNED BY packageuploadbuild.id;
11587
7675.1121.53 by Stuart Bishop
New baseline
11588
4990.1.1 by Stuart Bishop
New database baseline
11589
CREATE TABLE packageuploadcustom (
11590
    id integer NOT NULL,
11591
    packageupload integer NOT NULL,
11592
    customformat integer NOT NULL,
11593
    libraryfilealias integer NOT NULL,
11594
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
11595
);
11596
7675.1121.53 by Stuart Bishop
New baseline
11597
11598
COMMENT ON TABLE packageuploadcustom IS 'An uploaded custom format file. This table stores information pertaining to the custom upload formats in a package upload.';
11599
11600
11601
COMMENT ON COLUMN packageuploadcustom.packageupload IS 'The PackageUpload row this refers to.';
11602
11603
11604
COMMENT ON COLUMN packageuploadcustom.customformat IS 'The format of this particular custom uploaded file.';
11605
11606
11607
COMMENT ON COLUMN packageuploadcustom.libraryfilealias IS 'The actual file as a librarian alias.';
11608
11609
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11610
CREATE SEQUENCE packageuploadcustom_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11611
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11612
    INCREMENT BY 1
11613
    NO MAXVALUE
11614
    NO MINVALUE
11615
    CACHE 1;
11616
7675.1121.53 by Stuart Bishop
New baseline
11617
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11618
ALTER SEQUENCE packageuploadcustom_id_seq OWNED BY packageuploadcustom.id;
11619
7675.1121.53 by Stuart Bishop
New baseline
11620
4990.1.1 by Stuart Bishop
New database baseline
11621
CREATE TABLE packageuploadsource (
11622
    id integer NOT NULL,
11623
    packageupload integer NOT NULL,
11624
    sourcepackagerelease integer NOT NULL,
11625
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
11626
);
11627
7675.1121.53 by Stuart Bishop
New baseline
11628
11629
COMMENT ON TABLE packageuploadsource IS 'Link between an upload and a source package. This table stores information pertaining to the source files in a package upload.';
11630
11631
11632
COMMENT ON COLUMN packageuploadsource.packageupload IS 'This integer field refers to the PackageUpload row that this source belongs to.';
11633
11634
11635
COMMENT ON COLUMN packageuploadsource.sourcepackagerelease IS 'This integer field refers to the SourcePackageRelease record related to this upload.';
11636
11637
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11638
CREATE SEQUENCE packageuploadsource_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11639
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11640
    INCREMENT BY 1
11641
    NO MAXVALUE
11642
    NO MINVALUE
11643
    CACHE 1;
11644
7675.1121.53 by Stuart Bishop
New baseline
11645
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11646
ALTER SEQUENCE packageuploadsource_id_seq OWNED BY packageuploadsource.id;
11647
7675.1121.53 by Stuart Bishop
New baseline
11648
3691.17.3 by Stuart Bishop
New database baseline
11649
CREATE TABLE packaging (
11650
    packaging integer NOT NULL,
11651
    id integer DEFAULT nextval(('packaging_id_seq'::text)::regclass) NOT NULL,
11652
    sourcepackagename integer,
7675.1121.53 by Stuart Bishop
New baseline
11653
    distroseries integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
11654
    productseries integer NOT NULL,
11655
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11656
    owner integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
11657
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
11658
);
11659
7675.1121.53 by Stuart Bishop
New baseline
11660
11661
COMMENT ON TABLE packaging IS 'DO NOT JOIN THROUGH THIS TABLE. This is a set
11662
of information linking upstream product series (branches) to distro
11663
packages, but it''s not planned or likely to be complete, in the sense that
11664
we do not attempt to have information for every branch in every derivative
11665
distro managed in Launchpad. So don''t join through this table to get from
11666
product to source package, or vice versa. Rather, use the
11667
ProductSeries.sourcepackages attribute, or the
11668
SourcePackage.productseries attribute. You may need to create a
11669
SourcePackage with a given sourcepackagename and distroseries, then use its
11670
.productrelease attribute. The code behind those methods does more than just
11671
join through the tables, it is also smart enough to look at related
11672
distro''s and parent distroseries, and at Ubuntu in particular.';
11673
11674
11675
COMMENT ON COLUMN packaging.packaging IS 'A dbschema Enum (PackagingType)
11676
describing the way the upstream productseries has been packaged. Generally
11677
it will be of type PRIME, meaning that the upstream productseries is the
11678
primary substance of the package, but it might also be INCLUDES, if the
11679
productseries has been included as a statically linked library, for example.
11680
This allows us to say that a given Source Package INCLUDES libneon but is a
11681
PRIME package of tla, for example. By INCLUDES we mean that the code is
11682
actually lumped into the package as ancilliary support material, rather
11683
than simply depending on a separate packaging of that code.';
11684
11685
11686
COMMENT ON COLUMN packaging.sourcepackagename IS 'The source package name for
11687
the source package that includes the upstream productseries described in
11688
this Packaging record. There is no requirement that such a sourcepackage
11689
actually be published in the distro.';
11690
11691
11692
COMMENT ON COLUMN packaging.distroseries IS 'The distroseries in which the
11693
productseries has been packaged.';
11694
11695
11696
COMMENT ON COLUMN packaging.productseries IS 'The upstream product series
11697
that has been packaged in this distroseries sourcepackage.';
11698
11699
11700
COMMENT ON COLUMN packaging.owner IS 'This is not the "owner" in the sense
11701
of giving the person any special privileges to edit the Packaging record,
11702
it is simply a record of who told us about this packaging relationship. Note
11703
that we do not keep a history of these, so if someone sets it correctly,
11704
then someone else sets it incorrectly, we lose the first setting.';
11705
11706
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11707
CREATE SEQUENCE packaging_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11708
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11709
    INCREMENT BY 1
11710
    NO MAXVALUE
11711
    NO MINVALUE
11712
    CACHE 1;
11713
7675.1121.53 by Stuart Bishop
New baseline
11714
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11715
ALTER SEQUENCE packaging_id_seq OWNED BY packaging.id;
11716
7675.1121.53 by Stuart Bishop
New baseline
11717
11718
CREATE TABLE packagingjob (
11719
    id integer NOT NULL,
11720
    job integer NOT NULL,
11721
    job_type integer NOT NULL,
11722
    productseries integer,
11723
    sourcepackagename integer,
11724
    distroseries integer,
11725
    potemplate integer,
11726
    CONSTRAINT translationtemplatejob_valid_link CHECK ((((((potemplate IS NOT NULL) AND (productseries IS NULL)) AND (distroseries IS NULL)) AND (sourcepackagename IS NULL)) OR ((((potemplate IS NULL) AND (productseries IS NOT NULL)) AND (distroseries IS NOT NULL)) AND (sourcepackagename IS NOT NULL))))
11727
);
11728
11729
11730
CREATE SEQUENCE packagingjob_id_seq
11731
    START WITH 1
11732
    INCREMENT BY 1
11733
    NO MAXVALUE
11734
    NO MINVALUE
11735
    CACHE 1;
11736
11737
11738
ALTER SEQUENCE packagingjob_id_seq OWNED BY packagingjob.id;
11739
11740
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11741
CREATE TABLE parsedapachelog (
11742
    id integer NOT NULL,
11743
    first_line text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
11744
    bytes_read bigint NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11745
    date_last_parsed timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
11746
);
11747
7675.1121.53 by Stuart Bishop
New baseline
11748
11749
COMMENT ON TABLE parsedapachelog IS 'A parsed apache log file for librarian.';
11750
11751
11752
COMMENT ON COLUMN parsedapachelog.first_line IS 'The first line of this log file, smashed to ASCII. This uniquely identifies the log file, even if its filename is changed by log rotation or archival.';
11753
11754
11755
COMMENT ON COLUMN parsedapachelog.bytes_read IS 'The number of bytes from this log file that have been parsed.';
11756
11757
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11758
CREATE SEQUENCE parsedapachelog_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11759
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11760
    INCREMENT BY 1
11761
    NO MAXVALUE
11762
    NO MINVALUE
11763
    CACHE 1;
11764
7675.1121.53 by Stuart Bishop
New baseline
11765
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11766
ALTER SEQUENCE parsedapachelog_id_seq OWNED BY parsedapachelog.id;
11767
7675.1121.53 by Stuart Bishop
New baseline
11768
11769
CREATE TABLE person (
11770
    id integer NOT NULL,
11771
    displayname text NOT NULL,
11772
    teamowner integer,
11773
    teamdescription text,
11774
    name text NOT NULL,
11775
    language integer,
11776
    fti ts2.tsvector,
11777
    defaultmembershipperiod integer,
11778
    defaultrenewalperiod integer,
11779
    subscriptionpolicy integer DEFAULT 1 NOT NULL,
11780
    merged integer,
11781
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
11782
    homepage_content text,
11783
    icon integer,
11784
    mugshot integer,
11785
    hide_email_addresses boolean DEFAULT false NOT NULL,
11786
    creation_rationale integer,
11787
    creation_comment text,
11788
    registrant integer,
11789
    logo integer,
11790
    renewal_policy integer DEFAULT 10 NOT NULL,
11791
    personal_standing integer DEFAULT 0 NOT NULL,
11792
    personal_standing_reason text,
11793
    mail_resumption_date date,
11794
    mailing_list_auto_subscribe_policy integer DEFAULT 1 NOT NULL,
11795
    mailing_list_receive_duplicates boolean DEFAULT true NOT NULL,
11796
    visibility integer DEFAULT 1 NOT NULL,
11797
    verbose_bugnotifications boolean DEFAULT false NOT NULL,
11798
    account integer,
11799
    description text,
11800
    CONSTRAINT creation_rationale_not_null_for_people CHECK (((creation_rationale IS NULL) = (teamowner IS NOT NULL))),
11801
    CONSTRAINT no_loops CHECK ((id <> teamowner)),
11802
    CONSTRAINT non_empty_displayname CHECK ((btrim(displayname) <> ''::text)),
11803
    CONSTRAINT people_have_no_emblems CHECK (((icon IS NULL) OR (teamowner IS NOT NULL))),
11804
    CONSTRAINT sane_defaultrenewalperiod CHECK (CASE WHEN (teamowner IS NULL) THEN (defaultrenewalperiod IS NULL) WHEN (renewal_policy = ANY (ARRAY[20, 30])) THEN ((defaultrenewalperiod IS NOT NULL) AND (defaultrenewalperiod > 0)) ELSE ((defaultrenewalperiod IS NULL) OR (defaultrenewalperiod > 0)) END),
11805
    CONSTRAINT teams_have_no_account CHECK (((account IS NULL) OR (teamowner IS NULL))),
11806
    CONSTRAINT valid_name CHECK (valid_name(name))
11807
);
11808
11809
11810
COMMENT ON TABLE person IS 'A row represents a person if teamowner is NULL, and represents a team if teamowner is set.';
11811
11812
11813
COMMENT ON COLUMN person.displayname IS 'Person or group''s name as it should be rendered to screen';
11814
11815
11816
COMMENT ON COLUMN person.teamowner IS 'id of the team owner. Team owners will have authority to add or remove people from the team.';
11817
11818
11819
COMMENT ON COLUMN person.teamdescription IS 'Informative description of the team. Format and restrictions are as yet undefined.';
11820
11821
11822
COMMENT ON COLUMN person.name IS 'Short mneumonic name uniquely identifying this person or team. Useful for url traversal or in places where we need to unambiguously refer to a person or team (as displayname is not unique).';
11823
11824
11825
COMMENT ON COLUMN person.language IS 'Preferred language for this person (unset for teams). UI should be displayed in this language wherever possible.';
11826
11827
11828
COMMENT ON COLUMN person.subscriptionpolicy IS 'The policy for new members to join this team.';
11829
11830
11831
COMMENT ON COLUMN person.homepage_content IS 'A home page for this person in the Launchpad. In short, this is like a personal wiki page. The person will get to edit their own page, and it will be published on /people/foo/. Note that this is in text format, and will migrate to being in Moin format as a sort of mini-wiki-homepage.';
11832
11833
11834
COMMENT ON COLUMN person.icon IS 'The library file alias to a small image to be used as an icon whenever we are referring to that person.';
11835
11836
11837
COMMENT ON COLUMN person.mugshot IS 'The library file alias of a hackermugshot image to display as the "face" of a person, on their home page.';
11838
11839
11840
COMMENT ON COLUMN person.creation_rationale IS 'The rationale for the creation of this person -- a dbschema value.';
11841
11842
11843
COMMENT ON COLUMN person.creation_comment IS 'A text comment for the creation of this person.';
11844
11845
11846
COMMENT ON COLUMN person.registrant IS 'The user who created this profile.';
11847
11848
11849
COMMENT ON COLUMN person.logo IS 'The library file alias of a smaller version of this person''s mugshot.';
11850
11851
11852
COMMENT ON COLUMN person.renewal_policy IS 'The policy for membership renewal on this team.';
11853
11854
11855
COMMENT ON COLUMN person.personal_standing IS 'The standing of the person, which indicates (for now, just) whether the person can post to a mailing list without requiring first post moderation.  Values are documented in dbschema.PersonalStanding.';
11856
11857
11858
COMMENT ON COLUMN person.personal_standing_reason IS 'The reason a person''s standing has changed.';
11859
11860
11861
COMMENT ON COLUMN person.mail_resumption_date IS 'A NULL resumption date or a date in the past indicates that there is no vacation in effect.  Vacations are granular to the day, so a datetime is not necessary.';
11862
11863
11864
COMMENT ON COLUMN person.mailing_list_auto_subscribe_policy IS 'The auto-subscription policy for the person, i.e. whether and how the user is automatically subscribed to mailing lists for teams they join.  Values are described in dbschema.MailingListAutoSubscribePolicy.';
11865
11866
11867
COMMENT ON COLUMN person.mailing_list_receive_duplicates IS 'True means the user wants to receive list copies of messages on which they are explicitly named as a recipient.';
11868
11869
11870
COMMENT ON COLUMN person.visibility IS 'person.PersonVisibility enumeration which can be set to Public, Public with Private Membership, or Private.';
11871
11872
11873
COMMENT ON COLUMN person.verbose_bugnotifications IS 'If true, all bugnotifications sent to this Person will include the bug description.';
11874
11875
11876
COMMENT ON COLUMN person.account IS 'The Account linked to this Person, if there is one.';
11877
11878
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11879
CREATE SEQUENCE person_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11880
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11881
    INCREMENT BY 1
11882
    NO MAXVALUE
11883
    NO MINVALUE
11884
    CACHE 1;
11885
7675.1121.53 by Stuart Bishop
New baseline
11886
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11887
ALTER SEQUENCE person_id_seq OWNED BY person.id;
11888
7675.1121.53 by Stuart Bishop
New baseline
11889
3691.17.3 by Stuart Bishop
New database baseline
11890
CREATE TABLE personlanguage (
4212.1.1 by Stuart Bishop
New database baseline
11891
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
11892
    person integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11893
    language integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
11894
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
11895
);
11896
7675.1121.53 by Stuart Bishop
New baseline
11897
11898
COMMENT ON TABLE personlanguage IS 'PersonLanguage: This table stores the preferred languages that a Person has, it''s used in Rosetta to select the languages that should be showed to be translated.';
11899
11900
11901
COMMENT ON COLUMN personlanguage.person IS 'This field is a reference to a Person object that has this preference.';
11902
11903
11904
COMMENT ON COLUMN personlanguage.language IS 'This field is a reference to a Language object that says that the Person associated to this row knows how to translate/understand this language.';
11905
11906
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11907
CREATE SEQUENCE personlanguage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11908
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11909
    INCREMENT BY 1
11910
    NO MAXVALUE
11911
    NO MINVALUE
11912
    CACHE 1;
11913
7675.1121.53 by Stuart Bishop
New baseline
11914
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11915
ALTER SEQUENCE personlanguage_id_seq OWNED BY personlanguage.id;
11916
7675.1121.53 by Stuart Bishop
New baseline
11917
5529.1.3 by Stuart Bishop
New database schema baseline
11918
CREATE TABLE personlocation (
11919
    id integer NOT NULL,
11920
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11921
    person integer NOT NULL,
11922
    latitude double precision,
11923
    longitude double precision,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11924
    time_zone text,
5529.1.3 by Stuart Bishop
New database schema baseline
11925
    last_modified_by integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11926
    date_last_modified timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11927
    visible boolean DEFAULT true,
11928
    locked boolean DEFAULT false,
11929
    CONSTRAINT latitude_and_longitude_together CHECK (((latitude IS NULL) = (longitude IS NULL)))
11930
);
11931
7675.1121.53 by Stuart Bishop
New baseline
11932
11933
COMMENT ON TABLE personlocation IS 'The geographical coordinates and time zone for a person.';
11934
11935
11936
COMMENT ON COLUMN personlocation.latitude IS 'The latitude this person has given for their default location.';
11937
11938
11939
COMMENT ON COLUMN personlocation.longitude IS 'The longitude this person has given for their default location.';
11940
11941
11942
COMMENT ON COLUMN personlocation.time_zone IS 'The name of the time zone this person prefers (if unset, UTC is used).  UI should display dates and times in this time zone wherever possible.';
11943
11944
11945
COMMENT ON COLUMN personlocation.last_modified_by IS 'The person who last updated this record. We allow people to provide location and time zone information for other users, when those users have not specified their own location. This allows people to garden the location information for their teams, for example, like a wiki.';
11946
11947
11948
COMMENT ON COLUMN personlocation.date_last_modified IS 'The date this record was last modified.';
11949
11950
11951
COMMENT ON COLUMN personlocation.visible IS 'Should this person''s location and time zone be visible to others?';
11952
11953
11954
COMMENT ON COLUMN personlocation.locked IS 'Whether or not this record can be modified by someone other than the person himself?';
11955
11956
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11957
CREATE SEQUENCE personlocation_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11958
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11959
    INCREMENT BY 1
11960
    NO MAXVALUE
11961
    NO MINVALUE
11962
    CACHE 1;
11963
7675.1121.53 by Stuart Bishop
New baseline
11964
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11965
ALTER SEQUENCE personlocation_id_seq OWNED BY personlocation.id;
11966
7675.1121.53 by Stuart Bishop
New baseline
11967
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
11968
CREATE TABLE personnotification (
11969
    id integer NOT NULL,
11970
    person integer NOT NULL,
11971
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
11972
    date_emailed timestamp without time zone,
11973
    body text NOT NULL,
11974
    subject text NOT NULL
11975
);
5529.1.3 by Stuart Bishop
New database schema baseline
11976
7675.1121.53 by Stuart Bishop
New baseline
11977
11978
COMMENT ON TABLE personnotification IS 'Notifications to be sent that are related to edits and changes of the details of a specific person or team. Note that these are not keyed against the "person who will be notified", these are notifications "about a person". We use this table to queue up notifications that can then be sent asyncronously - when one user edits information about another person (like the PersonLocation) we want to notify the person concerned that their details have been modified but we do not want to do this during the handling of the form submission. So we store the reminder to notify here, and send it later in a batch. This is modelled on the pattern of BugNotification.';
11979
11980
11981
COMMENT ON COLUMN personnotification.person IS 'The Person who has been edited or modified.';
11982
11983
11984
COMMENT ON COLUMN personnotification.date_emailed IS 'When this notification was emailed to the relevant people.';
11985
11986
11987
COMMENT ON COLUMN personnotification.body IS 'The textual body of the notification to be sent.';
11988
11989
11990
COMMENT ON COLUMN personnotification.subject IS 'The subject of the mail to be sent.';
11991
11992
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11993
CREATE SEQUENCE personnotification_id_seq
7675.1121.53 by Stuart Bishop
New baseline
11994
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
11995
    INCREMENT BY 1
11996
    NO MAXVALUE
11997
    NO MINVALUE
11998
    CACHE 1;
11999
7675.1121.53 by Stuart Bishop
New baseline
12000
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12001
ALTER SEQUENCE personnotification_id_seq OWNED BY personnotification.id;
12002
7675.1121.53 by Stuart Bishop
New baseline
12003
12004
CREATE TABLE personsettings (
12005
    person integer NOT NULL,
12006
    selfgenerated_bugnotifications boolean DEFAULT false NOT NULL
12007
);
12008
12009
12010
CREATE TABLE persontransferjob (
12011
    id integer NOT NULL,
12012
    job integer NOT NULL,
12013
    job_type integer NOT NULL,
12014
    minor_person integer NOT NULL,
12015
    major_person integer NOT NULL,
12016
    json_data text
12017
);
12018
12019
12020
COMMENT ON TABLE persontransferjob IS 'Contains references to jobs for adding team members or merging person entries.';
12021
12022
12023
COMMENT ON COLUMN persontransferjob.job IS 'A reference to a row in the Job table that has all the common job details.';
12024
12025
12026
COMMENT ON COLUMN persontransferjob.job_type IS 'The type of job, like add-member notification or merge persons.';
12027
12028
12029
COMMENT ON COLUMN persontransferjob.minor_person IS 'The person that is being added is a new member or being merged into another person.';
12030
12031
12032
COMMENT ON COLUMN persontransferjob.major_person IS 'The team receiving a new member or the person that another person is merged into.';
12033
12034
12035
COMMENT ON COLUMN persontransferjob.json_data IS 'Data that is specific to the type of job, normally stores text to append to email notifications.';
12036
12037
12038
CREATE SEQUENCE persontransferjob_id_seq
12039
    START WITH 1
12040
    INCREMENT BY 1
12041
    NO MAXVALUE
12042
    NO MINVALUE
12043
    CACHE 1;
12044
12045
12046
ALTER SEQUENCE persontransferjob_id_seq OWNED BY persontransferjob.id;
12047
12048
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
12049
CREATE TABLE pillarname (
4212.1.1 by Stuart Bishop
New database baseline
12050
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
12051
    name text NOT NULL,
12052
    product integer,
12053
    project integer,
12054
    distribution integer,
12055
    active boolean DEFAULT true NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12056
    alias_for integer,
12057
    CONSTRAINT only_one_target CHECK ((null_count(ARRAY[product, project, distribution, alias_for]) = 3)),
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
12058
    CONSTRAINT valid_name CHECK (valid_name(name))
3691.17.3 by Stuart Bishop
New database baseline
12059
);
12060
7675.1121.53 by Stuart Bishop
New baseline
12061
12062
COMMENT ON TABLE pillarname IS 'A cache of the names of our "Pillar''s" (distribution, product, project) to ensure uniqueness in this shared namespace. This is a materialized view maintained by database triggers.';
12063
12064
12065
COMMENT ON COLUMN pillarname.alias_for IS 'An alias for another pillarname. Rows with this column set are not maintained by triggers.';
12066
12067
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12068
CREATE SEQUENCE pillarname_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12069
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12070
    INCREMENT BY 1
12071
    NO MAXVALUE
12072
    NO MINVALUE
12073
    CACHE 1;
12074
7675.1121.53 by Stuart Bishop
New baseline
12075
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12076
ALTER SEQUENCE pillarname_id_seq OWNED BY pillarname.id;
12077
7675.1121.53 by Stuart Bishop
New baseline
12078
3691.17.3 by Stuart Bishop
New database baseline
12079
CREATE TABLE pocketchroot (
4212.1.1 by Stuart Bishop
New database baseline
12080
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
12081
    distroarchseries integer,
3691.17.3 by Stuart Bishop
New database baseline
12082
    pocket integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
12083
    chroot integer,
12084
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
12085
);
12086
7675.1121.53 by Stuart Bishop
New baseline
12087
12088
COMMENT ON TABLE pocketchroot IS 'PocketChroots: Which chroot belongs to which pocket of which distroarchseries. Any given pocket of any given distroarchseries needs a specific chroot in order to be built. This table links it all together.';
12089
12090
12091
COMMENT ON COLUMN pocketchroot.distroarchseries IS 'Which distroarchseries this chroot applies to.';
12092
12093
12094
COMMENT ON COLUMN pocketchroot.pocket IS 'Which pocket of the distroarchseries this chroot applies to. Valid values are specified in dbschema.PackagePublishingPocket';
12095
12096
12097
COMMENT ON COLUMN pocketchroot.chroot IS 'The chroot used by the pocket of the distroarchseries.';
12098
12099
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12100
CREATE SEQUENCE pocketchroot_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12101
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12102
    INCREMENT BY 1
12103
    NO MAXVALUE
12104
    NO MINVALUE
12105
    CACHE 1;
12106
7675.1121.53 by Stuart Bishop
New baseline
12107
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12108
ALTER SEQUENCE pocketchroot_id_seq OWNED BY pocketchroot.id;
12109
12110
12111
CREATE TABLE poexportrequest (
12112
    id integer NOT NULL,
12113
    person integer NOT NULL,
12114
    potemplate integer NOT NULL,
12115
    pofile integer,
12116
    format integer NOT NULL,
12117
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
12118
);
12119
7675.1121.53 by Stuart Bishop
New baseline
12120
12121
COMMENT ON TABLE poexportrequest IS 'A request from a user that a PO template or a PO file be exported
12122
asynchronously.';
12123
12124
12125
COMMENT ON COLUMN poexportrequest.person IS 'The person who made the request.';
12126
12127
12128
COMMENT ON COLUMN poexportrequest.potemplate IS 'The PO template being requested.';
12129
12130
12131
COMMENT ON COLUMN poexportrequest.pofile IS 'The PO file being requested, or NULL.';
12132
12133
12134
COMMENT ON COLUMN poexportrequest.format IS 'The format the user would like the export to be in. See the RosettaFileFormat DB schema for possible values.';
12135
12136
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12137
CREATE SEQUENCE poexportrequest_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12138
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12139
    INCREMENT BY 1
12140
    NO MAXVALUE
12141
    NO MINVALUE
12142
    CACHE 1;
12143
7675.1121.53 by Stuart Bishop
New baseline
12144
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12145
ALTER SEQUENCE poexportrequest_id_seq OWNED BY poexportrequest.id;
12146
7675.1121.53 by Stuart Bishop
New baseline
12147
3691.17.3 by Stuart Bishop
New database baseline
12148
CREATE TABLE pofile (
4212.1.1 by Stuart Bishop
New database baseline
12149
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12150
    potemplate integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12151
    language integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12152
    description text,
12153
    topcomment text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12154
    header text,
3691.17.3 by Stuart Bishop
New database baseline
12155
    fuzzyheader boolean NOT NULL,
12156
    lasttranslator integer,
12157
    currentcount integer NOT NULL,
12158
    updatescount integer NOT NULL,
12159
    rosettacount integer NOT NULL,
12160
    lastparsed timestamp without time zone,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12161
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12162
    path text NOT NULL,
12163
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
12164
    from_sourcepackagename integer,
4990.1.1 by Stuart Bishop
New database baseline
12165
    unreviewed_count integer DEFAULT 0 NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
12166
    date_changed timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
12167
);
12168
7675.1121.53 by Stuart Bishop
New baseline
12169
12170
COMMENT ON TABLE pofile IS 'This table stores a PO file for a given PO template.';
12171
12172
12173
COMMENT ON COLUMN pofile.path IS 'The path (included the filename) inside the tree from where the content was imported.';
12174
12175
12176
COMMENT ON COLUMN pofile.from_sourcepackagename IS 'The sourcepackagename from where the last .po file came (only if it''s different from POFile.potemplate.sourcepackagename)';
12177
12178
12179
COMMENT ON COLUMN pofile.unreviewed_count IS 'Number of POTMsgSets with new,
12180
unreviewed TranslationMessages for this POFile.';
12181
12182
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12183
CREATE SEQUENCE pofile_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12184
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12185
    INCREMENT BY 1
12186
    NO MAXVALUE
12187
    NO MINVALUE
12188
    CACHE 1;
12189
7675.1121.53 by Stuart Bishop
New baseline
12190
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12191
ALTER SEQUENCE pofile_id_seq OWNED BY pofile.id;
12192
7675.1121.53 by Stuart Bishop
New baseline
12193
12194
CREATE TABLE pofilestatsjob (
12195
    job integer NOT NULL,
12196
    pofile integer NOT NULL
12197
);
12198
12199
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12200
CREATE TABLE pofiletranslator (
12201
    id integer NOT NULL,
12202
    person integer NOT NULL,
12203
    pofile integer NOT NULL,
12204
    latest_message integer NOT NULL,
12205
    date_last_touched timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
12206
);
12207
7675.1121.53 by Stuart Bishop
New baseline
12208
12209
COMMENT ON TABLE pofiletranslator IS 'A materialized view caching who has translated what pofile.';
12210
12211
12212
COMMENT ON COLUMN pofiletranslator.person IS 'The person who submitted the translation.';
12213
12214
12215
COMMENT ON COLUMN pofiletranslator.pofile IS 'The pofile the translation was submitted for.';
12216
12217
12218
COMMENT ON COLUMN pofiletranslator.latest_message IS 'Latest translation
12219
message added to the translation file.';
12220
12221
12222
COMMENT ON COLUMN pofiletranslator.date_last_touched IS 'When was added latest
12223
translation message.';
12224
12225
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12226
CREATE SEQUENCE pofiletranslator_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12227
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12228
    INCREMENT BY 1
12229
    NO MAXVALUE
12230
    NO MINVALUE
12231
    CACHE 1;
12232
7675.1121.53 by Stuart Bishop
New baseline
12233
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12234
ALTER SEQUENCE pofiletranslator_id_seq OWNED BY pofiletranslator.id;
12235
7675.1121.53 by Stuart Bishop
New baseline
12236
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12237
CREATE TABLE poll (
12238
    id integer NOT NULL,
12239
    team integer NOT NULL,
12240
    name text NOT NULL,
12241
    title text NOT NULL,
12242
    dateopens timestamp without time zone NOT NULL,
12243
    datecloses timestamp without time zone NOT NULL,
12244
    proposition text NOT NULL,
12245
    type integer NOT NULL,
12246
    allowspoilt boolean DEFAULT false NOT NULL,
12247
    secrecy integer NOT NULL,
12248
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
12249
    CONSTRAINT sane_dates CHECK ((dateopens < datecloses))
12250
);
12251
7675.1121.53 by Stuart Bishop
New baseline
12252
12253
COMMENT ON TABLE poll IS 'The polls belonging to teams.';
12254
12255
12256
COMMENT ON COLUMN poll.team IS 'The team this poll belongs to';
12257
12258
12259
COMMENT ON COLUMN poll.name IS 'The unique name of this poll.';
12260
12261
12262
COMMENT ON COLUMN poll.title IS 'The title of this poll.';
12263
12264
12265
COMMENT ON COLUMN poll.dateopens IS 'The date and time when this poll opens.';
12266
12267
12268
COMMENT ON COLUMN poll.datecloses IS 'The date and time when this poll closes.';
12269
12270
12271
COMMENT ON COLUMN poll.proposition IS 'The proposition that is going to be voted.';
12272
12273
12274
COMMENT ON COLUMN poll.type IS 'The type of this poll (Simple, Preferential, etc).';
12275
12276
12277
COMMENT ON COLUMN poll.allowspoilt IS 'If people can spoil their votes.';
12278
12279
12280
COMMENT ON COLUMN poll.secrecy IS 'If people votes are SECRET (no one can see), ADMIN (team administrators can see) or PUBLIC (everyone can see).';
12281
12282
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12283
CREATE SEQUENCE poll_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12284
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12285
    INCREMENT BY 1
12286
    NO MAXVALUE
12287
    NO MINVALUE
12288
    CACHE 1;
12289
7675.1121.53 by Stuart Bishop
New baseline
12290
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12291
ALTER SEQUENCE poll_id_seq OWNED BY poll.id;
12292
7675.1121.53 by Stuart Bishop
New baseline
12293
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12294
CREATE TABLE polloption (
12295
    id integer NOT NULL,
12296
    poll integer NOT NULL,
12297
    name text NOT NULL,
12298
    title text NOT NULL,
12299
    active boolean DEFAULT true NOT NULL,
12300
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
12301
);
12302
7675.1121.53 by Stuart Bishop
New baseline
12303
12304
COMMENT ON TABLE polloption IS 'The options belonging to polls.';
12305
12306
12307
COMMENT ON COLUMN polloption.poll IS 'The poll this options belongs to.';
12308
12309
12310
COMMENT ON COLUMN polloption.name IS 'The name of this option.';
12311
12312
12313
COMMENT ON COLUMN polloption.title IS 'A short title for this option.';
12314
12315
12316
COMMENT ON COLUMN polloption.active IS 'If TRUE, people will be able to vote on this option. Otherwise they don''t.';
12317
12318
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12319
CREATE SEQUENCE polloption_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12320
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12321
    INCREMENT BY 1
12322
    NO MAXVALUE
12323
    NO MINVALUE
12324
    CACHE 1;
12325
7675.1121.53 by Stuart Bishop
New baseline
12326
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12327
ALTER SEQUENCE polloption_id_seq OWNED BY polloption.id;
12328
7675.1121.53 by Stuart Bishop
New baseline
12329
3691.17.3 by Stuart Bishop
New database baseline
12330
CREATE TABLE pomsgid (
4212.1.1 by Stuart Bishop
New database baseline
12331
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12332
    msgid text NOT NULL
12333
);
12334
7675.1121.53 by Stuart Bishop
New baseline
12335
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12336
CREATE SEQUENCE pomsgid_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12337
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12338
    INCREMENT BY 1
12339
    NO MAXVALUE
12340
    NO MINVALUE
12341
    CACHE 1;
12342
7675.1121.53 by Stuart Bishop
New baseline
12343
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12344
ALTER SEQUENCE pomsgid_id_seq OWNED BY pomsgid.id;
12345
12346
3691.17.3 by Stuart Bishop
New database baseline
12347
CREATE TABLE potemplate (
4212.1.1 by Stuart Bishop
New database baseline
12348
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12349
    priority integer DEFAULT 0 NOT NULL,
12350
    description text,
12351
    copyright text,
12352
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
12353
    path text NOT NULL,
12354
    iscurrent boolean NOT NULL,
12355
    messagecount integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12356
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12357
    sourcepackagename integer,
5529.1.3 by Stuart Bishop
New database schema baseline
12358
    distroseries integer,
3691.17.3 by Stuart Bishop
New database baseline
12359
    sourcepackageversion text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12360
    header text NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12361
    binarypackagename integer,
12362
    languagepack boolean DEFAULT false NOT NULL,
12363
    productseries integer,
12364
    from_sourcepackagename integer,
12365
    date_last_updated timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
4212.1.1 by Stuart Bishop
New database baseline
12366
    source_file integer,
12367
    source_file_format integer DEFAULT 1 NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
12368
    name text NOT NULL,
12369
    translation_domain text NOT NULL,
12370
    CONSTRAINT potemplate_valid_name CHECK (valid_name(name)),
3691.17.3 by Stuart Bishop
New database baseline
12371
    CONSTRAINT valid_from_sourcepackagename CHECK (((sourcepackagename IS NOT NULL) OR (from_sourcepackagename IS NULL))),
5529.1.3 by Stuart Bishop
New database schema baseline
12372
    CONSTRAINT valid_link CHECK ((((productseries IS NULL) <> (distroseries IS NULL)) AND ((distroseries IS NULL) = (sourcepackagename IS NULL))))
3691.17.3 by Stuart Bishop
New database baseline
12373
);
12374
7675.1121.53 by Stuart Bishop
New baseline
12375
12376
COMMENT ON TABLE potemplate IS 'This table stores a pot file for a given product.';
12377
12378
12379
COMMENT ON COLUMN potemplate.path IS 'The path to the .pot source file inside the tarball tree, including the filename.';
12380
12381
12382
COMMENT ON COLUMN potemplate.sourcepackagename IS 'A reference to a sourcepackage name from where this POTemplate comes.';
12383
12384
12385
COMMENT ON COLUMN potemplate.distroseries IS 'A reference to the distribution from where this POTemplate comes.';
12386
12387
12388
COMMENT ON COLUMN potemplate.sourcepackageversion IS 'The sourcepackage version string from where this potemplate was imported last time with our buildd <-> Rosetta gateway.';
12389
12390
12391
COMMENT ON COLUMN potemplate.header IS 'The header of a .pot file when we import it. Most important info from it is POT-Creation-Date and custom headers.';
12392
12393
12394
COMMENT ON COLUMN potemplate.productseries IS 'A reference to a ProductSeries from where this POTemplate comes.';
12395
12396
12397
COMMENT ON COLUMN potemplate.from_sourcepackagename IS 'The sourcepackagename from where the last .pot file came (only if it''s different from POTemplate.sourcepackagename)';
12398
12399
12400
COMMENT ON COLUMN potemplate.source_file IS 'Reference to Librarian file storing the last uploaded template file.';
12401
12402
12403
COMMENT ON COLUMN potemplate.source_file_format IS 'File format for the Librarian file referenced in "source_file" column.';
12404
12405
12406
COMMENT ON COLUMN potemplate.name IS 'The name of the POTemplate set. It must be unique';
12407
12408
12409
COMMENT ON COLUMN potemplate.translation_domain IS 'The translation domain for this POTemplate';
12410
12411
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12412
CREATE SEQUENCE potemplate_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12413
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12414
    INCREMENT BY 1
12415
    NO MAXVALUE
12416
    NO MINVALUE
12417
    CACHE 1;
12418
7675.1121.53 by Stuart Bishop
New baseline
12419
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12420
ALTER SEQUENCE potemplate_id_seq OWNED BY potemplate.id;
12421
7675.1121.53 by Stuart Bishop
New baseline
12422
3691.17.3 by Stuart Bishop
New database baseline
12423
CREATE TABLE potmsgset (
4212.1.1 by Stuart Bishop
New database baseline
12424
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
12425
    msgid_singular integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12426
    potemplate integer,
3691.17.3 by Stuart Bishop
New database baseline
12427
    commenttext text,
12428
    filereferences text,
12429
    sourcecomment text,
4212.1.1 by Stuart Bishop
New database baseline
12430
    flagscomment text,
5529.1.3 by Stuart Bishop
New database schema baseline
12431
    context text,
12432
    msgid_plural integer
3691.17.3 by Stuart Bishop
New database baseline
12433
);
12434
7675.1121.53 by Stuart Bishop
New baseline
12435
12436
COMMENT ON TABLE potmsgset IS 'This table is stores a collection of msgids
12437
without their translations and all kind of information associated to that set
12438
of messages that could be found in a potemplate file.';
12439
12440
12441
COMMENT ON COLUMN potmsgset.msgid_singular IS 'The singular msgid for this message.';
12442
12443
12444
COMMENT ON COLUMN potmsgset.potemplate IS 'The potemplate where this message set is stored.';
12445
12446
12447
COMMENT ON COLUMN potmsgset.commenttext IS 'The comment text that is associated to this message set.';
12448
12449
12450
COMMENT ON COLUMN potmsgset.filereferences IS 'The list of files and their line number where this message set was extracted from.';
12451
12452
12453
COMMENT ON COLUMN potmsgset.sourcecomment IS 'The comment that was extracted from the source code.';
12454
12455
12456
COMMENT ON COLUMN potmsgset.flagscomment IS 'The flags associated with this set (like c-format).';
12457
12458
12459
COMMENT ON COLUMN potmsgset.context IS 'Context uniquely defining a message when there are messages with same primemsgids.';
12460
12461
12462
COMMENT ON COLUMN potmsgset.msgid_plural IS 'The plural msgid for this message.';
12463
12464
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12465
CREATE TABLE translationtemplateitem (
12466
    id integer NOT NULL,
12467
    potemplate integer NOT NULL,
12468
    sequence integer NOT NULL,
12469
    potmsgset integer NOT NULL,
12470
    CONSTRAINT translationtemplateitem_sequence_check CHECK ((sequence >= 0))
12471
);
12472
7675.1121.53 by Stuart Bishop
New baseline
12473
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12474
CREATE VIEW potexport AS
12475
    SELECT COALESCE((potmsgset.id)::text, 'X'::text) AS id, potemplate.productseries, potemplate.sourcepackagename, potemplate.distroseries, potemplate.id AS potemplate, potemplate.header AS template_header, potemplate.languagepack, translationtemplateitem.sequence, potmsgset.id AS potmsgset, potmsgset.commenttext AS comment, potmsgset.sourcecomment AS source_comment, potmsgset.filereferences AS file_references, potmsgset.flagscomment AS flags_comment, potmsgset.context, msgid_singular.msgid AS msgid_singular, msgid_plural.msgid AS msgid_plural FROM ((((potmsgset JOIN translationtemplateitem ON ((translationtemplateitem.potmsgset = potmsgset.id))) JOIN potemplate ON ((potemplate.id = translationtemplateitem.potemplate))) LEFT JOIN pomsgid msgid_singular ON ((potmsgset.msgid_singular = msgid_singular.id))) LEFT JOIN pomsgid msgid_plural ON ((potmsgset.msgid_plural = msgid_plural.id)));
12476
7675.1121.53 by Stuart Bishop
New baseline
12477
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12478
CREATE SEQUENCE potmsgset_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12479
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12480
    INCREMENT BY 1
12481
    NO MAXVALUE
12482
    NO MINVALUE
12483
    CACHE 1;
12484
7675.1121.53 by Stuart Bishop
New baseline
12485
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12486
ALTER SEQUENCE potmsgset_id_seq OWNED BY potmsgset.id;
12487
7675.1121.53 by Stuart Bishop
New baseline
12488
3691.17.3 by Stuart Bishop
New database baseline
12489
CREATE TABLE potranslation (
4212.1.1 by Stuart Bishop
New database baseline
12490
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12491
    translation text NOT NULL
7675.1121.53 by Stuart Bishop
New baseline
12492
)
12493
WITH (fillfactor=100);
12494
3691.17.3 by Stuart Bishop
New database baseline
12495
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12496
CREATE SEQUENCE potranslation_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12497
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12498
    INCREMENT BY 1
12499
    NO MAXVALUE
12500
    NO MINVALUE
12501
    CACHE 1;
12502
7675.1121.53 by Stuart Bishop
New baseline
12503
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12504
ALTER SEQUENCE potranslation_id_seq OWNED BY potranslation.id;
12505
7675.1121.53 by Stuart Bishop
New baseline
12506
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12507
CREATE TABLE previewdiff (
12508
    id integer NOT NULL,
12509
    source_revision_id text NOT NULL,
12510
    target_revision_id text NOT NULL,
12511
    dependent_revision_id text,
12512
    diff integer NOT NULL,
12513
    conflicts text
12514
);
12515
7675.1121.53 by Stuart Bishop
New baseline
12516
12517
COMMENT ON TABLE previewdiff IS 'Contains information about preview diffs, without duplicating information with BranchMergeProposal.';
12518
12519
12520
COMMENT ON COLUMN previewdiff.source_revision_id IS 'The source branch revision_id used to generate this diff.';
12521
12522
12523
COMMENT ON COLUMN previewdiff.target_revision_id IS 'The target branch revision_id used to generate this diff.';
12524
12525
12526
COMMENT ON COLUMN previewdiff.dependent_revision_id IS 'The dependant branch revision_id used to generate this diff.';
12527
12528
12529
COMMENT ON COLUMN previewdiff.diff IS 'The last Diff generated for this PreviewDiff.';
12530
12531
12532
COMMENT ON COLUMN previewdiff.conflicts IS 'The text description of any conflicts present.';
12533
12534
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12535
CREATE SEQUENCE previewdiff_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12536
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12537
    INCREMENT BY 1
12538
    NO MAXVALUE
12539
    NO MINVALUE
12540
    CACHE 1;
12541
7675.1121.53 by Stuart Bishop
New baseline
12542
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12543
ALTER SEQUENCE previewdiff_id_seq OWNED BY previewdiff.id;
4212.1.1 by Stuart Bishop
New database baseline
12544
7675.1121.53 by Stuart Bishop
New baseline
12545
3691.17.3 by Stuart Bishop
New database baseline
12546
CREATE TABLE processor (
4212.1.1 by Stuart Bishop
New database baseline
12547
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12548
    family integer NOT NULL,
12549
    name text NOT NULL,
12550
    title text NOT NULL,
12551
    description text NOT NULL
12552
);
12553
7675.1121.53 by Stuart Bishop
New baseline
12554
12555
COMMENT ON TABLE processor IS 'A single processor for which code might be compiled. For example, i386, P2, P3, P4, Itanium1, Itanium2... each processor belongs to a ProcessorFamily, and it might be that a package is compiled several times for a given Family, with different optimisation settings for each processor.';
12556
12557
12558
COMMENT ON COLUMN processor.family IS 'The ProcessorFamily for this Processor.';
12559
12560
12561
COMMENT ON COLUMN processor.name IS 'The name of this processor, for example, i386, Pentium, P2, P3, P4, Itanium, Itanium2, K7, Athlon, Opteron... it should be short and unique.';
12562
12563
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12564
CREATE SEQUENCE processor_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12565
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12566
    INCREMENT BY 1
12567
    NO MAXVALUE
12568
    NO MINVALUE
12569
    CACHE 1;
12570
7675.1121.53 by Stuart Bishop
New baseline
12571
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12572
ALTER SEQUENCE processor_id_seq OWNED BY processor.id;
12573
7675.1121.53 by Stuart Bishop
New baseline
12574
3691.17.3 by Stuart Bishop
New database baseline
12575
CREATE TABLE processorfamily (
4212.1.1 by Stuart Bishop
New database baseline
12576
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12577
    name text NOT NULL,
12578
    title text NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
12579
    description text NOT NULL,
12580
    restricted boolean DEFAULT false NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
12581
);
12582
7675.1121.53 by Stuart Bishop
New baseline
12583
12584
COMMENT ON TABLE processorfamily IS 'An architecture, that might consist of several actual processors. Different distributions call these architectures different things, so we have an "architecturetag" in DistroArchSeries that might be different to the architecture''s name.';
12585
12586
12587
COMMENT ON COLUMN processorfamily.name IS 'The name of the architecture. This is a short unix-style name such as i386 or amd64';
12588
12589
12590
COMMENT ON COLUMN processorfamily.title IS 'A title for the architecture. For example "Intel i386 Compatible".';
12591
12592
12593
COMMENT ON COLUMN processorfamily.description IS 'A description for this processor family. It might include any gotchas such as the fact that i386 does not necessarily mean that code would run on a 386... Ubuntu for example requires a 486.';
12594
12595
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12596
CREATE SEQUENCE processorfamily_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12597
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12598
    INCREMENT BY 1
12599
    NO MAXVALUE
12600
    NO MINVALUE
12601
    CACHE 1;
12602
7675.1121.53 by Stuart Bishop
New baseline
12603
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12604
ALTER SEQUENCE processorfamily_id_seq OWNED BY processorfamily.id;
12605
7675.1121.53 by Stuart Bishop
New baseline
12606
12607
CREATE TABLE product (
12608
    id integer NOT NULL,
12609
    project integer,
12610
    owner integer NOT NULL,
12611
    name text NOT NULL,
12612
    displayname text NOT NULL,
12613
    title text NOT NULL,
12614
    summary text NOT NULL,
12615
    description text,
12616
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
12617
    homepageurl text,
12618
    screenshotsurl text,
12619
    wikiurl text,
12620
    listurl text,
12621
    programminglang text,
12622
    downloadurl text,
12623
    lastdoap text,
12624
    sourceforgeproject text,
12625
    freshmeatproject text,
12626
    reviewed boolean DEFAULT false NOT NULL,
12627
    active boolean DEFAULT true NOT NULL,
12628
    fti ts2.tsvector,
12629
    autoupdate boolean DEFAULT false NOT NULL,
12630
    translationgroup integer,
12631
    translationpermission integer DEFAULT 1 NOT NULL,
12632
    official_rosetta boolean DEFAULT false NOT NULL,
12633
    official_malone boolean DEFAULT false NOT NULL,
12634
    bug_supervisor integer,
12635
    security_contact integer,
12636
    driver integer,
12637
    bugtracker integer,
12638
    development_focus integer,
12639
    homepage_content text,
12640
    icon integer,
12641
    mugshot integer,
12642
    logo integer,
12643
    official_answers boolean DEFAULT false NOT NULL,
12644
    private_bugs boolean DEFAULT false NOT NULL,
12645
    private_specs boolean DEFAULT false NOT NULL,
12646
    license_info text,
12647
    official_blueprints boolean DEFAULT false NOT NULL,
12648
    enable_bug_expiration boolean DEFAULT false NOT NULL,
12649
    bug_reporting_guidelines text,
12650
    reviewer_whiteboard text,
12651
    license_approved boolean DEFAULT false NOT NULL,
12652
    registrant integer NOT NULL,
12653
    remote_product text,
12654
    translation_focus integer,
12655
    max_bug_heat integer,
12656
    date_next_suggest_packaging timestamp without time zone,
12657
    bug_reported_acknowledgement text,
12658
    answers_usage integer DEFAULT 10 NOT NULL,
12659
    blueprints_usage integer DEFAULT 10 NOT NULL,
12660
    translations_usage integer DEFAULT 10 NOT NULL,
12661
    enable_bugfiling_duplicate_search boolean DEFAULT true NOT NULL,
12662
    CONSTRAINT only_launchpad_has_expiration CHECK (((enable_bug_expiration IS FALSE) OR (official_malone IS TRUE))),
12663
    CONSTRAINT private_bugs_need_contact CHECK (((private_bugs IS FALSE) OR (bug_supervisor IS NOT NULL))),
12664
    CONSTRAINT valid_name CHECK (valid_name(name))
12665
);
12666
12667
12668
COMMENT ON TABLE product IS 'Product: a DOAP Product. This table stores core information about an open source product. In Launchpad, anything that can be shipped as a tarball would be a product, and in some cases there might be products for things that never actually ship, depending on the project. For example, most projects will have a ''website'' product, because that allows you to file a Malone bug against the project website. Note that these are not actual product releases, which are stored in the ProductRelease table.';
12669
12670
12671
COMMENT ON COLUMN product.project IS 'Every Product belongs to one and only one Project, which is referenced in this column.';
12672
12673
12674
COMMENT ON COLUMN product.owner IS 'The Product owner would typically be the person who created this product in Launchpad. But we will encourage the upstream maintainer of a product to become the owner in Launchpad. The Product owner can edit any aspect of the Product, as well as appointing people to specific roles with regard to the Product. Also, the owner can add a new ProductRelease and also edit Rosetta POTemplates associated with this product.';
12675
12676
12677
COMMENT ON COLUMN product.summary IS 'A brief summary of the product. This will be displayed in bold at the top of the product page, above the description.';
12678
12679
12680
COMMENT ON COLUMN product.description IS 'A detailed description of the product, highlighting primary features of the product that may be of interest to end-users. The description may also include links and other references to useful information on the web about this product. The description will be displayed on the product page, below the product summary.';
12681
12682
12683
COMMENT ON COLUMN product.listurl IS 'This is the URL where information about a mailing list for this Product can be found. The URL might point at a web archive or at the page where one can subscribe to the mailing list.';
12684
12685
12686
COMMENT ON COLUMN product.programminglang IS 'This field records, in plain text, the name of any significant programming languages used in this product. There are no rules, conventions or restrictions on this field at present, other than basic sanity. Examples might be "Python", "Python, C" and "Java".';
12687
12688
12689
COMMENT ON COLUMN product.downloadurl IS 'The download URL for a Product should be the best place to download that product, typically off the relevant Project web site. This should not point at the actual file, but at a web page with download information.';
12690
12691
12692
COMMENT ON COLUMN product.lastdoap IS 'This column stores a cached copy of the last DOAP description we saw for this product. See the Project.lastdoap field for more info.';
12693
12694
12695
COMMENT ON COLUMN product.sourceforgeproject IS 'The SourceForge project name for this product. This is not unique as SourceForge doesn''t use the same project/product structure as DOAP.';
12696
12697
12698
COMMENT ON COLUMN product.freshmeatproject IS 'The FreshMeat project name for this product. This is not unique as FreshMeat does not have the same project/product structure as DOAP';
12699
12700
12701
COMMENT ON COLUMN product.reviewed IS 'Whether or not someone at Canonical has reviewed this product.';
12702
12703
12704
COMMENT ON COLUMN product.active IS 'Whether or not this product should be considered active.';
12705
12706
12707
COMMENT ON COLUMN product.translationgroup IS 'The TranslationGroup that is responsible for translations for this product. Note that the Product may be part of a Project which also has a TranslationGroup, in which case the translators from both the product and project translation group have permission to edit the translations of this product.';
12708
12709
12710
COMMENT ON COLUMN product.translationpermission IS 'The level of openness of this product''s translation process. The enum lists different approaches to translation, from the very open (anybody can edit any translation in any language) to the completely closed (only designated translators can make any changes at all).';
12711
12712
12713
COMMENT ON COLUMN product.official_rosetta IS 'Whether or not this product upstream uses Rosetta for its official translation team and coordination. This is a useful indicator in terms of whether translations in Rosetta for this upstream will quickly move upstream.';
12714
12715
12716
COMMENT ON COLUMN product.official_malone IS 'Whether or not this product upstream uses Malone for an official bug tracker. This is useful to help indicate whether or not people are likely to pick up on bugs registered in Malone.';
12717
12718
12719
COMMENT ON COLUMN product.bug_supervisor IS 'Person who is responsible for managing bugs on this product.';
12720
12721
12722
COMMENT ON COLUMN product.security_contact IS 'The person or team who handles security-related issues in the product.';
12723
12724
12725
COMMENT ON COLUMN product.driver IS 'This is a driver for the overall product. This driver will be able to approve nominations of bugs and specs to any series in the product, including backporting to old stable series. You want the smallest group of "overall drivers" here, because you can add specific drivers to each series individually.';
12726
12727
12728
COMMENT ON COLUMN product.development_focus IS 'The product series that is the current focus of development.';
12729
12730
12731
COMMENT ON COLUMN product.homepage_content IS 'A home page for this product in the Launchpad.';
12732
12733
12734
COMMENT ON COLUMN product.icon IS 'The library file alias to a small image to be used as an icon whenever we are referring to a product.';
12735
12736
12737
COMMENT ON COLUMN product.mugshot IS 'The library file alias of a mugshot image to display as the branding of a product, on its home page.';
12738
12739
12740
COMMENT ON COLUMN product.logo IS 'The library file alias of a smaller version of this product''s mugshot.';
12741
12742
12743
COMMENT ON COLUMN product.official_answers IS 'Whether or not this product upstream uses Answers officialy. This is useful to help indicate whether or not that a question will receive an answer.';
12744
12745
12746
COMMENT ON COLUMN product.private_bugs IS 'Indicates whether bugs filed in this product are automatically marked as private.';
12747
12748
12749
COMMENT ON COLUMN product.private_specs IS 'Indicates whether specs filed in this product are automatically marked as private.';
12750
12751
12752
COMMENT ON COLUMN product.license_info IS 'Additional information about licenses that are not included in the License enumeration.';
12753
12754
12755
COMMENT ON COLUMN product.official_blueprints IS 'Whether or not this product upstream uses Blueprints officially. This is useful to help indicate whether or not the upstream project will be actively watching the blueprints in Launchpad.';
12756
12757
12758
COMMENT ON COLUMN product.enable_bug_expiration IS 'Indicates whether automatic bug expiration is enabled.';
12759
12760
12761
COMMENT ON COLUMN product.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on this product.';
12762
12763
12764
COMMENT ON COLUMN product.reviewer_whiteboard IS 'A whiteboard for Launchpad admins, registry experts and the project owners to capture the state of current issues with the project.';
12765
12766
12767
COMMENT ON COLUMN product.license_approved IS 'The Other/Open Source license has been approved by an administrator.';
12768
12769
12770
COMMENT ON COLUMN product.registrant IS 'The Product registrant is the Person who created the product in Launchpad.  It is set at creation and is never changed thereafter.';
12771
12772
12773
COMMENT ON COLUMN product.remote_product IS 'The ID of this product on its remote bug tracker.';
12774
12775
12776
COMMENT ON COLUMN product.translation_focus IS 'The ProductSeries that should get the translation effort focus.';
12777
12778
12779
COMMENT ON COLUMN product.max_bug_heat IS 'The highest heat value across bugs for this product.';
12780
12781
12782
COMMENT ON COLUMN product.date_next_suggest_packaging IS 'The date when Launchpad can resume suggesting Ubuntu packages that the project provides.';
12783
12784
12785
COMMENT ON COLUMN product.bug_reported_acknowledgement IS 'A message of acknowledgement to display to a bug reporter after they''ve reported a new bug.';
12786
12787
12788
COMMENT ON COLUMN product.enable_bugfiling_duplicate_search IS 'Enable/disable a search for posiible duplicates when a bug is filed.';
12789
12790
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12791
CREATE SEQUENCE product_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12792
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12793
    INCREMENT BY 1
12794
    NO MAXVALUE
12795
    NO MINVALUE
12796
    CACHE 1;
12797
7675.1121.53 by Stuart Bishop
New baseline
12798
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12799
ALTER SEQUENCE product_id_seq OWNED BY product.id;
12800
12801
5529.1.3 by Stuart Bishop
New database schema baseline
12802
CREATE TABLE productlicense (
12803
    id integer NOT NULL,
12804
    product integer NOT NULL,
12805
    license integer NOT NULL
12806
);
12807
7675.1121.53 by Stuart Bishop
New baseline
12808
12809
COMMENT ON TABLE productlicense IS 'The licenses that cover the software for a product.';
12810
12811
12812
COMMENT ON COLUMN productlicense.product IS 'Foreign key to the product that has licenses associated with it.';
12813
12814
12815
COMMENT ON COLUMN productlicense.license IS 'An integer referencing a value in the License enumeration in product.py';
12816
12817
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12818
CREATE SEQUENCE productlicense_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12819
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12820
    INCREMENT BY 1
12821
    NO MAXVALUE
12822
    NO MINVALUE
12823
    CACHE 1;
12824
7675.1121.53 by Stuart Bishop
New baseline
12825
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12826
ALTER SEQUENCE productlicense_id_seq OWNED BY productlicense.id;
12827
7675.1121.53 by Stuart Bishop
New baseline
12828
3691.17.3 by Stuart Bishop
New database baseline
12829
CREATE TABLE productrelease (
4212.1.1 by Stuart Bishop
New database baseline
12830
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12831
    datereleased timestamp without time zone NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12832
    release_notes text,
3691.17.3 by Stuart Bishop
New database baseline
12833
    changelog text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12834
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12835
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12836
    milestone integer NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
12837
);
12838
7675.1121.53 by Stuart Bishop
New baseline
12839
12840
COMMENT ON TABLE productrelease IS 'A Product Release. This is table stores information about a specific ''upstream'' software release, like Apache 2.0.49 or Evolution 1.5.4.';
12841
12842
12843
COMMENT ON COLUMN productrelease.datereleased IS 'The date when this version of the product was released.';
12844
12845
12846
COMMENT ON COLUMN productrelease.release_notes IS 'Description of changes in this product release.';
12847
12848
12849
COMMENT ON COLUMN productrelease.changelog IS 'Detailed description of changes in this product release.';
12850
12851
12852
COMMENT ON COLUMN productrelease.owner IS 'The person who created this product release.';
12853
12854
12855
COMMENT ON COLUMN productrelease.datecreated IS 'The timestamp when this product release was created.';
12856
12857
12858
COMMENT ON COLUMN productrelease.milestone IS 'The milestone for this product release. This is scheduled to become a NOT NULL column, so every product release will be linked to a unique milestone.';
12859
12860
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12861
CREATE SEQUENCE productrelease_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12862
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12863
    INCREMENT BY 1
12864
    NO MAXVALUE
12865
    NO MINVALUE
12866
    CACHE 1;
12867
7675.1121.53 by Stuart Bishop
New baseline
12868
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12869
ALTER SEQUENCE productrelease_id_seq OWNED BY productrelease.id;
12870
7675.1121.53 by Stuart Bishop
New baseline
12871
3691.17.3 by Stuart Bishop
New database baseline
12872
CREATE TABLE productreleasefile (
12873
    productrelease integer NOT NULL,
12874
    libraryfile integer NOT NULL,
12875
    filetype integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
12876
    id integer DEFAULT nextval(('productreleasefile_id_seq'::text)::regclass) NOT NULL,
12877
    description text,
12878
    uploader integer NOT NULL,
12879
    date_uploaded timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
12880
    fti ts2.tsvector,
12881
    signature integer
3691.17.3 by Stuart Bishop
New database baseline
12882
);
12883
7675.1121.53 by Stuart Bishop
New baseline
12884
12885
COMMENT ON TABLE productreleasefile IS 'Links a ProductRelease to one or more files in the Librarian.';
12886
12887
12888
COMMENT ON COLUMN productreleasefile.productrelease IS 'This is the product release this file is associated with';
12889
12890
12891
COMMENT ON COLUMN productreleasefile.libraryfile IS 'This is the librarian entry';
12892
12893
12894
COMMENT ON COLUMN productreleasefile.filetype IS 'An enum of what kind of file this is. Code tarballs are marked for special treatment (importing into bzr)';
12895
12896
12897
COMMENT ON COLUMN productreleasefile.description IS 'A description of what the file contains';
12898
12899
12900
COMMENT ON COLUMN productreleasefile.uploader IS 'The person who uploaded this file.';
12901
12902
12903
COMMENT ON COLUMN productreleasefile.date_uploaded IS 'The date this file was uploaded.';
12904
12905
12906
COMMENT ON COLUMN productreleasefile.signature IS 'This is the signature of the librarian entry as uploaded by the user.';
12907
12908
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12909
CREATE SEQUENCE productreleasefile_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12910
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12911
    INCREMENT BY 1
12912
    NO MAXVALUE
12913
    NO MINVALUE
12914
    CACHE 1;
12915
7675.1121.53 by Stuart Bishop
New baseline
12916
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12917
ALTER SEQUENCE productreleasefile_id_seq OWNED BY productreleasefile.id;
12918
7675.1121.53 by Stuart Bishop
New baseline
12919
3691.17.3 by Stuart Bishop
New database baseline
12920
CREATE TABLE productseries (
4212.1.1 by Stuart Bishop
New database baseline
12921
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12922
    product integer NOT NULL,
12923
    name text NOT NULL,
12924
    summary text NOT NULL,
12925
    releasefileglob text,
12926
    releaseverstyle integer,
12927
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
12928
    driver integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12929
    owner integer NOT NULL,
12930
    status integer DEFAULT 2 NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12931
    translations_autoimport_mode integer DEFAULT 1 NOT NULL,
12932
    branch integer,
12933
    translations_branch integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
12934
    CONSTRAINT valid_name CHECK (valid_name(name)),
12935
    CONSTRAINT valid_releasefileglob CHECK (valid_absolute_url(releasefileglob))
3691.17.3 by Stuart Bishop
New database baseline
12936
);
12937
7675.1121.53 by Stuart Bishop
New baseline
12938
12939
COMMENT ON TABLE productseries IS 'A ProductSeries is a set of product releases that are related to a specific version of the product. Typically, each major release of the product starts a new ProductSeries. These often map to a branch in the revision control system of the project, such as "2_0_STABLE". A few conventional Series names are "head" for releases of the HEAD branch, "1.0" for releases with version numbers like "1.0.0" and "1.0.1".  Each product has at least one ProductSeries';
12940
12941
12942
COMMENT ON COLUMN productseries.name IS 'The name of the ProductSeries is like a unix name, it should not contain any spaces and should start with a letter or number. Good examples are "2.0", "3.0", "head" and "development".';
12943
12944
12945
COMMENT ON COLUMN productseries.summary IS 'A summary of this Product Series. A good example would include the date the series was initiated and whether this is the current recommended series for people to use. The summary is usually displayed at the top of the page, in bold, just beneath the title and above the description, if there is a description field.';
12946
12947
12948
COMMENT ON COLUMN productseries.releasefileglob IS 'A fileglob that lets us
12949
see which URLs are potentially new upstream tarball releases. For example:
12950
http://ftp.gnu.org/gnu/libtool/libtool-1.5.*.gz.';
12951
12952
12953
COMMENT ON COLUMN productseries.releaseverstyle IS 'An enum giving the style
12954
of this product series release version numbering system.  The options are
12955
documented in dbschema.UpstreamReleaseVersionStyle.  Most applications use
12956
Gnu style numbering, but there are other alternatives.';
12957
12958
12959
COMMENT ON COLUMN productseries.driver IS 'This is a person or team who can approve spes and bugs for implementation or fixing in this specific series. Note that the product drivers and project drivers can also do this for any series in the product or project, so use this only for the specific team responsible for this specific series.';
12960
12961
12962
COMMENT ON COLUMN productseries.status IS 'The current status of this productseries.';
12963
12964
12965
COMMENT ON COLUMN productseries.translations_autoimport_mode IS 'Level of
12966
translations imports from codehosting branch: None, templates only, templates
12967
and translations. See TranslationsBranchImportMode.';
12968
12969
12970
COMMENT ON COLUMN productseries.branch IS 'The branch for this product
12971
series.';
12972
12973
12974
COMMENT ON COLUMN productseries.translations_branch IS 'Branch to push translations updates to.';
12975
12976
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12977
CREATE SEQUENCE productseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
12978
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12979
    INCREMENT BY 1
12980
    NO MAXVALUE
12981
    NO MINVALUE
12982
    CACHE 1;
12983
7675.1121.53 by Stuart Bishop
New baseline
12984
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
12985
ALTER SEQUENCE productseries_id_seq OWNED BY productseries.id;
12986
12987
3691.17.3 by Stuart Bishop
New database baseline
12988
CREATE TABLE project (
4212.1.1 by Stuart Bishop
New database baseline
12989
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
12990
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
12991
    name text NOT NULL,
12992
    displayname text NOT NULL,
12993
    title text NOT NULL,
12994
    summary text NOT NULL,
12995
    description text NOT NULL,
12996
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
12997
    homepageurl text,
12998
    wikiurl text,
12999
    lastdoap text,
13000
    sourceforgeproject text,
13001
    freshmeatproject text,
13002
    reviewed boolean DEFAULT false NOT NULL,
13003
    active boolean DEFAULT true NOT NULL,
13004
    fti ts2.tsvector,
13005
    translationgroup integer,
13006
    translationpermission integer DEFAULT 1 NOT NULL,
13007
    driver integer,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
13008
    bugtracker integer,
13009
    homepage_content text,
4990.1.1 by Stuart Bishop
New database baseline
13010
    icon integer,
13011
    mugshot integer,
13012
    logo integer,
5529.1.3 by Stuart Bishop
New database schema baseline
13013
    bug_reporting_guidelines text,
13014
    reviewer_whiteboard text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13015
    registrant integer NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
13016
    max_bug_heat integer,
13017
    bug_reported_acknowledgement text,
3691.17.3 by Stuart Bishop
New database baseline
13018
    CONSTRAINT valid_name CHECK (valid_name(name))
13019
);
13020
7675.1121.53 by Stuart Bishop
New baseline
13021
13022
COMMENT ON TABLE project IS 'Project: A DOAP Project. This table is the core of the DOAP section of the Launchpad database. It contains details of a single open source Project and is the anchor point for products, potemplates, and translationefforts.';
13023
13024
13025
COMMENT ON COLUMN project.owner IS 'The owner of the project will initially be the person who creates this Project in the system. We will encourage upstream project leaders to take on this role. The Project owner is able to edit the project.';
13026
13027
13028
COMMENT ON COLUMN project.name IS 'A short lowercase name uniquely identifying the product. Use cases include being used as a key in URL traversal.';
13029
13030
13031
COMMENT ON COLUMN project.summary IS 'A brief summary of this project. This
13032
will be displayed in bold text just above the description and below the
13033
title. It should be a single paragraph of not more than 80 words.';
13034
13035
13036
COMMENT ON COLUMN project.description IS 'A detailed description of this
13037
project. This should primarily be focused on the organisational aspects of
13038
the project, such as the people involved and the structures that the project
13039
uses to govern itself. It might refer to the primary products of the project
13040
but the detailed descriptions of those products should be in the
13041
Product.description field, not here. So, for example, useful information
13042
such as the dates the project was started and the way the project
13043
coordinates itself are suitable here.';
13044
13045
13046
COMMENT ON COLUMN project.homepageurl IS 'The home page URL of this project. Note that this could well be the home page of the main product of this project as well, if the project is too small to have a separate home page for project and product.';
13047
13048
13049
COMMENT ON COLUMN project.wikiurl IS 'This is the URL of a wiki that includes information about the project. It might be a page in a bigger wiki, or it might be the top page of a wiki devoted to this project.';
13050
13051
13052
COMMENT ON COLUMN project.lastdoap IS 'This column stores a cached copy of the last DOAP description we saw for this project. We cache the last DOAP fragment for this project because there may be some aspects of it which we are unable to represent in the database (such as multiple homepageurl''s instead of just a single homepageurl) and storing the DOAP file allows us to re-parse it later and recover this information when our database model has been updated appropriately.';
13053
13054
13055
COMMENT ON COLUMN project.sourceforgeproject IS 'The SourceForge project name for this project. This is not unique as SourceForge doesn''t use the same project/product structure as DOAP.';
13056
13057
13058
COMMENT ON COLUMN project.freshmeatproject IS 'The FreshMeat project name for this project. This is not unique as FreshMeat does not have the same project/product structure as DOAP';
13059
13060
13061
COMMENT ON COLUMN project.reviewed IS 'Whether or not someone at Canonical has reviewed this project.';
13062
13063
13064
COMMENT ON COLUMN project.active IS 'Whether or not this project should be considered active.';
13065
13066
13067
COMMENT ON COLUMN project.translationgroup IS 'The translation group that has permission to edit translations across all products in this project. Note that individual products may have their own translationgroup, in which case those translators will also have permission to edit translations for that product.';
13068
13069
13070
COMMENT ON COLUMN project.translationpermission IS 'The level of openness of
13071
this project''s translation process. The enum lists different approaches to
13072
translation, from the very open (anybody can edit any translation in any
13073
language) to the completely closed (only designated translators can make any
13074
changes at all).';
13075
13076
13077
COMMENT ON COLUMN project.driver IS 'This person or team has the ability to approve specs as goals for any series in any product in the project. Similarly, this person or team can approve bugs as targets for fixing in any series, or backporting of fixes to any series.';
13078
13079
13080
COMMENT ON COLUMN project.homepage_content IS 'A home page for this project in the Launchpad.';
13081
13082
13083
COMMENT ON COLUMN project.icon IS 'The library file alias to a small image to be used as an icon whenever we are referring to a project.';
13084
13085
13086
COMMENT ON COLUMN project.mugshot IS 'The library file alias of a mugshot image to display as the branding of a project, on its home page.';
13087
13088
13089
COMMENT ON COLUMN project.logo IS 'The library file alias of a smaller version of this product''s mugshot.';
13090
13091
13092
COMMENT ON COLUMN project.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on products in this project.';
13093
13094
13095
COMMENT ON COLUMN project.reviewer_whiteboard IS 'A whiteboard for Launchpad admins, registry experts and the project owners to capture the state of current issues with the project.';
13096
13097
13098
COMMENT ON COLUMN project.registrant IS 'The registrant is the Person who created the project in Launchpad.  It is set at creation and is never changed thereafter.';
13099
13100
13101
COMMENT ON COLUMN project.max_bug_heat IS 'The highest heat value across bugs for products in this project.';
13102
13103
13104
COMMENT ON COLUMN project.bug_reported_acknowledgement IS 'A message of acknowledgement to display to a bug reporter after they''ve reported a new bug.';
13105
13106
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13107
CREATE SEQUENCE project_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13108
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13109
    INCREMENT BY 1
13110
    NO MAXVALUE
13111
    NO MINVALUE
13112
    CACHE 1;
13113
7675.1121.53 by Stuart Bishop
New baseline
13114
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13115
ALTER SEQUENCE project_id_seq OWNED BY project.id;
13116
7675.1121.53 by Stuart Bishop
New baseline
13117
13118
CREATE TABLE publisherconfig (
13119
    id integer NOT NULL,
13120
    distribution integer NOT NULL,
13121
    root_dir text NOT NULL,
13122
    base_url text NOT NULL,
13123
    copy_base_url text NOT NULL
13124
);
13125
13126
13127
CREATE SEQUENCE publisherconfig_id_seq
13128
    START WITH 1
13129
    INCREMENT BY 1
13130
    NO MAXVALUE
13131
    NO MINVALUE
13132
    CACHE 1;
13133
13134
13135
ALTER SEQUENCE publisherconfig_id_seq OWNED BY publisherconfig.id;
13136
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13137
4212.1.1 by Stuart Bishop
New database baseline
13138
CREATE TABLE question (
13139
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13140
    owner integer NOT NULL,
4212.1.1 by Stuart Bishop
New database baseline
13141
    title text NOT NULL,
13142
    description text NOT NULL,
13143
    assignee integer,
13144
    answerer integer,
13145
    product integer,
13146
    distribution integer,
13147
    sourcepackagename integer,
13148
    status integer NOT NULL,
13149
    priority integer NOT NULL,
13150
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
13151
    datelastquery timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
13152
    dateaccepted timestamp without time zone,
13153
    datedue timestamp without time zone,
13154
    datelastresponse timestamp without time zone,
4990.1.1 by Stuart Bishop
New database baseline
13155
    date_solved timestamp without time zone,
4212.1.1 by Stuart Bishop
New database baseline
13156
    dateclosed timestamp without time zone,
13157
    whiteboard text,
13158
    fti ts2.tsvector,
13159
    answer integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13160
    language integer NOT NULL,
4990.1.1 by Stuart Bishop
New database baseline
13161
    faq integer,
4212.1.1 by Stuart Bishop
New database baseline
13162
    CONSTRAINT product_or_distro CHECK (((product IS NULL) <> (distribution IS NULL))),
13163
    CONSTRAINT sourcepackagename_needs_distro CHECK (((sourcepackagename IS NULL) OR (distribution IS NOT NULL)))
13164
);
13165
7675.1121.53 by Stuart Bishop
New baseline
13166
13167
COMMENT ON TABLE question IS 'A question, or support request, for a distribution or for an application. Such questions are created by end users who need support on a particular feature or package or product.';
13168
13169
13170
COMMENT ON COLUMN question.assignee IS 'The person who has been assigned to resolve this question. Note that there is no requirement that every question be assigned somebody. Anybody can chip in to help resolve a question, and if they think they have done so we call them the "answerer".';
13171
13172
13173
COMMENT ON COLUMN question.answerer IS 'The person who last claimed to have "solved" this support question, giving a response that the owner believe should be sufficient to close the question. This will move the status of the question to "SOLVED". Note that the only person who can actually set the status to SOLVED is the person who asked the question.';
13174
13175
13176
COMMENT ON COLUMN question.product IS 'The upstream product to which this quesiton is related. Note that a quesiton MUST be linked either to a product, or to a distribution.';
13177
13178
13179
COMMENT ON COLUMN question.distribution IS 'The distribution for which a question was filed. Note that a request MUST be linked either to a product or a distribution.';
13180
13181
13182
COMMENT ON COLUMN question.sourcepackagename IS 'An optional source package name. This only makes sense if the question is bound to a distribution.';
13183
13184
13185
COMMENT ON COLUMN question.datelastquery IS 'The date we last saw a comment from the requester (owner).';
13186
13187
13188
COMMENT ON COLUMN question.dateaccepted IS 'The date we "confirmed" or "accepted" this question. It is usually set to the date of the first response by someone other than the requester. This allows us to track the time between first request and first response.';
13189
13190
13191
COMMENT ON COLUMN question.datedue IS 'The date this question is "due", if such a date can be established. Usually this will be set automatically on the basis of a support contract SLA commitment.';
13192
13193
13194
COMMENT ON COLUMN question.datelastresponse IS 'The date we last saw a comment from somebody other than the requester.';
13195
13196
13197
COMMENT ON COLUMN question.date_solved IS 'The date this question was last marked as solved by the requester (owner). The requester either found a solution, or accepted an answer from another user.';
13198
13199
13200
COMMENT ON COLUMN question.dateclosed IS 'The date the requester marked this question CLOSED.';
13201
13202
13203
COMMENT ON COLUMN question.whiteboard IS 'A general status whiteboard. This is a scratch space to which arbitrary data can be added (there is only one constant whiteboard with no history). It is displayed at the top of the question. So its a useful way for projects to add their own semantics or metadata to the Answer Tracker.';
13204
13205
13206
COMMENT ON COLUMN question.answer IS 'The QuestionMessage that was accepted by the submitter as the "answer" to the question';
13207
13208
13209
COMMENT ON COLUMN question.language IS 'The language of the question''s title and description.';
13210
13211
13212
COMMENT ON COLUMN question.faq IS 'The FAQ document that contains the long answer to this question.';
13213
13214
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13215
CREATE SEQUENCE question_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13216
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13217
    INCREMENT BY 1
13218
    NO MAXVALUE
13219
    NO MINVALUE
13220
    CACHE 1;
13221
7675.1121.53 by Stuart Bishop
New baseline
13222
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13223
ALTER SEQUENCE question_id_seq OWNED BY question.id;
13224
7675.1121.53 by Stuart Bishop
New baseline
13225
4212.1.1 by Stuart Bishop
New database baseline
13226
CREATE TABLE questionbug (
13227
    id integer NOT NULL,
13228
    question integer NOT NULL,
13229
    bug integer NOT NULL,
13230
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
13231
);
13232
7675.1121.53 by Stuart Bishop
New baseline
13233
13234
COMMENT ON TABLE questionbug IS 'A link between a question and a bug, showing that the bug is somehow related to this question.';
13235
13236
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13237
CREATE SEQUENCE questionbug_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13238
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13239
    INCREMENT BY 1
13240
    NO MAXVALUE
13241
    NO MINVALUE
13242
    CACHE 1;
13243
7675.1121.53 by Stuart Bishop
New baseline
13244
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13245
ALTER SEQUENCE questionbug_id_seq OWNED BY questionbug.id;
13246
7675.1121.53 by Stuart Bishop
New baseline
13247
13248
CREATE TABLE questionjob (
13249
    id integer NOT NULL,
13250
    job integer NOT NULL,
13251
    job_type integer NOT NULL,
13252
    question integer NOT NULL,
13253
    json_data text
13254
);
13255
13256
13257
COMMENT ON TABLE questionjob IS 'Contains references to jobs regarding questions.';
13258
13259
13260
COMMENT ON COLUMN questionjob.job IS 'A reference to a row in the Job table that has all the common job details.';
13261
13262
13263
COMMENT ON COLUMN questionjob.job_type IS 'The type of job, such as new-answer-notification.';
13264
13265
13266
COMMENT ON COLUMN questionjob.question IS 'The newly added question message.';
13267
13268
13269
COMMENT ON COLUMN questionjob.json_data IS 'Data that is specific to the type of job, normally stores text to append to email notifications.';
13270
13271
13272
CREATE SEQUENCE questionjob_id_seq
13273
    START WITH 1
13274
    INCREMENT BY 1
13275
    NO MAXVALUE
13276
    NO MINVALUE
13277
    CACHE 1;
13278
13279
13280
ALTER SEQUENCE questionjob_id_seq OWNED BY questionjob.id;
13281
13282
4212.1.1 by Stuart Bishop
New database baseline
13283
CREATE TABLE questionmessage (
13284
    id integer NOT NULL,
13285
    question integer NOT NULL,
13286
    message integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13287
    action integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
13288
    new_status integer NOT NULL,
13289
    owner integer NOT NULL
4212.1.1 by Stuart Bishop
New database baseline
13290
);
13291
7675.1121.53 by Stuart Bishop
New baseline
13292
13293
COMMENT ON TABLE questionmessage IS 'A link between a question and a message. This means that the message will be displayed on the question page.';
13294
13295
13296
COMMENT ON COLUMN questionmessage.action IS 'The action on the question that was done with this message. This is a value from the QuestionAction enum.';
13297
13298
13299
COMMENT ON COLUMN questionmessage.new_status IS 'The status of the question after this message.';
13300
13301
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13302
CREATE SEQUENCE questionmessage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13303
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13304
    INCREMENT BY 1
13305
    NO MAXVALUE
13306
    NO MINVALUE
13307
    CACHE 1;
13308
7675.1121.53 by Stuart Bishop
New baseline
13309
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13310
ALTER SEQUENCE questionmessage_id_seq OWNED BY questionmessage.id;
13311
7675.1121.53 by Stuart Bishop
New baseline
13312
4212.1.1 by Stuart Bishop
New database baseline
13313
CREATE TABLE questionreopening (
13314
    id integer NOT NULL,
13315
    question integer NOT NULL,
13316
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
13317
    reopener integer NOT NULL,
13318
    answerer integer,
4990.1.1 by Stuart Bishop
New database baseline
13319
    date_solved timestamp without time zone,
4212.1.1 by Stuart Bishop
New database baseline
13320
    priorstate integer NOT NULL
13321
);
13322
7675.1121.53 by Stuart Bishop
New baseline
13323
13324
COMMENT ON TABLE questionreopening IS 'A record of the times when a question was re-opened. In each case we store the time that it happened, the person who did it, and the person who had previously answered / rejected the question.';
13325
13326
13327
COMMENT ON COLUMN questionreopening.reopener IS 'The person who reopened the question.';
13328
13329
13330
COMMENT ON COLUMN questionreopening.answerer IS 'The person who was previously listed as the answerer of the question.';
13331
13332
13333
COMMENT ON COLUMN questionreopening.priorstate IS 'The state of the question before it was reopened. You can reopen a question that is ANSWERED, or CLOSED, or REJECTED.';
13334
13335
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13336
CREATE SEQUENCE questionreopening_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13337
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13338
    INCREMENT BY 1
13339
    NO MAXVALUE
13340
    NO MINVALUE
13341
    CACHE 1;
13342
7675.1121.53 by Stuart Bishop
New baseline
13343
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13344
ALTER SEQUENCE questionreopening_id_seq OWNED BY questionreopening.id;
13345
7675.1121.53 by Stuart Bishop
New baseline
13346
4212.1.1 by Stuart Bishop
New database baseline
13347
CREATE TABLE questionsubscription (
13348
    id integer NOT NULL,
13349
    question integer NOT NULL,
13350
    person integer NOT NULL,
13351
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
13352
);
13353
7675.1121.53 by Stuart Bishop
New baseline
13354
13355
COMMENT ON TABLE questionsubscription IS 'A subscription of a person to a particular question.';
13356
13357
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13358
CREATE SEQUENCE questionsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13359
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13360
    INCREMENT BY 1
13361
    NO MAXVALUE
13362
    NO MINVALUE
13363
    CACHE 1;
13364
7675.1121.53 by Stuart Bishop
New baseline
13365
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13366
ALTER SEQUENCE questionsubscription_id_seq OWNED BY questionsubscription.id;
13367
7675.1121.53 by Stuart Bishop
New baseline
13368
13369
CREATE TABLE revision (
4212.1.1 by Stuart Bishop
New database baseline
13370
    id integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
13371
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
13372
    log_body text NOT NULL,
13373
    revision_author integer NOT NULL,
13374
    gpgkey integer,
13375
    revision_id text NOT NULL,
13376
    revision_date timestamp without time zone,
13377
    karma_allocated boolean DEFAULT false
3691.17.3 by Stuart Bishop
New database baseline
13378
);
7675.1121.53 by Stuart Bishop
New baseline
13379
ALTER TABLE ONLY revision ALTER COLUMN revision_author SET STATISTICS 500;
13380
ALTER TABLE ONLY revision ALTER COLUMN revision_date SET STATISTICS 500;
13381
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13382
13383
CREATE SEQUENCE revision_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13384
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13385
    INCREMENT BY 1
13386
    NO MAXVALUE
13387
    NO MINVALUE
13388
    CACHE 1;
13389
7675.1121.53 by Stuart Bishop
New baseline
13390
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13391
ALTER SEQUENCE revision_id_seq OWNED BY revision.id;
4212.1.1 by Stuart Bishop
New database baseline
13392
7675.1121.53 by Stuart Bishop
New baseline
13393
3691.17.3 by Stuart Bishop
New database baseline
13394
CREATE TABLE revisionauthor (
4212.1.1 by Stuart Bishop
New database baseline
13395
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13396
    name text NOT NULL,
13397
    email text,
13398
    person integer
3691.17.3 by Stuart Bishop
New database baseline
13399
);
13400
7675.1121.53 by Stuart Bishop
New baseline
13401
13402
COMMENT ON TABLE revisionauthor IS 'All distinct authors for revisions.';
13403
13404
13405
COMMENT ON COLUMN revisionauthor.name IS 'The exact text extracted from the branch revision.';
13406
13407
13408
COMMENT ON COLUMN revisionauthor.email IS 'A valid email address extracted from the name.  This email address may or may not be associated with a Launchpad user at this stage.';
13409
13410
13411
COMMENT ON COLUMN revisionauthor.person IS 'The Launchpad person that has a verified email address that matches the email address of the revision author.';
13412
13413
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13414
CREATE SEQUENCE revisionauthor_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13415
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13416
    INCREMENT BY 1
13417
    NO MAXVALUE
13418
    NO MINVALUE
13419
    CACHE 1;
13420
7675.1121.53 by Stuart Bishop
New baseline
13421
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13422
ALTER SEQUENCE revisionauthor_id_seq OWNED BY revisionauthor.id;
13423
7675.1121.53 by Stuart Bishop
New baseline
13424
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13425
CREATE TABLE revisioncache (
13426
    id integer NOT NULL,
13427
    revision integer NOT NULL,
13428
    revision_author integer NOT NULL,
13429
    revision_date timestamp without time zone NOT NULL,
13430
    product integer,
13431
    distroseries integer,
13432
    sourcepackagename integer,
13433
    private boolean NOT NULL,
13434
    CONSTRAINT valid_target CHECK ((((distroseries IS NULL) = (sourcepackagename IS NULL)) AND (((distroseries IS NULL) AND (product IS NULL)) OR ((distroseries IS NULL) <> (product IS NULL)))))
13435
);
13436
7675.1121.53 by Stuart Bishop
New baseline
13437
13438
COMMENT ON TABLE revisioncache IS 'A cache of revisions where the revision date is in the last 30 days.';
13439
13440
13441
COMMENT ON COLUMN revisioncache.revision IS 'A reference to the actual revision.';
13442
13443
13444
COMMENT ON COLUMN revisioncache.revision_author IS 'A refernce to the revision author for the revision.';
13445
13446
13447
COMMENT ON COLUMN revisioncache.revision_date IS 'The date the revision was made.  Should be within 30 days of today (or the cleanup code is not cleaning up).';
13448
13449
13450
COMMENT ON COLUMN revisioncache.product IS 'The product that the revision is found in (if it is indeed in a particular product).';
13451
13452
13453
COMMENT ON COLUMN revisioncache.distroseries IS 'The distroseries for which a source package branch contains the revision.';
13454
13455
13456
COMMENT ON COLUMN revisioncache.sourcepackagename IS 'The sourcepackagename for which a source package branch contains the revision.';
13457
13458
13459
COMMENT ON COLUMN revisioncache.private IS 'True if the revision is only found in private branches, False if it can be found in a non-private branch.';
13460
13461
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13462
CREATE SEQUENCE revisioncache_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13463
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13464
    INCREMENT BY 1
13465
    NO MAXVALUE
13466
    NO MINVALUE
13467
    CACHE 1;
13468
7675.1121.53 by Stuart Bishop
New baseline
13469
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13470
ALTER SEQUENCE revisioncache_id_seq OWNED BY revisioncache.id;
13471
3691.17.3 by Stuart Bishop
New database baseline
13472
13473
CREATE TABLE revisionparent (
4212.1.1 by Stuart Bishop
New database baseline
13474
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13475
    sequence integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
13476
    revision integer NOT NULL,
13477
    parent_id text NOT NULL
13478
);
13479
7675.1121.53 by Stuart Bishop
New baseline
13480
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13481
CREATE SEQUENCE revisionparent_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13482
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13483
    INCREMENT BY 1
13484
    NO MAXVALUE
13485
    NO MINVALUE
13486
    CACHE 1;
13487
7675.1121.53 by Stuart Bishop
New baseline
13488
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13489
ALTER SEQUENCE revisionparent_id_seq OWNED BY revisionparent.id;
13490
7675.1121.53 by Stuart Bishop
New baseline
13491
4212.1.1 by Stuart Bishop
New database baseline
13492
CREATE TABLE revisionproperty (
13493
    id integer NOT NULL,
13494
    revision integer NOT NULL,
13495
    name text NOT NULL,
13496
    value text NOT NULL
13497
);
13498
7675.1121.53 by Stuart Bishop
New baseline
13499
13500
COMMENT ON TABLE revisionproperty IS 'A collection of name and value pairs that appear on a revision.';
13501
13502
13503
COMMENT ON COLUMN revisionproperty.revision IS 'The revision which has properties.';
13504
13505
13506
COMMENT ON COLUMN revisionproperty.name IS 'The name of the property.';
13507
13508
13509
COMMENT ON COLUMN revisionproperty.value IS 'The value of the property.';
13510
13511
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13512
CREATE SEQUENCE revisionproperty_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13513
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13514
    INCREMENT BY 1
13515
    NO MAXVALUE
13516
    NO MINVALUE
13517
    CACHE 1;
13518
7675.1121.53 by Stuart Bishop
New baseline
13519
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13520
ALTER SEQUENCE revisionproperty_id_seq OWNED BY revisionproperty.id;
13521
7675.1121.53 by Stuart Bishop
New baseline
13522
4212.1.1 by Stuart Bishop
New database baseline
13523
CREATE TABLE scriptactivity (
13524
    id integer NOT NULL,
13525
    name text NOT NULL,
13526
    hostname text NOT NULL,
13527
    date_started timestamp without time zone NOT NULL,
13528
    date_completed timestamp without time zone NOT NULL
13529
);
13530
7675.1121.53 by Stuart Bishop
New baseline
13531
13532
COMMENT ON TABLE scriptactivity IS 'Records of successful runs of scripts ';
13533
13534
13535
COMMENT ON COLUMN scriptactivity.name IS 'The name of the script';
13536
13537
13538
COMMENT ON COLUMN scriptactivity.hostname IS 'The hostname of the machine where the script was run';
13539
13540
13541
COMMENT ON COLUMN scriptactivity.date_started IS 'The date at which the script started';
13542
13543
13544
COMMENT ON COLUMN scriptactivity.date_completed IS 'The date at which the script completed';
13545
13546
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13547
CREATE SEQUENCE scriptactivity_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13548
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13549
    INCREMENT BY 1
13550
    NO MAXVALUE
13551
    NO MINVALUE
13552
    CACHE 1;
13553
7675.1121.53 by Stuart Bishop
New baseline
13554
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13555
ALTER SEQUENCE scriptactivity_id_seq OWNED BY scriptactivity.id;
13556
7675.1121.53 by Stuart Bishop
New baseline
13557
7675.395.118 by Stuart Bishop
New database baseline from production
13558
CREATE TABLE section (
13559
    id integer NOT NULL,
13560
    name text NOT NULL
13561
);
13562
7675.1121.53 by Stuart Bishop
New baseline
13563
13564
COMMENT ON TABLE section IS 'Known sections in Launchpad';
13565
13566
13567
COMMENT ON COLUMN section.name IS 'Section name text';
13568
13569
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13570
CREATE SEQUENCE section_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13571
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13572
    INCREMENT BY 1
13573
    NO MAXVALUE
13574
    NO MINVALUE
13575
    CACHE 1;
13576
7675.1121.53 by Stuart Bishop
New baseline
13577
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13578
ALTER SEQUENCE section_id_seq OWNED BY section.id;
13579
7675.1121.53 by Stuart Bishop
New baseline
13580
3691.17.3 by Stuart Bishop
New database baseline
13581
CREATE TABLE sectionselection (
4212.1.1 by Stuart Bishop
New database baseline
13582
    id integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
13583
    distroseries integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
13584
    section integer NOT NULL,
13585
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
13586
);
13587
7675.1121.53 by Stuart Bishop
New baseline
13588
13589
COMMENT ON TABLE sectionselection IS 'Allowed sections in a given distroseries.';
13590
13591
13592
COMMENT ON COLUMN sectionselection.distroseries IS 'Refers to the distroseries in question.';
13593
13594
13595
COMMENT ON COLUMN sectionselection.section IS 'Refers to the section in question.';
13596
13597
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13598
CREATE SEQUENCE sectionselection_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13599
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13600
    INCREMENT BY 1
13601
    NO MAXVALUE
13602
    NO MINVALUE
13603
    CACHE 1;
13604
7675.1121.53 by Stuart Bishop
New baseline
13605
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13606
ALTER SEQUENCE sectionselection_id_seq OWNED BY sectionselection.id;
13607
7675.1121.53 by Stuart Bishop
New baseline
13608
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13609
CREATE TABLE seriessourcepackagebranch (
13610
    id integer NOT NULL,
13611
    distroseries integer NOT NULL,
13612
    pocket integer NOT NULL,
13613
    sourcepackagename integer NOT NULL,
13614
    branch integer NOT NULL,
13615
    registrant integer NOT NULL,
13616
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
13617
);
13618
7675.1121.53 by Stuart Bishop
New baseline
13619
13620
COMMENT ON TABLE seriessourcepackagebranch IS 'Link between branches and distribution suite.';
13621
13622
13623
COMMENT ON COLUMN seriessourcepackagebranch.distroseries IS 'The distroseries the branch is linked to.';
13624
13625
13626
COMMENT ON COLUMN seriessourcepackagebranch.pocket IS 'The pocket the branch is linked to.';
13627
13628
13629
COMMENT ON COLUMN seriessourcepackagebranch.sourcepackagename IS 'The sourcepackagename the branch is linked to.';
13630
13631
13632
COMMENT ON COLUMN seriessourcepackagebranch.branch IS 'The branch being linked to a distribution suite.';
13633
13634
13635
COMMENT ON COLUMN seriessourcepackagebranch.registrant IS 'The person who registered this link.';
13636
13637
13638
COMMENT ON COLUMN seriessourcepackagebranch.date_created IS 'The date this link was created.';
13639
13640
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13641
CREATE SEQUENCE seriessourcepackagebranch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13642
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13643
    INCREMENT BY 1
13644
    NO MAXVALUE
13645
    NO MINVALUE
13646
    CACHE 1;
13647
7675.1121.53 by Stuart Bishop
New baseline
13648
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13649
ALTER SEQUENCE seriessourcepackagebranch_id_seq OWNED BY seriessourcepackagebranch.id;
13650
13651
3691.17.3 by Stuart Bishop
New database baseline
13652
CREATE TABLE signedcodeofconduct (
4212.1.1 by Stuart Bishop
New database baseline
13653
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
13654
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
13655
    signingkey integer,
13656
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
13657
    signedcode text,
13658
    recipient integer,
13659
    active boolean DEFAULT false NOT NULL,
13660
    admincomment text
13661
);
13662
7675.1121.53 by Stuart Bishop
New baseline
13663
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13664
CREATE SEQUENCE signedcodeofconduct_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13665
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13666
    INCREMENT BY 1
13667
    NO MAXVALUE
13668
    NO MINVALUE
13669
    CACHE 1;
13670
7675.1121.53 by Stuart Bishop
New baseline
13671
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13672
ALTER SEQUENCE signedcodeofconduct_id_seq OWNED BY signedcodeofconduct.id;
13673
7675.1121.53 by Stuart Bishop
New baseline
13674
7675.395.118 by Stuart Bishop
New database baseline from production
13675
CREATE TABLE sourcepackagepublishinghistory (
13676
    id integer NOT NULL,
13677
    sourcepackagerelease integer NOT NULL,
13678
    distroseries integer NOT NULL,
13679
    status integer NOT NULL,
13680
    component integer NOT NULL,
13681
    section integer NOT NULL,
13682
    datecreated timestamp without time zone NOT NULL,
13683
    datepublished timestamp without time zone,
13684
    datesuperseded timestamp without time zone,
13685
    supersededby integer,
13686
    datemadepending timestamp without time zone,
13687
    scheduleddeletiondate timestamp without time zone,
13688
    dateremoved timestamp without time zone,
13689
    pocket integer DEFAULT 0 NOT NULL,
13690
    archive integer NOT NULL,
13691
    removed_by integer,
7675.1121.53 by Stuart Bishop
New baseline
13692
    removal_comment text,
13693
    ancestor integer,
13694
    sourcepackagename integer,
13695
    creator integer
7675.395.118 by Stuart Bishop
New database baseline from production
13696
);
13697
7675.1121.53 by Stuart Bishop
New baseline
13698
13699
COMMENT ON TABLE sourcepackagepublishinghistory IS 'SourcePackagePublishingHistory: The history of a SourcePackagePublishing record. This table represents the lifetime of a publishing record from inception to deletion. Records are never removed from here and in time the publishing table may become a view onto this table. A column being NULL indicates there''s no data for that state transition. E.g. a package which is removed without being superseded won''t have datesuperseded or supersededby filled in.';
13700
13701
13702
COMMENT ON COLUMN sourcepackagepublishinghistory.sourcepackagerelease IS 'The sourcepackagerelease being published.';
13703
13704
13705
COMMENT ON COLUMN sourcepackagepublishinghistory.distroseries IS 'The distroseries into which the sourcepackagerelease is being published.';
13706
13707
13708
COMMENT ON COLUMN sourcepackagepublishinghistory.status IS 'The current status of the publishing.';
13709
13710
13711
COMMENT ON COLUMN sourcepackagepublishinghistory.component IS 'The component into which the publishing takes place.';
13712
13713
13714
COMMENT ON COLUMN sourcepackagepublishinghistory.section IS 'The section into which the publishing takes place.';
13715
13716
13717
COMMENT ON COLUMN sourcepackagepublishinghistory.datecreated IS 'The date/time on which the publishing record was created.';
13718
13719
13720
COMMENT ON COLUMN sourcepackagepublishinghistory.datepublished IS 'The date/time on which the source was actually published into an archive.';
13721
13722
13723
COMMENT ON COLUMN sourcepackagepublishinghistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.';
13724
13725
13726
COMMENT ON COLUMN sourcepackagepublishinghistory.supersededby IS 'The source which superseded this one.';
13727
13728
13729
COMMENT ON COLUMN sourcepackagepublishinghistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.';
13730
13731
13732
COMMENT ON COLUMN sourcepackagepublishinghistory.scheduleddeletiondate IS 'The date/time at which the source is/was scheduled to be deleted.';
13733
13734
13735
COMMENT ON COLUMN sourcepackagepublishinghistory.dateremoved IS 'The date/time at which the source was actually deleted.';
13736
13737
13738
COMMENT ON COLUMN sourcepackagepublishinghistory.pocket IS 'The pocket into which this record is published. The RELEASE pocket (zero) provides behaviour as normal. Other pockets may append things to the distroseries name such as the UPDATES pocket (-updates), the SECURITY pocket (-security) and the PROPOSED pocket (-proposed)';
13739
13740
13741
COMMENT ON COLUMN sourcepackagepublishinghistory.archive IS 'The target archive for thi publishing record.';
13742
13743
13744
COMMENT ON COLUMN sourcepackagepublishinghistory.removed_by IS 'Person responsible for the removal.';
13745
13746
13747
COMMENT ON COLUMN sourcepackagepublishinghistory.removal_comment IS 'Reason why the publication was removed.';
13748
13749
3691.17.3 by Stuart Bishop
New database baseline
13750
CREATE TABLE sourcepackagereleasefile (
13751
    sourcepackagerelease integer NOT NULL,
13752
    libraryfile integer NOT NULL,
13753
    filetype integer NOT NULL,
13754
    id integer DEFAULT nextval(('sourcepackagereleasefile_id_seq'::text)::regclass) NOT NULL
13755
);
13756
7675.1121.53 by Stuart Bishop
New baseline
13757
13758
COMMENT ON TABLE sourcepackagereleasefile IS 'SourcePackageReleaseFile: A soyuz source package release file. This table links sourcepackagereleasehistory records to the files which comprise the input.';
13759
13760
13761
COMMENT ON COLUMN sourcepackagereleasefile.sourcepackagerelease IS 'The sourcepackagerelease that this file belongs to';
13762
13763
13764
COMMENT ON COLUMN sourcepackagereleasefile.libraryfile IS 'The libraryfilealias embodying this file';
13765
13766
13767
COMMENT ON COLUMN sourcepackagereleasefile.filetype IS 'The type of the file. E.g. TAR, DIFF, DSC';
13768
13769
3691.17.3 by Stuart Bishop
New database baseline
13770
CREATE VIEW sourcepackagefilepublishing AS
7675.395.118 by Stuart Bishop
New database baseline from production
13771
    SELECT (((libraryfilealias.id)::text || '.'::text) || (securesourcepackagepublishinghistory.id)::text) AS id, distroseries.distribution, securesourcepackagepublishinghistory.id AS sourcepackagepublishing, sourcepackagereleasefile.libraryfile AS libraryfilealias, libraryfilealias.filename AS libraryfilealiasfilename, sourcepackagename.name AS sourcepackagename, component.name AS componentname, distroseries.name AS distroseriesname, securesourcepackagepublishinghistory.status AS publishingstatus, securesourcepackagepublishinghistory.pocket, securesourcepackagepublishinghistory.archive FROM ((((((sourcepackagepublishinghistory securesourcepackagepublishinghistory JOIN sourcepackagerelease ON ((securesourcepackagepublishinghistory.sourcepackagerelease = sourcepackagerelease.id))) JOIN sourcepackagename ON ((sourcepackagerelease.sourcepackagename = sourcepackagename.id))) JOIN sourcepackagereleasefile ON ((sourcepackagereleasefile.sourcepackagerelease = sourcepackagerelease.id))) JOIN libraryfilealias ON ((libraryfilealias.id = sourcepackagereleasefile.libraryfile))) JOIN distroseries ON ((securesourcepackagepublishinghistory.distroseries = distroseries.id))) JOIN component ON ((securesourcepackagepublishinghistory.component = component.id))) WHERE (securesourcepackagepublishinghistory.dateremoved IS NULL);
13772
7675.1121.53 by Stuart Bishop
New baseline
13773
13774
COMMENT ON VIEW sourcepackagefilepublishing IS 'This view is used mostly by Lucille while performing publishing and unpublishing operations. It lists all the files associated with a sourcepackagerelease and collates all the textual representations needed for publishing components etc to allow rapid queries from SQLObject.';
13775
13776
7675.395.118 by Stuart Bishop
New database baseline from production
13777
CREATE TABLE sourcepackageformatselection (
13778
    id integer NOT NULL,
13779
    distroseries integer NOT NULL,
13780
    format integer NOT NULL
13781
);
13782
7675.1121.53 by Stuart Bishop
New baseline
13783
13784
COMMENT ON TABLE sourcepackageformatselection IS 'Allowed source package formats for a given distroseries.';
13785
13786
13787
COMMENT ON COLUMN sourcepackageformatselection.distroseries IS 'Refers to the distroseries in question.';
13788
13789
13790
COMMENT ON COLUMN sourcepackageformatselection.format IS 'The SourcePackageFormat to allow.';
13791
13792
7675.395.118 by Stuart Bishop
New database baseline from production
13793
CREATE SEQUENCE sourcepackageformatselection_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13794
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13795
    INCREMENT BY 1
13796
    NO MAXVALUE
13797
    NO MINVALUE
13798
    CACHE 1;
13799
7675.1121.53 by Stuart Bishop
New baseline
13800
7675.395.118 by Stuart Bishop
New database baseline from production
13801
ALTER SEQUENCE sourcepackageformatselection_id_seq OWNED BY sourcepackageformatselection.id;
3691.17.3 by Stuart Bishop
New database baseline
13802
7675.1121.53 by Stuart Bishop
New baseline
13803
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13804
CREATE SEQUENCE sourcepackagename_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13805
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13806
    INCREMENT BY 1
13807
    NO MAXVALUE
13808
    NO MINVALUE
13809
    CACHE 1;
13810
7675.1121.53 by Stuart Bishop
New baseline
13811
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
13812
ALTER SEQUENCE sourcepackagename_id_seq OWNED BY sourcepackagename.id;
13813
7675.1121.53 by Stuart Bishop
New baseline
13814
7675.395.118 by Stuart Bishop
New database baseline from production
13815
CREATE SEQUENCE sourcepackagepublishinghistory_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13816
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13817
    INCREMENT BY 1
13818
    NO MAXVALUE
13819
    NO MINVALUE
13820
    CACHE 1;
13821
7675.1121.53 by Stuart Bishop
New baseline
13822
7675.395.118 by Stuart Bishop
New database baseline from production
13823
ALTER SEQUENCE sourcepackagepublishinghistory_id_seq OWNED BY sourcepackagepublishinghistory.id;
13824
7675.1121.53 by Stuart Bishop
New baseline
13825
7675.395.118 by Stuart Bishop
New database baseline from production
13826
CREATE TABLE sourcepackagerecipe (
13827
    id integer NOT NULL,
13828
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
13829
    date_last_modified timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
13830
    registrant integer NOT NULL,
13831
    owner integer NOT NULL,
13832
    name text NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
13833
    description text,
7675.395.118 by Stuart Bishop
New database baseline from production
13834
    build_daily boolean DEFAULT false NOT NULL,
13835
    daily_build_archive integer,
13836
    is_stale boolean DEFAULT true NOT NULL
13837
);
13838
7675.1121.53 by Stuart Bishop
New baseline
13839
13840
COMMENT ON TABLE sourcepackagerecipe IS 'A recipe for assembling a source package from branches.';
13841
13842
13843
COMMENT ON COLUMN sourcepackagerecipe.registrant IS 'The person who created this recipe.';
13844
13845
13846
COMMENT ON COLUMN sourcepackagerecipe.owner IS 'The person or team who can edit this recipe.';
13847
13848
13849
COMMENT ON COLUMN sourcepackagerecipe.name IS 'The name of the recipe in the web/URL.';
13850
13851
13852
COMMENT ON COLUMN sourcepackagerecipe.build_daily IS 'If true, this recipe should be built daily.';
13853
13854
13855
COMMENT ON COLUMN sourcepackagerecipe.daily_build_archive IS 'The archive to build into for daily builds.';
13856
13857
13858
COMMENT ON COLUMN sourcepackagerecipe.is_stale IS 'True if this recipe has not been built since a branch was updated.';
13859
13860
7675.395.118 by Stuart Bishop
New database baseline from production
13861
CREATE SEQUENCE sourcepackagerecipe_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13862
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13863
    INCREMENT BY 1
13864
    NO MAXVALUE
13865
    NO MINVALUE
13866
    CACHE 1;
13867
7675.1121.53 by Stuart Bishop
New baseline
13868
7675.395.118 by Stuart Bishop
New database baseline from production
13869
ALTER SEQUENCE sourcepackagerecipe_id_seq OWNED BY sourcepackagerecipe.id;
13870
7675.1121.53 by Stuart Bishop
New baseline
13871
7675.395.118 by Stuart Bishop
New database baseline from production
13872
CREATE TABLE sourcepackagerecipebuild (
13873
    id integer NOT NULL,
13874
    distroseries integer NOT NULL,
13875
    requester integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
13876
    recipe integer,
7675.395.118 by Stuart Bishop
New database baseline from production
13877
    manifest integer,
13878
    package_build integer NOT NULL
13879
);
13880
7675.1121.53 by Stuart Bishop
New baseline
13881
13882
COMMENT ON TABLE sourcepackagerecipebuild IS 'The build record for the process of building a source package as described by a recipe.';
13883
13884
13885
COMMENT ON COLUMN sourcepackagerecipebuild.distroseries IS 'The distroseries the build was for.';
13886
13887
13888
COMMENT ON COLUMN sourcepackagerecipebuild.requester IS 'Who requested the build.';
13889
13890
13891
COMMENT ON COLUMN sourcepackagerecipebuild.recipe IS 'The recipe being processed.';
13892
13893
13894
COMMENT ON COLUMN sourcepackagerecipebuild.manifest IS 'The evaluated recipe that was built.';
13895
13896
13897
COMMENT ON COLUMN sourcepackagerecipebuild.package_build IS 'The package_build with the base information about this build.';
13898
13899
7675.395.118 by Stuart Bishop
New database baseline from production
13900
CREATE SEQUENCE sourcepackagerecipebuild_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13901
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13902
    INCREMENT BY 1
13903
    NO MAXVALUE
13904
    NO MINVALUE
13905
    CACHE 1;
13906
7675.1121.53 by Stuart Bishop
New baseline
13907
7675.395.118 by Stuart Bishop
New database baseline from production
13908
ALTER SEQUENCE sourcepackagerecipebuild_id_seq OWNED BY sourcepackagerecipebuild.id;
13909
7675.1121.53 by Stuart Bishop
New baseline
13910
7675.395.118 by Stuart Bishop
New database baseline from production
13911
CREATE TABLE sourcepackagerecipebuildjob (
13912
    id integer NOT NULL,
13913
    job integer NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
13914
    sourcepackage_recipe_build integer NOT NULL
7675.395.118 by Stuart Bishop
New database baseline from production
13915
);
13916
7675.1121.53 by Stuart Bishop
New baseline
13917
13918
COMMENT ON TABLE sourcepackagerecipebuildjob IS 'The link between a SourcePackageRecipeBuild row and a Job row to schedule a build of a source package recipe.';
13919
13920
13921
COMMENT ON COLUMN sourcepackagerecipebuildjob.sourcepackage_recipe_build IS 'The build record describing the package being built.';
13922
13923
7675.395.118 by Stuart Bishop
New database baseline from production
13924
CREATE SEQUENCE sourcepackagerecipebuildjob_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13925
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13926
    INCREMENT BY 1
13927
    NO MAXVALUE
13928
    NO MINVALUE
13929
    CACHE 1;
13930
7675.1121.53 by Stuart Bishop
New baseline
13931
7675.395.118 by Stuart Bishop
New database baseline from production
13932
ALTER SEQUENCE sourcepackagerecipebuildjob_id_seq OWNED BY sourcepackagerecipebuildjob.id;
13933
7675.1121.53 by Stuart Bishop
New baseline
13934
7675.395.118 by Stuart Bishop
New database baseline from production
13935
CREATE TABLE sourcepackagerecipedata (
13936
    id integer NOT NULL,
13937
    base_branch integer NOT NULL,
13938
    recipe_format text NOT NULL,
13939
    deb_version_template text NOT NULL,
13940
    revspec text,
13941
    sourcepackage_recipe integer,
13942
    sourcepackage_recipe_build integer,
13943
    CONSTRAINT sourcepackagerecipedata__recipe_or_build_is_not_null CHECK (((sourcepackage_recipe IS NULL) <> (sourcepackage_recipe_build IS NULL)))
13944
);
13945
7675.1121.53 by Stuart Bishop
New baseline
13946
13947
COMMENT ON TABLE sourcepackagerecipedata IS 'The database representation of a BaseRecipeBranch from bzr-builder.  Exactly one of sourcepackage_recipe or sourcepackage_recipe_build will be non-NULL.';
13948
13949
13950
COMMENT ON COLUMN sourcepackagerecipedata.base_branch IS 'The branch the recipe is based on.';
13951
13952
13953
COMMENT ON COLUMN sourcepackagerecipedata.recipe_format IS 'The format version of the recipe.';
13954
13955
13956
COMMENT ON COLUMN sourcepackagerecipedata.deb_version_template IS 'The template for the revision number of the build.';
13957
13958
13959
COMMENT ON COLUMN sourcepackagerecipedata.revspec IS 'The revision from base_branch to use.';
13960
13961
13962
COMMENT ON COLUMN sourcepackagerecipedata.sourcepackage_recipe IS 'The recipe that this data is for.';
13963
13964
13965
COMMENT ON COLUMN sourcepackagerecipedata.sourcepackage_recipe_build IS 'The build that resulted in this manifest.';
13966
13967
7675.395.118 by Stuart Bishop
New database baseline from production
13968
CREATE SEQUENCE sourcepackagerecipedata_id_seq
7675.1121.53 by Stuart Bishop
New baseline
13969
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
13970
    INCREMENT BY 1
13971
    NO MAXVALUE
13972
    NO MINVALUE
13973
    CACHE 1;
13974
7675.1121.53 by Stuart Bishop
New baseline
13975
7675.395.118 by Stuart Bishop
New database baseline from production
13976
ALTER SEQUENCE sourcepackagerecipedata_id_seq OWNED BY sourcepackagerecipedata.id;
13977
7675.1121.53 by Stuart Bishop
New baseline
13978
7675.395.118 by Stuart Bishop
New database baseline from production
13979
CREATE TABLE sourcepackagerecipedatainstruction (
13980
    id integer NOT NULL,
13981
    name text NOT NULL,
13982
    type integer NOT NULL,
13983
    comment text,
13984
    line_number integer NOT NULL,
13985
    branch integer NOT NULL,
13986
    revspec text,
13987
    directory text,
13988
    recipe_data integer NOT NULL,
13989
    parent_instruction integer,
7675.1121.53 by Stuart Bishop
New baseline
13990
    source_directory text,
13991
    CONSTRAINT sourcepackagerecipedatainstruction__directory_not_null CHECK ((((type = 3) OR ((type = 1) AND (directory IS NULL))) OR ((type = 2) AND (directory IS NOT NULL)))),
13992
    CONSTRAINT sourcepackagerecipedatainstruction__source_directory_null CHECK ((((type = ANY (ARRAY[1, 2])) AND (source_directory IS NULL)) OR ((type = 3) AND (source_directory IS NOT NULL))))
7675.395.118 by Stuart Bishop
New database baseline from production
13993
);
13994
7675.1121.53 by Stuart Bishop
New baseline
13995
13996
COMMENT ON TABLE sourcepackagerecipedatainstruction IS 'A line from the recipe, specifying a branch to nest or merge.';
13997
13998
13999
COMMENT ON COLUMN sourcepackagerecipedatainstruction.name IS 'The name of the instruction.';
14000
14001
14002
COMMENT ON COLUMN sourcepackagerecipedatainstruction.type IS 'The type of the instruction (MERGE == 1, NEST == 2).';
14003
14004
14005
COMMENT ON COLUMN sourcepackagerecipedatainstruction.comment IS 'The comment from the recipe about this instruction.';
14006
14007
14008
COMMENT ON COLUMN sourcepackagerecipedatainstruction.line_number IS 'The line number of the instruction in the recipe.';
14009
14010
14011
COMMENT ON COLUMN sourcepackagerecipedatainstruction.branch IS 'The branch being merged or nested.';
14012
14013
14014
COMMENT ON COLUMN sourcepackagerecipedatainstruction.revspec IS 'The revision of the branch to use.';
14015
14016
14017
COMMENT ON COLUMN sourcepackagerecipedatainstruction.directory IS 'The location to nest at, if this is a nest/nest-part instruction.';
14018
14019
14020
COMMENT ON COLUMN sourcepackagerecipedatainstruction.recipe_data IS 'The SourcePackageRecipeData this instruction is part of.';
14021
14022
14023
COMMENT ON COLUMN sourcepackagerecipedatainstruction.parent_instruction IS 'The nested branch this instruction applies to, or NULL for a top-level instruction.';
14024
14025
14026
COMMENT ON COLUMN sourcepackagerecipedatainstruction.source_directory IS 'The location in the branch to nest, if this is a nest-part instruction.';
14027
14028
7675.395.118 by Stuart Bishop
New database baseline from production
14029
CREATE SEQUENCE sourcepackagerecipedatainstruction_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14030
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
14031
    INCREMENT BY 1
14032
    NO MAXVALUE
14033
    NO MINVALUE
14034
    CACHE 1;
14035
7675.1121.53 by Stuart Bishop
New baseline
14036
7675.395.118 by Stuart Bishop
New database baseline from production
14037
ALTER SEQUENCE sourcepackagerecipedatainstruction_id_seq OWNED BY sourcepackagerecipedatainstruction.id;
14038
7675.1121.53 by Stuart Bishop
New baseline
14039
7675.395.118 by Stuart Bishop
New database baseline from production
14040
CREATE TABLE sourcepackagerecipedistroseries (
14041
    id integer NOT NULL,
14042
    sourcepackagerecipe integer NOT NULL,
14043
    distroseries integer NOT NULL
14044
);
14045
7675.1121.53 by Stuart Bishop
New baseline
14046
14047
COMMENT ON TABLE sourcepackagerecipedistroseries IS 'Link table for sourcepackagerecipe and distroseries.';
14048
14049
14050
COMMENT ON COLUMN sourcepackagerecipedistroseries.sourcepackagerecipe IS 'The primary key of the SourcePackageRecipe.';
14051
14052
14053
COMMENT ON COLUMN sourcepackagerecipedistroseries.distroseries IS 'The primary key of the DistroSeries.';
14054
14055
7675.395.118 by Stuart Bishop
New database baseline from production
14056
CREATE SEQUENCE sourcepackagerecipedistroseries_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14057
    START WITH 1
7675.395.118 by Stuart Bishop
New database baseline from production
14058
    INCREMENT BY 1
14059
    NO MAXVALUE
14060
    NO MINVALUE
14061
    CACHE 1;
14062
7675.1121.53 by Stuart Bishop
New baseline
14063
7675.395.118 by Stuart Bishop
New database baseline from production
14064
ALTER SEQUENCE sourcepackagerecipedistroseries_id_seq OWNED BY sourcepackagerecipedistroseries.id;
5529.1.3 by Stuart Bishop
New database schema baseline
14065
7675.1121.53 by Stuart Bishop
New baseline
14066
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14067
CREATE SEQUENCE sourcepackagerelease_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14068
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14069
    INCREMENT BY 1
14070
    NO MAXVALUE
14071
    NO MINVALUE
14072
    CACHE 1;
14073
7675.1121.53 by Stuart Bishop
New baseline
14074
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14075
ALTER SEQUENCE sourcepackagerelease_id_seq OWNED BY sourcepackagerelease.id;
14076
7675.1121.53 by Stuart Bishop
New baseline
14077
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14078
CREATE SEQUENCE sourcepackagereleasefile_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14079
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14080
    INCREMENT BY 1
14081
    NO MAXVALUE
14082
    NO MINVALUE
14083
    CACHE 1;
14084
7675.1121.53 by Stuart Bishop
New baseline
14085
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14086
ALTER SEQUENCE sourcepackagereleasefile_id_seq OWNED BY sourcepackagereleasefile.id;
14087
7675.1121.53 by Stuart Bishop
New baseline
14088
3691.17.3 by Stuart Bishop
New database baseline
14089
CREATE TABLE specification (
4212.1.1 by Stuart Bishop
New database baseline
14090
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14091
    name text NOT NULL,
14092
    title text NOT NULL,
14093
    summary text,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14094
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14095
    assignee integer,
14096
    drafter integer,
14097
    approver integer,
14098
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
14099
    product integer,
14100
    productseries integer,
14101
    distribution integer,
5529.1.3 by Stuart Bishop
New database schema baseline
14102
    distroseries integer,
3691.17.3 by Stuart Bishop
New database baseline
14103
    milestone integer,
4990.1.1 by Stuart Bishop
New database baseline
14104
    definition_status integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14105
    priority integer DEFAULT 5 NOT NULL,
14106
    specurl text,
14107
    whiteboard text,
14108
    superseded_by integer,
14109
    direction_approved boolean DEFAULT false NOT NULL,
14110
    man_days integer,
4990.1.1 by Stuart Bishop
New database baseline
14111
    implementation_status integer DEFAULT 0 NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14112
    goalstatus integer DEFAULT 30 NOT NULL,
14113
    fti ts2.tsvector,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14114
    goal_proposer integer,
14115
    date_goal_proposed timestamp without time zone,
14116
    goal_decider integer,
14117
    date_goal_decided timestamp without time zone,
14118
    completer integer,
14119
    date_completed timestamp without time zone,
14120
    starter integer,
14121
    date_started timestamp without time zone,
4990.1.1 by Stuart Bishop
New database baseline
14122
    private boolean DEFAULT false NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
14123
    CONSTRAINT distribution_and_distroseries CHECK (((distroseries IS NULL) OR (distribution IS NOT NULL))),
3691.17.3 by Stuart Bishop
New database baseline
14124
    CONSTRAINT product_and_productseries CHECK (((productseries IS NULL) OR (product IS NOT NULL))),
14125
    CONSTRAINT product_xor_distribution CHECK (((product IS NULL) <> (distribution IS NULL))),
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14126
    CONSTRAINT specification_completion_fully_recorded_chk CHECK (((date_completed IS NULL) = (completer IS NULL))),
4990.1.1 by Stuart Bishop
New database baseline
14127
    CONSTRAINT specification_completion_recorded_chk CHECK (((date_completed IS NULL) <> (((implementation_status = 90) OR (definition_status = ANY (ARRAY[60, 70]))) OR ((implementation_status = 95) AND (definition_status = 10))))),
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14128
    CONSTRAINT specification_decision_recorded CHECK (((goalstatus = 30) OR ((goal_decider IS NOT NULL) AND (date_goal_decided IS NOT NULL)))),
5529.1.3 by Stuart Bishop
New database schema baseline
14129
    CONSTRAINT specification_goal_nomination_chk CHECK ((((productseries IS NULL) AND (distroseries IS NULL)) OR ((goal_proposer IS NOT NULL) AND (date_goal_proposed IS NOT NULL)))),
3691.17.3 by Stuart Bishop
New database baseline
14130
    CONSTRAINT specification_not_self_superseding CHECK ((superseded_by <> id)),
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14131
    CONSTRAINT specification_start_fully_recorded_chk CHECK (((date_started IS NULL) = (starter IS NULL))),
4990.1.1 by Stuart Bishop
New database baseline
14132
    CONSTRAINT specification_start_recorded_chk CHECK (((date_started IS NULL) <> ((implementation_status <> ALL (ARRAY[0, 5, 10, 95])) OR ((implementation_status = 95) AND (definition_status = 10))))),
3691.17.3 by Stuart Bishop
New database baseline
14133
    CONSTRAINT valid_name CHECK (valid_name(name)),
14134
    CONSTRAINT valid_url CHECK (valid_absolute_url(specurl))
14135
);
14136
7675.1121.53 by Stuart Bishop
New baseline
14137
14138
COMMENT ON TABLE specification IS 'A feature specification. At the moment we do not store the actual specification, we store a URL for the spec, which is managed in a wiki somewhere else. We store the overall state of the spec, as well as queueing information about who needs to review the spec, and why.';
14139
14140
14141
COMMENT ON COLUMN specification.assignee IS 'The person who has been assigned to implement this specification.';
14142
14143
14144
COMMENT ON COLUMN specification.drafter IS 'The person who has been asked to draft this specification. They are responsible for getting the spec to "approved" state.';
14145
14146
14147
COMMENT ON COLUMN specification.approver IS 'The person who is responsible for approving the specification in due course, and who will probably be required to review the code itself when it is being implemented.';
14148
14149
14150
COMMENT ON COLUMN specification.product IS 'The product for which this is a feature specification. The specification must be connected either to a product, or to a distribution.';
14151
14152
14153
COMMENT ON COLUMN specification.productseries IS 'This is an indicator that the specification is planned, or targeted, for implementation in a given product series. It is not necessary to target a spec to a series, but it is a useful way of showing which specs are planned to implement for a given series.';
14154
14155
14156
COMMENT ON COLUMN specification.distribution IS 'The distribution for which this is a feature specification. The specification must be connected either to a product, or to a distribution.';
14157
14158
14159
COMMENT ON COLUMN specification.distroseries IS 'If this is not NULL, then it means that the release managers have targeted this feature to be released in the given distroseries. It is not necessary to target a distroseries, but this is a useful way of know which specifications are, for example, BreezyGoals.';
14160
14161
14162
COMMENT ON COLUMN specification.milestone IS 'This is an indicator that the feature defined in this specification is expected to be delivered for a given milestone. Note that milestones are not necessarily releases, they are a way of identifying a point in time and grouping bugs and features around that.';
14163
14164
14165
COMMENT ON COLUMN specification.definition_status IS 'An enum called SpecificationDefinitionStatus that shows what the current status (new, draft, implemented etc) the spec is currently in.';
14166
14167
14168
COMMENT ON COLUMN specification.priority IS 'An enum that gives the implementation priority (low, medium, high, emergency) of the feature defined in this specification.';
14169
14170
14171
COMMENT ON COLUMN specification.specurl IS 'The URL where the specification itself can be found. This is usually a wiki page somewhere.';
14172
14173
14174
COMMENT ON COLUMN specification.whiteboard IS 'As long as the specification is somewhere else (i.e. not in Launchpad) it will be useful to have a place to hold some arbitrary message or status flags that have meaning to the project, not Launchpad. This whiteboard is just the place for it.';
14175
14176
14177
COMMENT ON COLUMN specification.superseded_by IS 'The specification which replaced this specification.';
14178
14179
14180
COMMENT ON COLUMN specification.implementation_status IS 'The implementation status of this specification. This field is used to track the actual delivery of the feature (implementing the spec), as opposed to the definition of expected behaviour (writing the spec).';
14181
14182
14183
COMMENT ON COLUMN specification.goalstatus IS 'Whether or not the drivers for the goal product series or distro release have accepted this specification as a goal.';
14184
14185
14186
COMMENT ON COLUMN specification.goal_proposer IS 'The person who proposed this spec as a goal for the productseries or distroseries.';
14187
14188
14189
COMMENT ON COLUMN specification.date_goal_proposed IS 'The date the spec was proposed as a goal.';
14190
14191
14192
COMMENT ON COLUMN specification.goal_decider IS 'The person who approved or declined this goal.';
14193
14194
14195
COMMENT ON COLUMN specification.date_goal_decided IS 'The date this goal was accepted or declined.';
14196
14197
14198
COMMENT ON COLUMN specification.completer IS 'The person who changed the state of the spec in such a way that it was determined to be completed.';
14199
14200
14201
COMMENT ON COLUMN specification.date_completed IS 'The date this specification was completed or marked obsolete. This lets us chart the progress of a project (or a release) over time in terms of features implemented.';
14202
14203
14204
COMMENT ON COLUMN specification.private IS 'Specification is private.';
14205
14206
14207
COMMENT ON CONSTRAINT specification_completion_fully_recorded_chk ON specification IS 'A constraint that ensures, where we have a date_completed, that we also have a completer. This means that the resolution was fully recorded.';
14208
14209
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14210
CREATE SEQUENCE specification_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14211
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14212
    INCREMENT BY 1
14213
    NO MAXVALUE
14214
    NO MINVALUE
14215
    CACHE 1;
14216
7675.1121.53 by Stuart Bishop
New baseline
14217
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14218
ALTER SEQUENCE specification_id_seq OWNED BY specification.id;
14219
7675.1121.53 by Stuart Bishop
New baseline
14220
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14221
CREATE TABLE specificationbranch (
4212.1.1 by Stuart Bishop
New database baseline
14222
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14223
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14224
    specification integer NOT NULL,
14225
    branch integer NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
14226
    summary text,
14227
    registrant integer NOT NULL
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14228
);
14229
7675.1121.53 by Stuart Bishop
New baseline
14230
14231
COMMENT ON TABLE specificationbranch IS 'A branch related to a specification, most likely a branch for implementing the specification.  It is possible to have multiple branches for a given specification especially in the situation where the specification requires modifying multiple products.';
14232
14233
14234
COMMENT ON COLUMN specificationbranch.specification IS 'The specification associated with this branch.';
14235
14236
14237
COMMENT ON COLUMN specificationbranch.branch IS 'The branch associated to the specification.';
14238
14239
14240
COMMENT ON COLUMN specificationbranch.registrant IS 'The person who linked the specification to the branch.';
14241
14242
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14243
CREATE SEQUENCE specificationbranch_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14244
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14245
    INCREMENT BY 1
14246
    NO MAXVALUE
14247
    NO MINVALUE
14248
    CACHE 1;
14249
7675.1121.53 by Stuart Bishop
New baseline
14250
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14251
ALTER SEQUENCE specificationbranch_id_seq OWNED BY specificationbranch.id;
14252
7675.1121.53 by Stuart Bishop
New baseline
14253
3691.17.3 by Stuart Bishop
New database baseline
14254
CREATE TABLE specificationbug (
4212.1.1 by Stuart Bishop
New database baseline
14255
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14256
    specification integer NOT NULL,
14257
    bug integer NOT NULL
14258
);
14259
7675.1121.53 by Stuart Bishop
New baseline
14260
14261
COMMENT ON TABLE specificationbug IS 'A table linking a specification and a bug. This is used to provide for easy navigation from bugs to related specs, and vice versa.';
14262
14263
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14264
CREATE SEQUENCE specificationbug_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14265
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14266
    INCREMENT BY 1
14267
    NO MAXVALUE
14268
    NO MINVALUE
14269
    CACHE 1;
14270
7675.1121.53 by Stuart Bishop
New baseline
14271
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14272
ALTER SEQUENCE specificationbug_id_seq OWNED BY specificationbug.id;
14273
7675.1121.53 by Stuart Bishop
New baseline
14274
3691.17.3 by Stuart Bishop
New database baseline
14275
CREATE TABLE specificationdependency (
4212.1.1 by Stuart Bishop
New database baseline
14276
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14277
    specification integer NOT NULL,
14278
    dependency integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14279
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14280
    CONSTRAINT specificationdependency_not_self CHECK ((specification <> dependency))
14281
);
14282
7675.1121.53 by Stuart Bishop
New baseline
14283
14284
COMMENT ON TABLE specificationdependency IS 'A table that stores information about which specification needs to be implemented before another specification can be implemented. We can create a chain of dependencies, and use that information for scheduling and prioritisation of work.';
14285
14286
14287
COMMENT ON COLUMN specificationdependency.specification IS 'The spec for which we are creating a dependency.';
14288
14289
14290
COMMENT ON COLUMN specificationdependency.dependency IS 'The spec on which it is dependant.';
14291
14292
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14293
CREATE SEQUENCE specificationdependency_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14294
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14295
    INCREMENT BY 1
14296
    NO MAXVALUE
14297
    NO MINVALUE
14298
    CACHE 1;
14299
7675.1121.53 by Stuart Bishop
New baseline
14300
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14301
ALTER SEQUENCE specificationdependency_id_seq OWNED BY specificationdependency.id;
14302
7675.1121.53 by Stuart Bishop
New baseline
14303
3691.17.3 by Stuart Bishop
New database baseline
14304
CREATE TABLE specificationfeedback (
4212.1.1 by Stuart Bishop
New database baseline
14305
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14306
    specification integer NOT NULL,
14307
    reviewer integer NOT NULL,
14308
    requester integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14309
    queuemsg text,
14310
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
14311
);
14312
7675.1121.53 by Stuart Bishop
New baseline
14313
14314
COMMENT ON TABLE specificationfeedback IS 'A table representing a review request of a specification, from one user to another, with an optional message.';
14315
14316
14317
COMMENT ON COLUMN specificationfeedback.reviewer IS 'The person who has been asked to do the review.';
14318
14319
14320
COMMENT ON COLUMN specificationfeedback.requester IS 'The person who made the request.';
14321
14322
14323
COMMENT ON COLUMN specificationfeedback.queuemsg IS 'An optional text message for the reviewer, from the requester.';
14324
14325
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14326
CREATE SEQUENCE specificationfeedback_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14327
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14328
    INCREMENT BY 1
14329
    NO MAXVALUE
14330
    NO MINVALUE
14331
    CACHE 1;
14332
7675.1121.53 by Stuart Bishop
New baseline
14333
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14334
ALTER SEQUENCE specificationfeedback_id_seq OWNED BY specificationfeedback.id;
14335
7675.1121.53 by Stuart Bishop
New baseline
14336
4990.1.1 by Stuart Bishop
New database baseline
14337
CREATE TABLE specificationmessage (
14338
    id integer NOT NULL,
14339
    specification integer,
7675.395.118 by Stuart Bishop
New database baseline from production
14340
    message integer,
14341
    visible boolean DEFAULT true NOT NULL
4990.1.1 by Stuart Bishop
New database baseline
14342
);
14343
7675.1121.53 by Stuart Bishop
New baseline
14344
14345
COMMENT ON TABLE specificationmessage IS 'Comments and discussion on a Specification.';
14346
14347
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14348
CREATE SEQUENCE specificationmessage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14349
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14350
    INCREMENT BY 1
14351
    NO MAXVALUE
14352
    NO MINVALUE
14353
    CACHE 1;
14354
7675.1121.53 by Stuart Bishop
New baseline
14355
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14356
ALTER SEQUENCE specificationmessage_id_seq OWNED BY specificationmessage.id;
14357
7675.1121.53 by Stuart Bishop
New baseline
14358
3691.17.3 by Stuart Bishop
New database baseline
14359
CREATE TABLE specificationsubscription (
4212.1.1 by Stuart Bishop
New database baseline
14360
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14361
    specification integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14362
    person integer NOT NULL,
14363
    essential boolean DEFAULT false NOT NULL,
14364
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
14365
);
14366
7675.1121.53 by Stuart Bishop
New baseline
14367
14368
COMMENT ON TABLE specificationsubscription IS 'A table capturing a subscription of a person to a specification.';
14369
14370
14371
COMMENT ON COLUMN specificationsubscription.essential IS 'A field that indicates whether or not this person is essential to discussions on the planned feature. This is used by the meeting scheduler to ensure that all the essential people are at any automatically scheduled BOFs discussing that spec.';
14372
14373
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14374
CREATE SEQUENCE specificationsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14375
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14376
    INCREMENT BY 1
14377
    NO MAXVALUE
14378
    NO MINVALUE
14379
    CACHE 1;
14380
7675.1121.53 by Stuart Bishop
New baseline
14381
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14382
ALTER SEQUENCE specificationsubscription_id_seq OWNED BY specificationsubscription.id;
14383
7675.1121.53 by Stuart Bishop
New baseline
14384
3691.17.3 by Stuart Bishop
New database baseline
14385
CREATE TABLE spokenin (
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14386
    language integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14387
    country integer NOT NULL,
14388
    id integer DEFAULT nextval(('spokenin_id_seq'::text)::regclass) NOT NULL
14389
);
14390
7675.1121.53 by Stuart Bishop
New baseline
14391
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14392
CREATE SEQUENCE spokenin_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14393
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14394
    INCREMENT BY 1
14395
    NO MAXVALUE
14396
    NO MINVALUE
14397
    CACHE 1;
14398
7675.1121.53 by Stuart Bishop
New baseline
14399
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14400
ALTER SEQUENCE spokenin_id_seq OWNED BY spokenin.id;
14401
7675.1121.53 by Stuart Bishop
New baseline
14402
3691.17.3 by Stuart Bishop
New database baseline
14403
CREATE TABLE sprint (
4212.1.1 by Stuart Bishop
New database baseline
14404
    id integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14405
    owner integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14406
    name text NOT NULL,
14407
    title text NOT NULL,
14408
    summary text NOT NULL,
14409
    home_page text,
14410
    address text,
14411
    time_zone text NOT NULL,
14412
    time_starts timestamp without time zone NOT NULL,
14413
    time_ends timestamp without time zone NOT NULL,
14414
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14415
    driver integer,
14416
    homepage_content text,
4990.1.1 by Stuart Bishop
New database baseline
14417
    icon integer,
14418
    mugshot integer,
14419
    logo integer,
3691.17.3 by Stuart Bishop
New database baseline
14420
    CONSTRAINT sprint_starts_before_ends CHECK ((time_starts < time_ends))
14421
);
14422
7675.1121.53 by Stuart Bishop
New baseline
14423
14424
COMMENT ON TABLE sprint IS 'A meeting, sprint or conference. This is a convenient way to keep track of a collection of specs that will be discussed, and the people that will be attending.';
14425
14426
14427
COMMENT ON COLUMN sprint.time_zone IS 'The timezone of the sprint, stored in text format from the Olsen database names, like "US/Eastern".';
14428
14429
14430
COMMENT ON COLUMN sprint.driver IS 'The driver (together with the registrant or owner) is responsible for deciding which topics will be accepted onto the agenda of the sprint.';
14431
14432
14433
COMMENT ON COLUMN sprint.homepage_content IS 'A home page for this sprint in the Launchpad.';
14434
14435
14436
COMMENT ON COLUMN sprint.icon IS 'The library file alias to a small image to be used as an icon whenever we are referring to a sprint.';
14437
14438
14439
COMMENT ON COLUMN sprint.mugshot IS 'The library file alias of a mugshot image to display as the branding of a sprint, on its home page.';
14440
14441
14442
COMMENT ON COLUMN sprint.logo IS 'The library file alias of a smaller version of this sprint''s mugshot.';
14443
14444
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14445
CREATE SEQUENCE sprint_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14446
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14447
    INCREMENT BY 1
14448
    NO MAXVALUE
14449
    NO MINVALUE
14450
    CACHE 1;
14451
7675.1121.53 by Stuart Bishop
New baseline
14452
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14453
ALTER SEQUENCE sprint_id_seq OWNED BY sprint.id;
14454
7675.1121.53 by Stuart Bishop
New baseline
14455
3691.17.3 by Stuart Bishop
New database baseline
14456
CREATE TABLE sprintattendance (
4212.1.1 by Stuart Bishop
New database baseline
14457
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14458
    attendee integer NOT NULL,
14459
    sprint integer NOT NULL,
14460
    time_starts timestamp without time zone NOT NULL,
14461
    time_ends timestamp without time zone NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14462
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7675.395.118 by Stuart Bishop
New database baseline from production
14463
    is_physical boolean DEFAULT false NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14464
    CONSTRAINT sprintattendance_starts_before_ends CHECK ((time_starts < time_ends))
14465
);
14466
7675.1121.53 by Stuart Bishop
New baseline
14467
14468
COMMENT ON TABLE sprintattendance IS 'The record that someone will be attending a particular sprint or meeting.';
14469
14470
14471
COMMENT ON COLUMN sprintattendance.attendee IS 'The person attending the sprint.';
14472
14473
14474
COMMENT ON COLUMN sprintattendance.sprint IS 'The sprint the person is attending.';
14475
14476
14477
COMMENT ON COLUMN sprintattendance.time_starts IS 'The time from which the person will be available to participate in meetings at the sprint.';
14478
14479
14480
COMMENT ON COLUMN sprintattendance.time_ends IS 'The time of departure from the sprint or conference - this is the last time at which the person is available for meetings during the sprint.';
14481
14482
14483
COMMENT ON COLUMN sprintattendance.is_physical IS 'Is the person physically attending the sprint';
14484
14485
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14486
CREATE SEQUENCE sprintattendance_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14487
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14488
    INCREMENT BY 1
14489
    NO MAXVALUE
14490
    NO MINVALUE
14491
    CACHE 1;
14492
7675.1121.53 by Stuart Bishop
New baseline
14493
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14494
ALTER SEQUENCE sprintattendance_id_seq OWNED BY sprintattendance.id;
14495
7675.1121.53 by Stuart Bishop
New baseline
14496
3691.17.3 by Stuart Bishop
New database baseline
14497
CREATE TABLE sprintspecification (
4212.1.1 by Stuart Bishop
New database baseline
14498
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14499
    sprint integer NOT NULL,
14500
    specification integer NOT NULL,
14501
    status integer DEFAULT 30 NOT NULL,
14502
    whiteboard text,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14503
    registrant integer NOT NULL,
14504
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14505
    decider integer,
14506
    date_decided timestamp without time zone,
14507
    CONSTRAINT sprintspecification_decision_recorded CHECK (((status = 30) OR ((decider IS NOT NULL) AND (date_decided IS NOT NULL))))
3691.17.3 by Stuart Bishop
New database baseline
14508
);
14509
7675.1121.53 by Stuart Bishop
New baseline
14510
14511
COMMENT ON TABLE sprintspecification IS 'The link between a sprint and a specification, so that we know which specs are going to be discussed at which sprint.';
14512
14513
14514
COMMENT ON COLUMN sprintspecification.status IS 'Whether or not the spec has been approved on the agenda for this sprint.';
14515
14516
14517
COMMENT ON COLUMN sprintspecification.whiteboard IS 'A place to store comments specifically related to this spec being on the agenda of this meeting.';
14518
14519
14520
COMMENT ON COLUMN sprintspecification.registrant IS 'The person who nominated this specification for the agenda of the sprint.';
14521
14522
14523
COMMENT ON COLUMN sprintspecification.decider IS 'The person who approved or declined this specification for the sprint agenda.';
14524
14525
14526
COMMENT ON COLUMN sprintspecification.date_decided IS 'The date this specification was approved or declined for the agenda.';
14527
14528
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14529
CREATE SEQUENCE sprintspecification_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14530
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14531
    INCREMENT BY 1
14532
    NO MAXVALUE
14533
    NO MINVALUE
14534
    CACHE 1;
14535
7675.1121.53 by Stuart Bishop
New baseline
14536
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14537
ALTER SEQUENCE sprintspecification_id_seq OWNED BY sprintspecification.id;
14538
7675.1121.53 by Stuart Bishop
New baseline
14539
3691.17.3 by Stuart Bishop
New database baseline
14540
CREATE TABLE sshkey (
4212.1.1 by Stuart Bishop
New database baseline
14541
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14542
    person integer,
14543
    keytype integer NOT NULL,
14544
    keytext text NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14545
    comment text NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14546
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
14547
);
14548
7675.1121.53 by Stuart Bishop
New baseline
14549
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14550
CREATE SEQUENCE sshkey_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14551
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14552
    INCREMENT BY 1
14553
    NO MAXVALUE
14554
    NO MINVALUE
14555
    CACHE 1;
14556
7675.1121.53 by Stuart Bishop
New baseline
14557
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14558
ALTER SEQUENCE sshkey_id_seq OWNED BY sshkey.id;
14559
14560
5529.1.3 by Stuart Bishop
New database schema baseline
14561
CREATE TABLE structuralsubscription (
14562
    id integer NOT NULL,
14563
    product integer,
14564
    productseries integer,
14565
    project integer,
14566
    milestone integer,
14567
    distribution integer,
14568
    distroseries integer,
14569
    sourcepackagename integer,
14570
    subscriber integer NOT NULL,
14571
    subscribed_by integer NOT NULL,
14572
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14573
    date_last_updated timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14574
    CONSTRAINT one_target CHECK ((null_count(ARRAY[product, productseries, project, distroseries, distribution, milestone]) = 5)),
5529.1.3 by Stuart Bishop
New database schema baseline
14575
    CONSTRAINT sourcepackagename_requires_distribution CHECK (((sourcepackagename IS NULL) OR (distribution IS NOT NULL)))
14576
);
14577
7675.1121.53 by Stuart Bishop
New baseline
14578
14579
COMMENT ON TABLE structuralsubscription IS 'A subscription to notifications about a Launchpad structure';
14580
14581
14582
COMMENT ON COLUMN structuralsubscription.product IS 'The subscription`s target, when it is a product.';
14583
14584
14585
COMMENT ON COLUMN structuralsubscription.productseries IS 'The subscription`s target, when it is a product series.';
14586
14587
14588
COMMENT ON COLUMN structuralsubscription.project IS 'The subscription`s target, when it is a project.';
14589
14590
14591
COMMENT ON COLUMN structuralsubscription.milestone IS 'The subscription`s target, when it is a milestone.';
14592
14593
14594
COMMENT ON COLUMN structuralsubscription.distribution IS 'The subscription`s target, when it is a distribution.';
14595
14596
14597
COMMENT ON COLUMN structuralsubscription.distroseries IS 'The subscription`s target, when it is a distribution series.';
14598
14599
14600
COMMENT ON COLUMN structuralsubscription.sourcepackagename IS 'The subscription`s target, when it is a source-package';
14601
14602
14603
COMMENT ON COLUMN structuralsubscription.subscriber IS 'The person subscribed.';
14604
14605
14606
COMMENT ON COLUMN structuralsubscription.subscribed_by IS 'The person initiating the subscription.';
14607
14608
14609
COMMENT ON COLUMN structuralsubscription.date_created IS 'The date on which this subscription was created.';
14610
14611
14612
COMMENT ON COLUMN structuralsubscription.date_last_updated IS 'The date on which this subscription was last updated.';
14613
14614
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14615
CREATE SEQUENCE structuralsubscription_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14616
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14617
    INCREMENT BY 1
14618
    NO MAXVALUE
14619
    NO MINVALUE
14620
    CACHE 1;
14621
7675.1121.53 by Stuart Bishop
New baseline
14622
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14623
ALTER SEQUENCE structuralsubscription_id_seq OWNED BY structuralsubscription.id;
14624
7675.1121.53 by Stuart Bishop
New baseline
14625
14626
CREATE TABLE subunitstream (
14627
    id integer NOT NULL,
14628
    uploader integer NOT NULL,
14629
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14630
    branch integer NOT NULL,
14631
    stream integer NOT NULL
14632
);
14633
14634
14635
COMMENT ON TABLE subunitstream IS 'Raw gz compressed subunit streams.';
14636
14637
14638
COMMENT ON COLUMN subunitstream.uploader IS 'The account used to upload the stream.';
14639
14640
14641
COMMENT ON COLUMN subunitstream.date_created IS 'The date of the upload.';
14642
14643
14644
COMMENT ON COLUMN subunitstream.branch IS 'The branch which the stream was created on/for/with.';
14645
14646
14647
COMMENT ON COLUMN subunitstream.stream IS 'The library file alias which contains the stream content.';
14648
14649
14650
CREATE SEQUENCE subunitstream_id_seq
14651
    START WITH 1
14652
    INCREMENT BY 1
14653
    NO MAXVALUE
14654
    NO MINVALUE
14655
    CACHE 1;
14656
14657
14658
ALTER SEQUENCE subunitstream_id_seq OWNED BY subunitstream.id;
14659
14660
7675.395.118 by Stuart Bishop
New database baseline from production
14661
CREATE TABLE suggestivepotemplate (
14662
    potemplate integer NOT NULL
14663
);
14664
7675.1121.53 by Stuart Bishop
New baseline
14665
14666
COMMENT ON TABLE suggestivepotemplate IS 'Cache of POTemplates that can provide external translation suggestions.';
14667
14668
3691.17.3 by Stuart Bishop
New database baseline
14669
CREATE TABLE teammembership (
4212.1.1 by Stuart Bishop
New database baseline
14670
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14671
    person integer NOT NULL,
14672
    team integer NOT NULL,
14673
    status integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
14674
    date_joined timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone),
14675
    date_expires timestamp without time zone,
14676
    last_changed_by integer,
14677
    last_change_comment text,
14678
    proposed_by integer,
14679
    acknowledged_by integer,
14680
    reviewed_by integer,
14681
    date_proposed timestamp without time zone,
14682
    date_last_changed timestamp without time zone,
14683
    date_acknowledged timestamp without time zone,
14684
    date_reviewed timestamp without time zone,
14685
    proponent_comment text,
14686
    acknowledger_comment text,
14687
    reviewer_comment text,
14688
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
3691.17.3 by Stuart Bishop
New database baseline
14689
);
14690
7675.1121.53 by Stuart Bishop
New baseline
14691
14692
COMMENT ON TABLE teammembership IS 'The direct membership of a person on a given team.';
14693
14694
14695
COMMENT ON COLUMN teammembership.person IS 'The person.';
14696
14697
14698
COMMENT ON COLUMN teammembership.team IS 'The team.';
14699
14700
14701
COMMENT ON COLUMN teammembership.status IS 'The state of the membership.';
14702
14703
14704
COMMENT ON COLUMN teammembership.date_joined IS 'The date this membership was made active for the first time.';
14705
14706
14707
COMMENT ON COLUMN teammembership.date_expires IS 'The date this membership will expire, if any.';
14708
14709
14710
COMMENT ON COLUMN teammembership.last_changed_by IS 'The person who reviewed the last change to this membership.';
14711
14712
14713
COMMENT ON COLUMN teammembership.last_change_comment IS 'The comment left by the reviewer for the change.';
14714
14715
14716
COMMENT ON COLUMN teammembership.proposed_by IS 'The user who proposed the person as member of the team.';
14717
14718
14719
COMMENT ON COLUMN teammembership.acknowledged_by IS 'The member (or someone acting on his behalf) who accepts an invitation to join a team';
14720
14721
14722
COMMENT ON COLUMN teammembership.reviewed_by IS 'The team admin who reviewed (approved/declined) the membership.';
14723
14724
14725
COMMENT ON COLUMN teammembership.date_proposed IS 'The date of the proposal.';
14726
14727
14728
COMMENT ON COLUMN teammembership.date_last_changed IS 'The date this membership was last changed.';
14729
14730
14731
COMMENT ON COLUMN teammembership.date_acknowledged IS 'The date of acknowledgement.';
14732
14733
14734
COMMENT ON COLUMN teammembership.date_reviewed IS 'The date the membership was
14735
approved/declined.';
14736
14737
14738
COMMENT ON COLUMN teammembership.proponent_comment IS 'The comment left by the proponent.';
14739
14740
14741
COMMENT ON COLUMN teammembership.acknowledger_comment IS 'The comment left by the person who acknowledged the membership.';
14742
14743
14744
COMMENT ON COLUMN teammembership.reviewer_comment IS 'The comment left by the approver.';
14745
14746
14747
COMMENT ON COLUMN teammembership.date_created IS 'The date this membership was created.';
14748
14749
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14750
CREATE SEQUENCE teammembership_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14751
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14752
    INCREMENT BY 1
14753
    NO MAXVALUE
14754
    NO MINVALUE
14755
    CACHE 1;
14756
7675.1121.53 by Stuart Bishop
New baseline
14757
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14758
ALTER SEQUENCE teammembership_id_seq OWNED BY teammembership.id;
14759
7675.1121.53 by Stuart Bishop
New baseline
14760
3691.17.3 by Stuart Bishop
New database baseline
14761
CREATE TABLE teamparticipation (
4212.1.1 by Stuart Bishop
New database baseline
14762
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14763
    team integer NOT NULL,
14764
    person integer NOT NULL
14765
);
14766
7675.1121.53 by Stuart Bishop
New baseline
14767
14768
COMMENT ON TABLE teamparticipation IS 'The participation of a person on a team, which can be a direct or indirect membership.';
14769
14770
14771
COMMENT ON COLUMN teamparticipation.team IS 'The team.';
14772
14773
14774
COMMENT ON COLUMN teamparticipation.person IS 'The member.';
14775
14776
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14777
CREATE SEQUENCE teamparticipation_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14778
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14779
    INCREMENT BY 1
14780
    NO MAXVALUE
14781
    NO MINVALUE
14782
    CACHE 1;
14783
7675.1121.53 by Stuart Bishop
New baseline
14784
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14785
ALTER SEQUENCE teamparticipation_id_seq OWNED BY teamparticipation.id;
14786
7675.1121.53 by Stuart Bishop
New baseline
14787
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14788
CREATE TABLE temporaryblobstorage (
4212.1.1 by Stuart Bishop
New database baseline
14789
    id integer NOT NULL,
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
14790
    uuid text NOT NULL,
14791
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14792
    file_alias integer NOT NULL
14793
);
14794
7675.1121.53 by Stuart Bishop
New baseline
14795
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14796
CREATE SEQUENCE temporaryblobstorage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14797
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14798
    INCREMENT BY 1
14799
    NO MAXVALUE
14800
    NO MINVALUE
14801
    CACHE 1;
14802
7675.1121.53 by Stuart Bishop
New baseline
14803
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14804
ALTER SEQUENCE temporaryblobstorage_id_seq OWNED BY temporaryblobstorage.id;
14805
7675.1121.53 by Stuart Bishop
New baseline
14806
3691.17.3 by Stuart Bishop
New database baseline
14807
CREATE TABLE translationgroup (
4212.1.1 by Stuart Bishop
New database baseline
14808
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14809
    name text NOT NULL,
14810
    title text,
14811
    summary text,
14812
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14813
    owner integer NOT NULL,
14814
    translation_guide_url text
3691.17.3 by Stuart Bishop
New database baseline
14815
);
14816
7675.1121.53 by Stuart Bishop
New baseline
14817
14818
COMMENT ON TABLE translationgroup IS 'This represents an organised translation group that spans multiple languages. Effectively it consists of a list of people (pointers to Person), and each Person is associated with a Language. So, for each TranslationGroup we can ask the question "in this TranslationGroup, who is responsible for translating into Arabic?", for example.';
14819
14820
14821
COMMENT ON COLUMN translationgroup.translation_guide_url IS 'URL with documentation about general rules for translation work done by this translation group.';
14822
14823
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14824
CREATE SEQUENCE translationgroup_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14825
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14826
    INCREMENT BY 1
14827
    NO MAXVALUE
14828
    NO MINVALUE
14829
    CACHE 1;
14830
7675.1121.53 by Stuart Bishop
New baseline
14831
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14832
ALTER SEQUENCE translationgroup_id_seq OWNED BY translationgroup.id;
14833
7675.1121.53 by Stuart Bishop
New baseline
14834
3691.17.3 by Stuart Bishop
New database baseline
14835
CREATE TABLE translationimportqueueentry (
4212.1.1 by Stuart Bishop
New database baseline
14836
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14837
    path text NOT NULL,
14838
    content integer NOT NULL,
14839
    importer integer NOT NULL,
14840
    dateimported timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
5529.1.3 by Stuart Bishop
New database schema baseline
14841
    distroseries integer,
3691.17.3 by Stuart Bishop
New database baseline
14842
    sourcepackagename integer,
14843
    productseries integer,
7675.1121.53 by Stuart Bishop
New baseline
14844
    by_maintainer boolean NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
14845
    pofile integer,
14846
    potemplate integer,
14847
    status integer DEFAULT 5 NOT NULL,
14848
    date_status_changed timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
4212.1.1 by Stuart Bishop
New database baseline
14849
    format integer DEFAULT 1 NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14850
    error_output text,
5529.1.3 by Stuart Bishop
New database schema baseline
14851
    CONSTRAINT valid_link CHECK ((((productseries IS NULL) <> (distroseries IS NULL)) AND ((distroseries IS NULL) = (sourcepackagename IS NULL))))
3691.17.3 by Stuart Bishop
New database baseline
14852
);
14853
7675.1121.53 by Stuart Bishop
New baseline
14854
14855
COMMENT ON TABLE translationimportqueueentry IS 'Queue with translatable resources pending to be imported into Rosetta.';
14856
14857
14858
COMMENT ON COLUMN translationimportqueueentry.path IS 'The path (included the filename) where this file was stored when we imported it.';
14859
14860
14861
COMMENT ON COLUMN translationimportqueueentry.content IS 'The file content that is being imported.';
14862
14863
14864
COMMENT ON COLUMN translationimportqueueentry.importer IS 'The person that did the import.';
14865
14866
14867
COMMENT ON COLUMN translationimportqueueentry.dateimported IS 'The timestamp when the import was done.';
14868
14869
14870
COMMENT ON COLUMN translationimportqueueentry.distroseries IS 'The distribution release related to this import.';
14871
14872
14873
COMMENT ON COLUMN translationimportqueueentry.sourcepackagename IS 'The source package name related to this import.';
14874
14875
14876
COMMENT ON COLUMN translationimportqueueentry.productseries IS 'The product series related to this import.';
14877
14878
14879
COMMENT ON COLUMN translationimportqueueentry.by_maintainer IS 'Notes whether is a published upload.';
14880
14881
14882
COMMENT ON COLUMN translationimportqueueentry.pofile IS 'Link to the POFile where this import will end.';
14883
14884
14885
COMMENT ON COLUMN translationimportqueueentry.potemplate IS 'Link to the POTemplate where this import will end.';
14886
14887
14888
COMMENT ON COLUMN translationimportqueueentry.status IS 'The status of the import: 1 Approved, 2 Imported, 3 Deleted, 4 Failed, 5 Needs Review, 6 Blocked.';
14889
14890
14891
COMMENT ON COLUMN translationimportqueueentry.date_status_changed IS 'The date when the status of this entry was changed.';
14892
14893
14894
COMMENT ON COLUMN translationimportqueueentry.format IS 'The file format of the content that is being imported.';
14895
14896
14897
COMMENT ON COLUMN translationimportqueueentry.error_output IS 'Error output from last import attempt.';
14898
14899
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14900
CREATE SEQUENCE translationimportqueueentry_id_seq
7675.1121.53 by Stuart Bishop
New baseline
14901
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14902
    INCREMENT BY 1
14903
    NO MAXVALUE
14904
    NO MINVALUE
14905
    CACHE 1;
14906
7675.1121.53 by Stuart Bishop
New baseline
14907
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14908
ALTER SEQUENCE translationimportqueueentry_id_seq OWNED BY translationimportqueueentry.id;
14909
7675.1121.53 by Stuart Bishop
New baseline
14910
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14911
CREATE TABLE translationmessage (
14912
    id integer NOT NULL,
14913
    potmsgset integer NOT NULL,
14914
    date_created timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
14915
    submitter integer NOT NULL,
14916
    date_reviewed timestamp without time zone,
14917
    reviewer integer,
14918
    msgstr0 integer,
14919
    msgstr1 integer,
14920
    msgstr2 integer,
14921
    msgstr3 integer,
14922
    comment text,
14923
    origin integer NOT NULL,
14924
    validation_status integer DEFAULT 0 NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
14925
    is_current_ubuntu boolean DEFAULT false NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14926
    is_fuzzy boolean DEFAULT false NOT NULL,
7675.1121.53 by Stuart Bishop
New baseline
14927
    is_current_upstream boolean DEFAULT false NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
14928
    was_obsolete_in_last_import boolean DEFAULT false NOT NULL,
14929
    was_fuzzy_in_last_import boolean DEFAULT false NOT NULL,
14930
    msgstr4 integer,
14931
    msgstr5 integer,
14932
    potemplate integer,
14933
    language integer,
14934
    CONSTRAINT translationmessage__reviewer__date_reviewed__valid CHECK (((reviewer IS NULL) = (date_reviewed IS NULL)))
14935
);
14936
7675.1121.53 by Stuart Bishop
New baseline
14937
14938
COMMENT ON TABLE translationmessage IS 'This table stores a concrete
14939
translation for a POTMsgSet message. It knows who, when and where did it,
14940
and whether it was reviewed by someone and when was it reviewed.';
14941
14942
14943
COMMENT ON COLUMN translationmessage.potmsgset IS 'The template message which
14944
this translation message is a translation of.';
14945
14946
14947
COMMENT ON COLUMN translationmessage.date_created IS 'The date we saw this
14948
translation first.';
14949
14950
14951
COMMENT ON COLUMN translationmessage.submitter IS 'The person that made
14952
the submission through the web to Launchpad, or the last translator on the
14953
translation file that we are processing, or the person who uploaded that
14954
pofile to Launchpad. In short, our best guess as to the person who is
14955
contributing that translation.';
14956
14957
14958
COMMENT ON COLUMN translationmessage.date_reviewed IS 'The date when this
14959
message was reviewed for last time.';
14960
14961
14962
COMMENT ON COLUMN translationmessage.reviewer IS 'The person who did the
14963
review and accepted current translations.';
14964
14965
14966
COMMENT ON COLUMN translationmessage.msgstr0 IS 'Translation for plural form 0
14967
(if any).';
14968
14969
14970
COMMENT ON COLUMN translationmessage.msgstr1 IS 'Translation for plural form 1
14971
(if any).';
14972
14973
14974
COMMENT ON COLUMN translationmessage.msgstr2 IS 'Translation for plural form 2
14975
(if any).';
14976
14977
14978
COMMENT ON COLUMN translationmessage.msgstr3 IS 'Translation for plural form 3
14979
(if any).';
14980
14981
14982
COMMENT ON COLUMN translationmessage.comment IS 'Text of translator
14983
comment from the translation file.';
14984
14985
14986
COMMENT ON COLUMN translationmessage.origin IS 'The source of this
14987
translation. This indicates whether the translation was in a translation file
14988
that we parsed (probably one published in a package or branch or tarball), in
14989
which case its value will be 1, or was submitted through the web, in which
14990
case its value will be 2.';
14991
14992
14993
COMMENT ON COLUMN translationmessage.validation_status IS 'Whether we have
14994
validated this translation. Being 0 the value that says this row has not been
14995
validated yet, 1 the value that says it is correct and 2 the value noting that
14996
there was an unknown error with the validation.';
14997
14998
14999
COMMENT ON COLUMN translationmessage.is_current_ubuntu IS 'Whether this translation
15000
is being used in Launchpad.';
15001
15002
15003
COMMENT ON COLUMN translationmessage.is_fuzzy IS 'Whether this translation
15004
must be checked before use it.';
15005
15006
15007
COMMENT ON COLUMN translationmessage.is_current_upstream IS 'Whether this translation
15008
is being used in latest imported file.';
15009
15010
15011
COMMENT ON COLUMN translationmessage.was_obsolete_in_last_import IS 'Whether
15012
this translation was obsolete in last imported file.';
15013
15014
15015
COMMENT ON COLUMN translationmessage.was_fuzzy_in_last_import IS 'Whether this
15016
imported translation must be checked before use it.';
15017
15018
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15019
CREATE SEQUENCE translationmessage_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15020
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15021
    INCREMENT BY 1
15022
    NO MAXVALUE
15023
    NO MINVALUE
15024
    CACHE 1;
15025
7675.1121.53 by Stuart Bishop
New baseline
15026
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15027
ALTER SEQUENCE translationmessage_id_seq OWNED BY translationmessage.id;
15028
7675.1121.53 by Stuart Bishop
New baseline
15029
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15030
CREATE TABLE translationrelicensingagreement (
15031
    id integer NOT NULL,
15032
    person integer NOT NULL,
15033
    allow_relicensing boolean DEFAULT true NOT NULL,
15034
    date_decided timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL
15035
);
15036
7675.1121.53 by Stuart Bishop
New baseline
15037
15038
COMMENT ON TABLE translationrelicensingagreement IS 'Who of translation contributors wants their translations relicensed and who does not.';
15039
15040
15041
COMMENT ON COLUMN translationrelicensingagreement.person IS 'A translator which has submitted their answer.';
15042
15043
15044
COMMENT ON COLUMN translationrelicensingagreement.allow_relicensing IS 'Does this person want their translations relicensed under BSD.';
15045
15046
15047
COMMENT ON COLUMN translationrelicensingagreement.date_decided IS 'Date when the last change of opinion was registered.';
15048
15049
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15050
CREATE SEQUENCE translationrelicensingagreement_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15051
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15052
    INCREMENT BY 1
15053
    NO MAXVALUE
15054
    NO MINVALUE
15055
    CACHE 1;
15056
7675.1121.53 by Stuart Bishop
New baseline
15057
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15058
ALTER SEQUENCE translationrelicensingagreement_id_seq OWNED BY translationrelicensingagreement.id;
15059
7675.1121.53 by Stuart Bishop
New baseline
15060
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15061
CREATE SEQUENCE translationtemplateitem_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15062
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15063
    INCREMENT BY 1
15064
    NO MAXVALUE
15065
    NO MINVALUE
15066
    CACHE 1;
15067
7675.1121.53 by Stuart Bishop
New baseline
15068
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15069
ALTER SEQUENCE translationtemplateitem_id_seq OWNED BY translationtemplateitem.id;
5529.1.3 by Stuart Bishop
New database schema baseline
15070
7675.1121.53 by Stuart Bishop
New baseline
15071
15072
CREATE TABLE translationtemplatesbuild (
15073
    id integer NOT NULL,
15074
    build_farm_job integer NOT NULL,
15075
    branch integer NOT NULL
15076
);
15077
15078
15079
COMMENT ON TABLE translationtemplatesbuild IS 'Build-farm record of a translation templates build.';
15080
15081
15082
COMMENT ON COLUMN translationtemplatesbuild.build_farm_job IS 'Associated BuildFarmJob.';
15083
15084
15085
COMMENT ON COLUMN translationtemplatesbuild.branch IS 'Branch to build templates out of.';
15086
15087
15088
CREATE SEQUENCE translationtemplatesbuild_id_seq
15089
    START WITH 1
15090
    INCREMENT BY 1
15091
    NO MAXVALUE
15092
    NO MINVALUE
15093
    CACHE 1;
15094
15095
15096
ALTER SEQUENCE translationtemplatesbuild_id_seq OWNED BY translationtemplatesbuild.id;
15097
15098
3691.17.3 by Stuart Bishop
New database baseline
15099
CREATE TABLE translator (
4212.1.1 by Stuart Bishop
New database baseline
15100
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
15101
    translationgroup integer NOT NULL,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15102
    language integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
15103
    translator integer NOT NULL,
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15104
    datecreated timestamp without time zone DEFAULT timezone('UTC'::text, ('now'::text)::timestamp(6) with time zone) NOT NULL,
15105
    style_guide_url text
15106
);
15107
7675.1121.53 by Stuart Bishop
New baseline
15108
15109
COMMENT ON TABLE translator IS 'A translator is a person in a TranslationGroup who is responsible for a particular language. At the moment, there can only be one person in a TranslationGroup who is the Translator for a particular language. If you want multiple people, then create a launchpad team and assign that team to the language.';
15110
15111
15112
COMMENT ON COLUMN translator.translationgroup IS 'The TranslationGroup for which this Translator is working.';
15113
15114
15115
COMMENT ON COLUMN translator.language IS 'The language for which this Translator is responsible in this TranslationGroup. Note that the same person may be responsible for multiple languages, but any given language can only have one Translator within the TranslationGroup.';
15116
15117
15118
COMMENT ON COLUMN translator.translator IS 'The Person who is responsible for this language in this translation group.';
15119
15120
15121
COMMENT ON COLUMN translator.style_guide_url IS 'URL with translation style guide of a particular translation team.';
15122
15123
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15124
CREATE SEQUENCE translator_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15125
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15126
    INCREMENT BY 1
15127
    NO MAXVALUE
15128
    NO MINVALUE
15129
    CACHE 1;
15130
7675.1121.53 by Stuart Bishop
New baseline
15131
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15132
ALTER SEQUENCE translator_id_seq OWNED BY translator.id;
15133
7675.1121.53 by Stuart Bishop
New baseline
15134
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15135
CREATE TABLE usertouseremail (
15136
    id integer NOT NULL,
15137
    sender integer NOT NULL,
15138
    recipient integer NOT NULL,
15139
    date_sent timestamp without time zone DEFAULT timezone('UTC'::text, now()) NOT NULL,
15140
    subject text NOT NULL,
15141
    message_id text NOT NULL
15142
);
15143
7675.1121.53 by Stuart Bishop
New baseline
15144
15145
COMMENT ON TABLE usertouseremail IS 'A log of all direct user-to-user email contacts that have gone through Launchpad.';
15146
15147
15148
COMMENT ON COLUMN usertouseremail.sender IS 'The person sending this email.';
15149
15150
15151
COMMENT ON COLUMN usertouseremail.recipient IS 'The person receiving this email.';
15152
15153
15154
COMMENT ON COLUMN usertouseremail.date_sent IS 'The date the email was sent.';
15155
15156
15157
COMMENT ON COLUMN usertouseremail.subject IS 'The Subject: header.';
15158
15159
15160
COMMENT ON COLUMN usertouseremail.message_id IS 'The Message-ID: header.';
15161
15162
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15163
CREATE SEQUENCE usertouseremail_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15164
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15165
    INCREMENT BY 1
15166
    NO MAXVALUE
15167
    NO MINVALUE
15168
    CACHE 1;
15169
7675.1121.53 by Stuart Bishop
New baseline
15170
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15171
ALTER SEQUENCE usertouseremail_id_seq OWNED BY usertouseremail.id;
3691.17.3 by Stuart Bishop
New database baseline
15172
7675.1121.53 by Stuart Bishop
New baseline
15173
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15174
CREATE VIEW validpersoncache AS
15175
    SELECT emailaddress.person AS id FROM emailaddress, account WHERE ((((emailaddress.account = account.id) AND (emailaddress.person IS NOT NULL)) AND (emailaddress.status = 4)) AND (account.status = 20));
15176
7675.1121.53 by Stuart Bishop
New baseline
15177
15178
COMMENT ON VIEW validpersoncache IS 'A materialized view listing the Person.ids of all valid people (but not teams).';
15179
15180
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15181
CREATE VIEW validpersonorteamcache AS
7675.395.118 by Stuart Bishop
New database baseline from production
15182
    SELECT person.id FROM ((person LEFT JOIN emailaddress ON ((person.id = emailaddress.person))) LEFT JOIN account ON ((emailaddress.account = account.id))) WHERE (((person.teamowner IS NOT NULL) AND (person.merged IS NULL)) OR (((person.teamowner IS NULL) AND (account.status = 20)) AND (emailaddress.status = 4)));
3691.17.3 by Stuart Bishop
New database baseline
15183
7675.1121.53 by Stuart Bishop
New baseline
15184
3691.17.3 by Stuart Bishop
New database baseline
15185
CREATE TABLE vote (
4212.1.1 by Stuart Bishop
New database baseline
15186
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
15187
    person integer,
15188
    poll integer NOT NULL,
15189
    preference integer,
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15190
    option integer,
3691.17.3 by Stuart Bishop
New database baseline
15191
    token text NOT NULL
15192
);
15193
7675.1121.53 by Stuart Bishop
New baseline
15194
15195
COMMENT ON TABLE vote IS 'The table where we store the actual votes of people.  It may or may not have a reference to the person who voted, depending on the poll''s secrecy.';
15196
15197
15198
COMMENT ON COLUMN vote.person IS 'The person who voted. It''s NULL for secret polls.';
15199
15200
15201
COMMENT ON COLUMN vote.poll IS 'The poll for which this vote applies.';
15202
15203
15204
COMMENT ON COLUMN vote.preference IS 'Used to identify in what order the options were chosen by a given user (in case of preferential voting).';
15205
15206
15207
COMMENT ON COLUMN vote.option IS 'The choosen option.';
15208
15209
15210
COMMENT ON COLUMN vote.token IS 'A unique token that''s give to the user so he can change his vote later.';
15211
15212
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15213
CREATE SEQUENCE vote_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15214
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15215
    INCREMENT BY 1
15216
    NO MAXVALUE
15217
    NO MINVALUE
15218
    CACHE 1;
15219
7675.1121.53 by Stuart Bishop
New baseline
15220
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15221
ALTER SEQUENCE vote_id_seq OWNED BY vote.id;
15222
7675.1121.53 by Stuart Bishop
New baseline
15223
3691.17.3 by Stuart Bishop
New database baseline
15224
CREATE TABLE votecast (
4212.1.1 by Stuart Bishop
New database baseline
15225
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
15226
    person integer NOT NULL,
15227
    poll integer NOT NULL
15228
);
15229
7675.1121.53 by Stuart Bishop
New baseline
15230
15231
COMMENT ON TABLE votecast IS 'Here we store who has already voted in a poll, to ensure they do not vote again, and potentially to notify people that they may still vote.';
15232
15233
15234
COMMENT ON COLUMN votecast.person IS 'The person who voted.';
15235
15236
15237
COMMENT ON COLUMN votecast.poll IS 'The poll in which this person voted.';
15238
15239
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15240
CREATE SEQUENCE votecast_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15241
    START WITH 1
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15242
    INCREMENT BY 1
15243
    NO MAXVALUE
15244
    NO MINVALUE
15245
    CACHE 1;
15246
7675.1121.53 by Stuart Bishop
New baseline
15247
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15248
ALTER SEQUENCE votecast_id_seq OWNED BY votecast.id;
15249
15250
3691.17.3 by Stuart Bishop
New database baseline
15251
CREATE TABLE wikiname (
4212.1.1 by Stuart Bishop
New database baseline
15252
    id integer NOT NULL,
3691.17.3 by Stuart Bishop
New database baseline
15253
    person integer NOT NULL,
15254
    wiki text NOT NULL,
15255
    wikiname text NOT NULL
15256
);
15257
7675.1121.53 by Stuart Bishop
New baseline
15258
4212.1.1 by Stuart Bishop
New database baseline
15259
CREATE SEQUENCE wikiname_id_seq
7675.1121.53 by Stuart Bishop
New baseline
15260
    START WITH 1
4212.1.1 by Stuart Bishop
New database baseline
15261
    INCREMENT BY 1
15262
    NO MAXVALUE
15263
    NO MINVALUE
15264
    CACHE 1;
15265
7675.1121.53 by Stuart Bishop
New baseline
15266
4212.1.1 by Stuart Bishop
New database baseline
15267
ALTER SEQUENCE wikiname_id_seq OWNED BY wikiname.id;
15268
7675.1121.53 by Stuart Bishop
New baseline
15269
15270
ALTER TABLE accesspolicy ALTER COLUMN id SET DEFAULT nextval('accesspolicy_id_seq'::regclass);
15271
15272
15273
ALTER TABLE accesspolicyartifact ALTER COLUMN id SET DEFAULT nextval('accesspolicyartifact_id_seq'::regclass);
15274
15275
15276
ALTER TABLE accesspolicygrant ALTER COLUMN id SET DEFAULT nextval('accesspolicygrant_id_seq'::regclass);
15277
15278
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15279
ALTER TABLE account ALTER COLUMN id SET DEFAULT nextval('account_id_seq'::regclass);
15280
7675.1121.53 by Stuart Bishop
New baseline
15281
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15282
ALTER TABLE accountpassword ALTER COLUMN id SET DEFAULT nextval('accountpassword_id_seq'::regclass);
15283
7675.1121.53 by Stuart Bishop
New baseline
15284
5529.1.3 by Stuart Bishop
New database schema baseline
15285
ALTER TABLE announcement ALTER COLUMN id SET DEFAULT nextval('announcement_id_seq'::regclass);
15286
7675.1121.53 by Stuart Bishop
New baseline
15287
4212.1.1 by Stuart Bishop
New database baseline
15288
ALTER TABLE answercontact ALTER COLUMN id SET DEFAULT nextval('answercontact_id_seq'::regclass);
15289
7675.1121.53 by Stuart Bishop
New baseline
15290
7675.395.118 by Stuart Bishop
New database baseline from production
15291
ALTER TABLE apportjob ALTER COLUMN id SET DEFAULT nextval('apportjob_id_seq'::regclass);
15292
7675.1121.53 by Stuart Bishop
New baseline
15293
4990.1.1 by Stuart Bishop
New database baseline
15294
ALTER TABLE archive ALTER COLUMN id SET DEFAULT nextval('archive_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15295
7675.1121.53 by Stuart Bishop
New baseline
15296
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15297
ALTER TABLE archivearch ALTER COLUMN id SET DEFAULT nextval('archivearch_id_seq'::regclass);
15298
7675.1121.53 by Stuart Bishop
New baseline
15299
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15300
ALTER TABLE archiveauthtoken ALTER COLUMN id SET DEFAULT nextval('archiveauthtoken_id_seq'::regclass);
15301
7675.1121.53 by Stuart Bishop
New baseline
15302
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15303
ALTER TABLE archivedependency ALTER COLUMN id SET DEFAULT nextval('archivedependency_id_seq'::regclass);
15304
7675.1121.53 by Stuart Bishop
New baseline
15305
7675.395.118 by Stuart Bishop
New database baseline from production
15306
ALTER TABLE archivejob ALTER COLUMN id SET DEFAULT nextval('archivejob_id_seq'::regclass);
15307
7675.1121.53 by Stuart Bishop
New baseline
15308
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15309
ALTER TABLE archivepermission ALTER COLUMN id SET DEFAULT nextval('archivepermission_id_seq'::regclass);
15310
7675.1121.53 by Stuart Bishop
New baseline
15311
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15312
ALTER TABLE archivesubscriber ALTER COLUMN id SET DEFAULT nextval('archivesubscriber_id_seq'::regclass);
15313
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15314
7675.395.118 by Stuart Bishop
New database baseline from production
15315
ALTER TABLE binarypackagebuild ALTER COLUMN id SET DEFAULT nextval('binarypackagebuild_id_seq'::regclass);
15316
7675.1121.53 by Stuart Bishop
New baseline
15317
4212.1.1 by Stuart Bishop
New database baseline
15318
ALTER TABLE binarypackagename ALTER COLUMN id SET DEFAULT nextval('binarypackagename_id_seq'::regclass);
15319
7675.1121.53 by Stuart Bishop
New baseline
15320
15321
ALTER TABLE binarypackagepath ALTER COLUMN id SET DEFAULT nextval('binarypackagepath_id_seq'::regclass);
15322
15323
7675.395.118 by Stuart Bishop
New database baseline from production
15324
ALTER TABLE binarypackagepublishinghistory ALTER COLUMN id SET DEFAULT nextval('binarypackagepublishinghistory_id_seq'::regclass);
15325
7675.1121.53 by Stuart Bishop
New baseline
15326
4212.1.1 by Stuart Bishop
New database baseline
15327
ALTER TABLE binarypackagerelease ALTER COLUMN id SET DEFAULT nextval('binarypackagerelease_id_seq'::regclass);
15328
7675.1121.53 by Stuart Bishop
New baseline
15329
7675.395.118 by Stuart Bishop
New database baseline from production
15330
ALTER TABLE binarypackagereleasedownloadcount ALTER COLUMN id SET DEFAULT nextval('binarypackagereleasedownloadcount_id_seq'::regclass);
15331
4212.1.1 by Stuart Bishop
New database baseline
15332
15333
ALTER TABLE branch ALTER COLUMN id SET DEFAULT nextval('branch_id_seq'::regclass);
15334
7675.1121.53 by Stuart Bishop
New baseline
15335
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15336
ALTER TABLE branchjob ALTER COLUMN id SET DEFAULT nextval('branchjob_id_seq'::regclass);
15337
7675.1121.53 by Stuart Bishop
New baseline
15338
4990.1.1 by Stuart Bishop
New database baseline
15339
ALTER TABLE branchmergeproposal ALTER COLUMN id SET DEFAULT nextval('branchmergeproposal_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15340
7675.1121.53 by Stuart Bishop
New baseline
15341
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15342
ALTER TABLE branchmergeproposaljob ALTER COLUMN id SET DEFAULT nextval('branchmergeproposaljob_id_seq'::regclass);
15343
7675.1121.53 by Stuart Bishop
New baseline
15344
15345
ALTER TABLE branchmergequeue ALTER COLUMN id SET DEFAULT nextval('branchmergequeue_id_seq'::regclass);
15346
4212.1.1 by Stuart Bishop
New database baseline
15347
15348
ALTER TABLE branchsubscription ALTER COLUMN id SET DEFAULT nextval('branchsubscription_id_seq'::regclass);
15349
7675.1121.53 by Stuart Bishop
New baseline
15350
4990.1.1 by Stuart Bishop
New database baseline
15351
ALTER TABLE branchvisibilitypolicy ALTER COLUMN id SET DEFAULT nextval('branchvisibilitypolicy_id_seq'::regclass);
15352
7675.1121.53 by Stuart Bishop
New baseline
15353
4212.1.1 by Stuart Bishop
New database baseline
15354
ALTER TABLE bug ALTER COLUMN id SET DEFAULT nextval('bug_id_seq'::regclass);
15355
7675.1121.53 by Stuart Bishop
New baseline
15356
4212.1.1 by Stuart Bishop
New database baseline
15357
ALTER TABLE bugactivity ALTER COLUMN id SET DEFAULT nextval('bugactivity_id_seq'::regclass);
15358
7675.1121.53 by Stuart Bishop
New baseline
15359
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15360
ALTER TABLE bugaffectsperson ALTER COLUMN id SET DEFAULT nextval('bugaffectsperson_id_seq'::regclass);
15361
7675.1121.53 by Stuart Bishop
New baseline
15362
4212.1.1 by Stuart Bishop
New database baseline
15363
ALTER TABLE bugattachment ALTER COLUMN id SET DEFAULT nextval('bugattachment_id_seq'::regclass);
15364
7675.1121.53 by Stuart Bishop
New baseline
15365
4212.1.1 by Stuart Bishop
New database baseline
15366
ALTER TABLE bugbranch ALTER COLUMN id SET DEFAULT nextval('bugbranch_id_seq'::regclass);
15367
7675.1121.53 by Stuart Bishop
New baseline
15368
4212.1.1 by Stuart Bishop
New database baseline
15369
ALTER TABLE bugcve ALTER COLUMN id SET DEFAULT nextval('bugcve_id_seq'::regclass);
15370
7675.1121.53 by Stuart Bishop
New baseline
15371
7675.395.118 by Stuart Bishop
New database baseline from production
15372
ALTER TABLE bugjob ALTER COLUMN id SET DEFAULT nextval('bugjob_id_seq'::regclass);
15373
7675.1121.53 by Stuart Bishop
New baseline
15374
4212.1.1 by Stuart Bishop
New database baseline
15375
ALTER TABLE bugmessage ALTER COLUMN id SET DEFAULT nextval('bugmessage_id_seq'::regclass);
15376
7675.1121.53 by Stuart Bishop
New baseline
15377
4212.1.1 by Stuart Bishop
New database baseline
15378
ALTER TABLE bugnomination ALTER COLUMN id SET DEFAULT nextval('bugnomination_id_seq'::regclass);
15379
7675.1121.53 by Stuart Bishop
New baseline
15380
4212.1.1 by Stuart Bishop
New database baseline
15381
ALTER TABLE bugnotification ALTER COLUMN id SET DEFAULT nextval('bugnotification_id_seq'::regclass);
15382
7675.1121.53 by Stuart Bishop
New baseline
15383
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15384
ALTER TABLE bugnotificationattachment ALTER COLUMN id SET DEFAULT nextval('bugnotificationattachment_id_seq'::regclass);
15385
7675.1121.53 by Stuart Bishop
New baseline
15386
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15387
ALTER TABLE bugnotificationrecipient ALTER COLUMN id SET DEFAULT nextval('bugnotificationrecipient_id_seq'::regclass);
15388
4212.1.1 by Stuart Bishop
New database baseline
15389
15390
ALTER TABLE bugsubscription ALTER COLUMN id SET DEFAULT nextval('bugsubscription_id_seq'::regclass);
15391
7675.1121.53 by Stuart Bishop
New baseline
15392
15393
ALTER TABLE bugsubscriptionfilter ALTER COLUMN id SET DEFAULT nextval('bugsubscriptionfilter_id_seq'::regclass);
15394
15395
15396
ALTER TABLE bugsubscriptionfilterimportance ALTER COLUMN id SET DEFAULT nextval('bugsubscriptionfilterimportance_id_seq'::regclass);
15397
15398
15399
ALTER TABLE bugsubscriptionfilterstatus ALTER COLUMN id SET DEFAULT nextval('bugsubscriptionfilterstatus_id_seq'::regclass);
15400
15401
15402
ALTER TABLE bugsubscriptionfiltertag ALTER COLUMN id SET DEFAULT nextval('bugsubscriptionfiltertag_id_seq'::regclass);
15403
15404
15405
ALTER TABLE bugsummary ALTER COLUMN id SET DEFAULT nextval('bugsummary_id_seq'::regclass);
15406
15407
15408
ALTER TABLE bugsummaryjournal ALTER COLUMN id SET DEFAULT nextval('bugsummaryjournal_id_seq'::regclass);
15409
15410
4212.1.1 by Stuart Bishop
New database baseline
15411
ALTER TABLE bugtag ALTER COLUMN id SET DEFAULT nextval('bugtag_id_seq'::regclass);
15412
7675.1121.53 by Stuart Bishop
New baseline
15413
4212.1.1 by Stuart Bishop
New database baseline
15414
ALTER TABLE bugtask ALTER COLUMN id SET DEFAULT nextval('bugtask_id_seq'::regclass);
15415
7675.1121.53 by Stuart Bishop
New baseline
15416
4212.1.1 by Stuart Bishop
New database baseline
15417
ALTER TABLE bugtracker ALTER COLUMN id SET DEFAULT nextval('bugtracker_id_seq'::regclass);
15418
7675.1121.53 by Stuart Bishop
New baseline
15419
5529.1.3 by Stuart Bishop
New database schema baseline
15420
ALTER TABLE bugtrackeralias ALTER COLUMN id SET DEFAULT nextval('bugtrackeralias_id_seq'::regclass);
15421
7675.1121.53 by Stuart Bishop
New baseline
15422
15423
ALTER TABLE bugtrackercomponent ALTER COLUMN id SET DEFAULT nextval('bugtrackercomponent_id_seq'::regclass);
15424
15425
15426
ALTER TABLE bugtrackercomponentgroup ALTER COLUMN id SET DEFAULT nextval('bugtrackercomponentgroup_id_seq'::regclass);
15427
15428
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15429
ALTER TABLE bugtrackerperson ALTER COLUMN id SET DEFAULT nextval('bugtrackerperson_id_seq'::regclass);
15430
7675.1121.53 by Stuart Bishop
New baseline
15431
4212.1.1 by Stuart Bishop
New database baseline
15432
ALTER TABLE bugwatch ALTER COLUMN id SET DEFAULT nextval('bugwatch_id_seq'::regclass);
15433
7675.1121.53 by Stuart Bishop
New baseline
15434
7675.395.118 by Stuart Bishop
New database baseline from production
15435
ALTER TABLE bugwatchactivity ALTER COLUMN id SET DEFAULT nextval('bugwatchactivity_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15436
7675.1121.53 by Stuart Bishop
New baseline
15437
4212.1.1 by Stuart Bishop
New database baseline
15438
ALTER TABLE builder ALTER COLUMN id SET DEFAULT nextval('builder_id_seq'::regclass);
15439
7675.1121.53 by Stuart Bishop
New baseline
15440
7675.395.118 by Stuart Bishop
New database baseline from production
15441
ALTER TABLE buildfarmjob ALTER COLUMN id SET DEFAULT nextval('buildfarmjob_id_seq'::regclass);
15442
7675.1121.53 by Stuart Bishop
New baseline
15443
7675.395.118 by Stuart Bishop
New database baseline from production
15444
ALTER TABLE buildpackagejob ALTER COLUMN id SET DEFAULT nextval('buildpackagejob_id_seq'::regclass);
15445
7675.1121.53 by Stuart Bishop
New baseline
15446
4212.1.1 by Stuart Bishop
New database baseline
15447
ALTER TABLE buildqueue ALTER COLUMN id SET DEFAULT nextval('buildqueue_id_seq'::regclass);
15448
7675.1121.53 by Stuart Bishop
New baseline
15449
4990.1.1 by Stuart Bishop
New database baseline
15450
ALTER TABLE codeimport ALTER COLUMN id SET DEFAULT nextval('codeimport_id_seq'::regclass);
15451
7675.1121.53 by Stuart Bishop
New baseline
15452
4990.1.1 by Stuart Bishop
New database baseline
15453
ALTER TABLE codeimportevent ALTER COLUMN id SET DEFAULT nextval('codeimportevent_id_seq'::regclass);
15454
7675.1121.53 by Stuart Bishop
New baseline
15455
4990.1.1 by Stuart Bishop
New database baseline
15456
ALTER TABLE codeimporteventdata ALTER COLUMN id SET DEFAULT nextval('codeimporteventdata_id_seq'::regclass);
15457
7675.1121.53 by Stuart Bishop
New baseline
15458
4990.1.1 by Stuart Bishop
New database baseline
15459
ALTER TABLE codeimportjob ALTER COLUMN id SET DEFAULT nextval('codeimportjob_id_seq'::regclass);
15460
7675.1121.53 by Stuart Bishop
New baseline
15461
4990.1.1 by Stuart Bishop
New database baseline
15462
ALTER TABLE codeimportmachine ALTER COLUMN id SET DEFAULT nextval('codeimportmachine_id_seq'::regclass);
15463
7675.1121.53 by Stuart Bishop
New baseline
15464
4990.1.1 by Stuart Bishop
New database baseline
15465
ALTER TABLE codeimportresult ALTER COLUMN id SET DEFAULT nextval('codeimportresult_id_seq'::regclass);
15466
7675.1121.53 by Stuart Bishop
New baseline
15467
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15468
ALTER TABLE codereviewmessage ALTER COLUMN id SET DEFAULT nextval('codereviewmessage_id_seq'::regclass);
15469
7675.1121.53 by Stuart Bishop
New baseline
15470
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15471
ALTER TABLE codereviewvote ALTER COLUMN id SET DEFAULT nextval('codereviewvote_id_seq'::regclass);
15472
7675.1121.53 by Stuart Bishop
New baseline
15473
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15474
ALTER TABLE commercialsubscription ALTER COLUMN id SET DEFAULT nextval('commercialsubscription_id_seq'::regclass);
15475
7675.1121.53 by Stuart Bishop
New baseline
15476
4212.1.1 by Stuart Bishop
New database baseline
15477
ALTER TABLE component ALTER COLUMN id SET DEFAULT nextval('component_id_seq'::regclass);
15478
7675.1121.53 by Stuart Bishop
New baseline
15479
4212.1.1 by Stuart Bishop
New database baseline
15480
ALTER TABLE componentselection ALTER COLUMN id SET DEFAULT nextval('componentselection_id_seq'::regclass);
15481
7675.1121.53 by Stuart Bishop
New baseline
15482
4212.1.1 by Stuart Bishop
New database baseline
15483
ALTER TABLE continent ALTER COLUMN id SET DEFAULT nextval('continent_id_seq'::regclass);
15484
7675.1121.53 by Stuart Bishop
New baseline
15485
4212.1.1 by Stuart Bishop
New database baseline
15486
ALTER TABLE country ALTER COLUMN id SET DEFAULT nextval('country_id_seq'::regclass);
15487
7675.1121.53 by Stuart Bishop
New baseline
15488
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15489
ALTER TABLE customlanguagecode ALTER COLUMN id SET DEFAULT nextval('customlanguagecode_id_seq'::regclass);
15490
7675.1121.53 by Stuart Bishop
New baseline
15491
4212.1.1 by Stuart Bishop
New database baseline
15492
ALTER TABLE cve ALTER COLUMN id SET DEFAULT nextval('cve_id_seq'::regclass);
15493
7675.1121.53 by Stuart Bishop
New baseline
15494
4212.1.1 by Stuart Bishop
New database baseline
15495
ALTER TABLE cvereference ALTER COLUMN id SET DEFAULT nextval('cvereference_id_seq'::regclass);
15496
7675.1121.53 by Stuart Bishop
New baseline
15497
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15498
ALTER TABLE diff ALTER COLUMN id SET DEFAULT nextval('diff_id_seq'::regclass);
15499
7675.1121.53 by Stuart Bishop
New baseline
15500
4212.1.1 by Stuart Bishop
New database baseline
15501
ALTER TABLE distribution ALTER COLUMN id SET DEFAULT nextval('distribution_id_seq'::regclass);
15502
7675.1121.53 by Stuart Bishop
New baseline
15503
15504
ALTER TABLE distributionjob ALTER COLUMN id SET DEFAULT nextval('distributionjob_id_seq'::regclass);
15505
4212.1.1 by Stuart Bishop
New database baseline
15506
15507
ALTER TABLE distributionmirror ALTER COLUMN id SET DEFAULT nextval('distributionmirror_id_seq'::regclass);
15508
7675.1121.53 by Stuart Bishop
New baseline
15509
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15510
ALTER TABLE distributionsourcepackage ALTER COLUMN id SET DEFAULT nextval('distributionsourcepackage_id_seq'::regclass);
15511
7675.1121.53 by Stuart Bishop
New baseline
15512
4212.1.1 by Stuart Bishop
New database baseline
15513
ALTER TABLE distributionsourcepackagecache ALTER COLUMN id SET DEFAULT nextval('distributionsourcepackagecache_id_seq'::regclass);
15514
7675.1121.53 by Stuart Bishop
New baseline
15515
5529.1.3 by Stuart Bishop
New database schema baseline
15516
ALTER TABLE distroarchseries ALTER COLUMN id SET DEFAULT nextval('distroarchseries_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15517
15518
5529.1.3 by Stuart Bishop
New database schema baseline
15519
ALTER TABLE distroseries ALTER COLUMN id SET DEFAULT nextval('distroseries_id_seq'::regclass);
15520
7675.1121.53 by Stuart Bishop
New baseline
15521
15522
ALTER TABLE distroseriesdifference ALTER COLUMN id SET DEFAULT nextval('distroseriesdifference_id_seq'::regclass);
15523
15524
15525
ALTER TABLE distroseriesdifferencemessage ALTER COLUMN id SET DEFAULT nextval('distroseriesdifferencemessage_id_seq'::regclass);
15526
15527
5529.1.3 by Stuart Bishop
New database schema baseline
15528
ALTER TABLE distroserieslanguage ALTER COLUMN id SET DEFAULT nextval('distroserieslanguage_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15529
7675.1121.53 by Stuart Bishop
New baseline
15530
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15531
ALTER TABLE distroseriespackagecache ALTER COLUMN id SET DEFAULT nextval('distroseriespackagecache_id_seq'::regclass);
15532
7675.1121.53 by Stuart Bishop
New baseline
15533
15534
ALTER TABLE distroseriesparent ALTER COLUMN id SET DEFAULT nextval('distroseriesparent_id_seq'::regclass);
15535
15536
4212.1.1 by Stuart Bishop
New database baseline
15537
ALTER TABLE emailaddress ALTER COLUMN id SET DEFAULT nextval('emailaddress_id_seq'::regclass);
15538
7675.1121.53 by Stuart Bishop
New baseline
15539
4990.1.1 by Stuart Bishop
New database baseline
15540
ALTER TABLE entitlement ALTER COLUMN id SET DEFAULT nextval('entitlement_id_seq'::regclass);
15541
7675.1121.53 by Stuart Bishop
New baseline
15542
4990.1.1 by Stuart Bishop
New database baseline
15543
ALTER TABLE faq ALTER COLUMN id SET DEFAULT nextval('faq_id_seq'::regclass);
15544
7675.1121.53 by Stuart Bishop
New baseline
15545
5529.1.3 by Stuart Bishop
New database schema baseline
15546
ALTER TABLE featuredproject ALTER COLUMN id SET DEFAULT nextval('featuredproject_id_seq'::regclass);
15547
7675.1121.53 by Stuart Bishop
New baseline
15548
15549
ALTER TABLE featureflagchangelogentry ALTER COLUMN id SET DEFAULT nextval('featureflagchangelogentry_id_seq'::regclass);
15550
15551
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15552
ALTER TABLE flatpackagesetinclusion ALTER COLUMN id SET DEFAULT nextval('flatpackagesetinclusion_id_seq'::regclass);
15553
7675.1121.53 by Stuart Bishop
New baseline
15554
4212.1.1 by Stuart Bishop
New database baseline
15555
ALTER TABLE fticache ALTER COLUMN id SET DEFAULT nextval('fticache_id_seq'::regclass);
15556
7675.1121.53 by Stuart Bishop
New baseline
15557
4212.1.1 by Stuart Bishop
New database baseline
15558
ALTER TABLE gpgkey ALTER COLUMN id SET DEFAULT nextval('gpgkey_id_seq'::regclass);
15559
7675.1121.53 by Stuart Bishop
New baseline
15560
5529.1.3 by Stuart Bishop
New database schema baseline
15561
ALTER TABLE hwdevice ALTER COLUMN id SET DEFAULT nextval('hwdevice_id_seq'::regclass);
15562
7675.1121.53 by Stuart Bishop
New baseline
15563
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15564
ALTER TABLE hwdeviceclass ALTER COLUMN id SET DEFAULT nextval('hwdeviceclass_id_seq'::regclass);
15565
7675.1121.53 by Stuart Bishop
New baseline
15566
5529.1.3 by Stuart Bishop
New database schema baseline
15567
ALTER TABLE hwdevicedriverlink ALTER COLUMN id SET DEFAULT nextval('hwdevicedriverlink_id_seq'::regclass);
15568
7675.1121.53 by Stuart Bishop
New baseline
15569
5529.1.3 by Stuart Bishop
New database schema baseline
15570
ALTER TABLE hwdevicenamevariant ALTER COLUMN id SET DEFAULT nextval('hwdevicenamevariant_id_seq'::regclass);
15571
7675.1121.53 by Stuart Bishop
New baseline
15572
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15573
ALTER TABLE hwdmihandle ALTER COLUMN id SET DEFAULT nextval('hwdmihandle_id_seq'::regclass);
15574
7675.1121.53 by Stuart Bishop
New baseline
15575
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15576
ALTER TABLE hwdmivalue ALTER COLUMN id SET DEFAULT nextval('hwdmivalue_id_seq'::regclass);
15577
7675.1121.53 by Stuart Bishop
New baseline
15578
5529.1.3 by Stuart Bishop
New database schema baseline
15579
ALTER TABLE hwdriver ALTER COLUMN id SET DEFAULT nextval('hwdriver_id_seq'::regclass);
15580
7675.1121.53 by Stuart Bishop
New baseline
15581
4990.1.1 by Stuart Bishop
New database baseline
15582
ALTER TABLE hwsubmission ALTER COLUMN id SET DEFAULT nextval('hwsubmission_id_seq'::regclass);
15583
7675.1121.53 by Stuart Bishop
New baseline
15584
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15585
ALTER TABLE hwsubmissionbug ALTER COLUMN id SET DEFAULT nextval('hwsubmissionbug_id_seq'::regclass);
15586
7675.1121.53 by Stuart Bishop
New baseline
15587
5529.1.3 by Stuart Bishop
New database schema baseline
15588
ALTER TABLE hwsubmissiondevice ALTER COLUMN id SET DEFAULT nextval('hwsubmissiondevice_id_seq'::regclass);
15589
7675.1121.53 by Stuart Bishop
New baseline
15590
4990.1.1 by Stuart Bishop
New database baseline
15591
ALTER TABLE hwsystemfingerprint ALTER COLUMN id SET DEFAULT nextval('hwsystemfingerprint_id_seq'::regclass);
15592
7675.1121.53 by Stuart Bishop
New baseline
15593
5529.1.3 by Stuart Bishop
New database schema baseline
15594
ALTER TABLE hwtest ALTER COLUMN id SET DEFAULT nextval('hwtest_id_seq'::regclass);
15595
7675.1121.53 by Stuart Bishop
New baseline
15596
5529.1.3 by Stuart Bishop
New database schema baseline
15597
ALTER TABLE hwtestanswer ALTER COLUMN id SET DEFAULT nextval('hwtestanswer_id_seq'::regclass);
15598
7675.1121.53 by Stuart Bishop
New baseline
15599
5529.1.3 by Stuart Bishop
New database schema baseline
15600
ALTER TABLE hwtestanswerchoice ALTER COLUMN id SET DEFAULT nextval('hwtestanswerchoice_id_seq'::regclass);
15601
7675.1121.53 by Stuart Bishop
New baseline
15602
5529.1.3 by Stuart Bishop
New database schema baseline
15603
ALTER TABLE hwtestanswercount ALTER COLUMN id SET DEFAULT nextval('hwtestanswercount_id_seq'::regclass);
15604
7675.1121.53 by Stuart Bishop
New baseline
15605
5529.1.3 by Stuart Bishop
New database schema baseline
15606
ALTER TABLE hwtestanswercountdevice ALTER COLUMN id SET DEFAULT nextval('hwtestanswercountdevice_id_seq'::regclass);
15607
7675.1121.53 by Stuart Bishop
New baseline
15608
5529.1.3 by Stuart Bishop
New database schema baseline
15609
ALTER TABLE hwtestanswerdevice ALTER COLUMN id SET DEFAULT nextval('hwtestanswerdevice_id_seq'::regclass);
15610
7675.1121.53 by Stuart Bishop
New baseline
15611
5529.1.3 by Stuart Bishop
New database schema baseline
15612
ALTER TABLE hwvendorid ALTER COLUMN id SET DEFAULT nextval('hwvendorid_id_seq'::regclass);
15613
7675.1121.53 by Stuart Bishop
New baseline
15614
5529.1.3 by Stuart Bishop
New database schema baseline
15615
ALTER TABLE hwvendorname ALTER COLUMN id SET DEFAULT nextval('hwvendorname_id_seq'::regclass);
15616
7675.1121.53 by Stuart Bishop
New baseline
15617
15618
ALTER TABLE incrementaldiff ALTER COLUMN id SET DEFAULT nextval('incrementaldiff_id_seq'::regclass);
15619
15620
4212.1.1 by Stuart Bishop
New database baseline
15621
ALTER TABLE ircid ALTER COLUMN id SET DEFAULT nextval('ircid_id_seq'::regclass);
15622
7675.1121.53 by Stuart Bishop
New baseline
15623
4212.1.1 by Stuart Bishop
New database baseline
15624
ALTER TABLE jabberid ALTER COLUMN id SET DEFAULT nextval('jabberid_id_seq'::regclass);
15625
7675.1121.53 by Stuart Bishop
New baseline
15626
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15627
ALTER TABLE job ALTER COLUMN id SET DEFAULT nextval('job_id_seq'::regclass);
15628
7675.1121.53 by Stuart Bishop
New baseline
15629
4212.1.1 by Stuart Bishop
New database baseline
15630
ALTER TABLE karma ALTER COLUMN id SET DEFAULT nextval('karma_id_seq'::regclass);
15631
7675.1121.53 by Stuart Bishop
New baseline
15632
4212.1.1 by Stuart Bishop
New database baseline
15633
ALTER TABLE karmaaction ALTER COLUMN id SET DEFAULT nextval('karmaaction_id_seq'::regclass);
15634
7675.1121.53 by Stuart Bishop
New baseline
15635
4212.1.1 by Stuart Bishop
New database baseline
15636
ALTER TABLE karmacache ALTER COLUMN id SET DEFAULT nextval('karmacache_id_seq'::regclass);
15637
7675.1121.53 by Stuart Bishop
New baseline
15638
4212.1.1 by Stuart Bishop
New database baseline
15639
ALTER TABLE karmacategory ALTER COLUMN id SET DEFAULT nextval('karmacategory_id_seq'::regclass);
15640
7675.1121.53 by Stuart Bishop
New baseline
15641
4212.1.1 by Stuart Bishop
New database baseline
15642
ALTER TABLE karmatotalcache ALTER COLUMN id SET DEFAULT nextval('karmatotalcache_id_seq'::regclass);
15643
7675.1121.53 by Stuart Bishop
New baseline
15644
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15645
ALTER TABLE language ALTER COLUMN id SET DEFAULT nextval('language_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15646
7675.1121.53 by Stuart Bishop
New baseline
15647
4990.1.1 by Stuart Bishop
New database baseline
15648
ALTER TABLE languagepack ALTER COLUMN id SET DEFAULT nextval('languagepack_id_seq'::regclass);
15649
7675.1121.53 by Stuart Bishop
New baseline
15650
15651
ALTER TABLE launchpaddatabaseupdatelog ALTER COLUMN id SET DEFAULT nextval('launchpaddatabaseupdatelog_id_seq'::regclass);
15652
15653
4212.1.1 by Stuart Bishop
New database baseline
15654
ALTER TABLE launchpadstatistic ALTER COLUMN id SET DEFAULT nextval('launchpadstatistic_id_seq'::regclass);
15655
7675.1121.53 by Stuart Bishop
New baseline
15656
4212.1.1 by Stuart Bishop
New database baseline
15657
ALTER TABLE libraryfilealias ALTER COLUMN id SET DEFAULT nextval('libraryfilealias_id_seq'::regclass);
15658
7675.1121.53 by Stuart Bishop
New baseline
15659
4212.1.1 by Stuart Bishop
New database baseline
15660
ALTER TABLE libraryfilecontent ALTER COLUMN id SET DEFAULT nextval('libraryfilecontent_id_seq'::regclass);
15661
7675.1121.53 by Stuart Bishop
New baseline
15662
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15663
ALTER TABLE libraryfiledownloadcount ALTER COLUMN id SET DEFAULT nextval('libraryfiledownloadcount_id_seq'::regclass);
15664
7675.1121.53 by Stuart Bishop
New baseline
15665
4212.1.1 by Stuart Bishop
New database baseline
15666
ALTER TABLE logintoken ALTER COLUMN id SET DEFAULT nextval('logintoken_id_seq'::regclass);
15667
7675.1121.53 by Stuart Bishop
New baseline
15668
4990.1.1 by Stuart Bishop
New database baseline
15669
ALTER TABLE mailinglist ALTER COLUMN id SET DEFAULT nextval('mailinglist_id_seq'::regclass);
15670
15671
15672
ALTER TABLE mailinglistsubscription ALTER COLUMN id SET DEFAULT nextval('mailinglistsubscription_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15673
15674
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15675
ALTER TABLE mergedirectivejob ALTER COLUMN id SET DEFAULT nextval('mergedirectivejob_id_seq'::regclass);
15676
7675.1121.53 by Stuart Bishop
New baseline
15677
4212.1.1 by Stuart Bishop
New database baseline
15678
ALTER TABLE message ALTER COLUMN id SET DEFAULT nextval('message_id_seq'::regclass);
15679
7675.1121.53 by Stuart Bishop
New baseline
15680
4990.1.1 by Stuart Bishop
New database baseline
15681
ALTER TABLE messageapproval ALTER COLUMN id SET DEFAULT nextval('messageapproval_id_seq'::regclass);
15682
7675.1121.53 by Stuart Bishop
New baseline
15683
4212.1.1 by Stuart Bishop
New database baseline
15684
ALTER TABLE messagechunk ALTER COLUMN id SET DEFAULT nextval('messagechunk_id_seq'::regclass);
15685
7675.1121.53 by Stuart Bishop
New baseline
15686
4212.1.1 by Stuart Bishop
New database baseline
15687
ALTER TABLE milestone ALTER COLUMN id SET DEFAULT nextval('milestone_id_seq'::regclass);
15688
7675.1121.53 by Stuart Bishop
New baseline
15689
4212.1.1 by Stuart Bishop
New database baseline
15690
ALTER TABLE mirror ALTER COLUMN id SET DEFAULT nextval('mirror_id_seq'::regclass);
15691
7675.1121.53 by Stuart Bishop
New baseline
15692
5529.1.3 by Stuart Bishop
New database schema baseline
15693
ALTER TABLE mirrorcdimagedistroseries ALTER COLUMN id SET DEFAULT nextval('mirrorcdimagedistroseries_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15694
7675.1121.53 by Stuart Bishop
New baseline
15695
4212.1.1 by Stuart Bishop
New database baseline
15696
ALTER TABLE mirrorcontent ALTER COLUMN id SET DEFAULT nextval('mirrorcontent_id_seq'::regclass);
15697
7675.1121.53 by Stuart Bishop
New baseline
15698
5529.1.3 by Stuart Bishop
New database schema baseline
15699
ALTER TABLE mirrordistroarchseries ALTER COLUMN id SET DEFAULT nextval('mirrordistroarchseries_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15700
7675.1121.53 by Stuart Bishop
New baseline
15701
5529.1.3 by Stuart Bishop
New database schema baseline
15702
ALTER TABLE mirrordistroseriessource ALTER COLUMN id SET DEFAULT nextval('mirrordistroseriessource_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15703
7675.1121.53 by Stuart Bishop
New baseline
15704
4212.1.1 by Stuart Bishop
New database baseline
15705
ALTER TABLE mirrorproberecord ALTER COLUMN id SET DEFAULT nextval('mirrorproberecord_id_seq'::regclass);
15706
7675.1121.53 by Stuart Bishop
New baseline
15707
4212.1.1 by Stuart Bishop
New database baseline
15708
ALTER TABLE mirrorsourcecontent ALTER COLUMN id SET DEFAULT nextval('mirrorsourcecontent_id_seq'::regclass);
15709
7675.1121.53 by Stuart Bishop
New baseline
15710
4212.1.1 by Stuart Bishop
New database baseline
15711
ALTER TABLE nameblacklist ALTER COLUMN id SET DEFAULT nextval('nameblacklist_id_seq'::regclass);
15712
7675.1121.53 by Stuart Bishop
New baseline
15713
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15714
ALTER TABLE oauthaccesstoken ALTER COLUMN id SET DEFAULT nextval('oauthaccesstoken_id_seq'::regclass);
15715
7675.1121.53 by Stuart Bishop
New baseline
15716
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15717
ALTER TABLE oauthconsumer ALTER COLUMN id SET DEFAULT nextval('oauthconsumer_id_seq'::regclass);
15718
15719
15720
ALTER TABLE oauthrequesttoken ALTER COLUMN id SET DEFAULT nextval('oauthrequesttoken_id_seq'::regclass);
15721
7675.1121.53 by Stuart Bishop
New baseline
15722
4212.1.1 by Stuart Bishop
New database baseline
15723
ALTER TABLE officialbugtag ALTER COLUMN id SET DEFAULT nextval('officialbugtag_id_seq'::regclass);
15724
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15725
7675.395.118 by Stuart Bishop
New database baseline from production
15726
ALTER TABLE packagebuild ALTER COLUMN id SET DEFAULT nextval('packagebuild_id_seq'::regclass);
15727
7675.1121.53 by Stuart Bishop
New baseline
15728
15729
ALTER TABLE packagecopyjob ALTER COLUMN id SET DEFAULT nextval('packagecopyjob_id_seq'::regclass);
15730
15731
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15732
ALTER TABLE packagecopyrequest ALTER COLUMN id SET DEFAULT nextval('packagecopyrequest_id_seq'::regclass);
15733
7675.1121.53 by Stuart Bishop
New baseline
15734
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15735
ALTER TABLE packagediff ALTER COLUMN id SET DEFAULT nextval('packagediff_id_seq'::regclass);
4212.1.1 by Stuart Bishop
New database baseline
15736
15737
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15738
ALTER TABLE packageset ALTER COLUMN id SET DEFAULT nextval('packageset_id_seq'::regclass);
15739
7675.1121.53 by Stuart Bishop
New baseline
15740
7675.395.118 by Stuart Bishop
New database baseline from production
15741
ALTER TABLE packagesetgroup ALTER COLUMN id SET DEFAULT nextval('packagesetgroup_id_seq'::regclass);
15742
7675.1121.53 by Stuart Bishop
New baseline
15743
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15744
ALTER TABLE packagesetinclusion ALTER COLUMN id SET DEFAULT nextval('packagesetinclusion_id_seq'::regclass);
15745
7675.1121.53 by Stuart Bishop
New baseline
15746
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15747
ALTER TABLE packagesetsources ALTER COLUMN id SET DEFAULT nextval('packagesetsources_id_seq'::regclass);
15748
7675.1121.53 by Stuart Bishop
New baseline
15749
4990.1.1 by Stuart Bishop
New database baseline
15750
ALTER TABLE packageupload ALTER COLUMN id SET DEFAULT nextval('packageupload_id_seq'::regclass);
15751
7675.1121.53 by Stuart Bishop
New baseline
15752
4990.1.1 by Stuart Bishop
New database baseline
15753
ALTER TABLE packageuploadbuild ALTER COLUMN id SET DEFAULT nextval('packageuploadbuild_id_seq'::regclass);
15754
7675.1121.53 by Stuart Bishop
New baseline
15755
4990.1.1 by Stuart Bishop
New database baseline
15756
ALTER TABLE packageuploadcustom ALTER COLUMN id SET DEFAULT nextval('packageuploadcustom_id_seq'::regclass);
15757
7675.1121.53 by Stuart Bishop
New baseline
15758
4990.1.1 by Stuart Bishop
New database baseline
15759
ALTER TABLE packageuploadsource ALTER COLUMN id SET DEFAULT nextval('packageuploadsource_id_seq'::regclass);
15760
7675.1121.53 by Stuart Bishop
New baseline
15761
15762
ALTER TABLE packagingjob ALTER COLUMN id SET DEFAULT nextval('packagingjob_id_seq'::regclass);
15763
15764
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15765
ALTER TABLE parsedapachelog ALTER COLUMN id SET DEFAULT nextval('parsedapachelog_id_seq'::regclass);
15766
7675.1121.53 by Stuart Bishop
New baseline
15767
4212.1.1 by Stuart Bishop
New database baseline
15768
ALTER TABLE person ALTER COLUMN id SET DEFAULT nextval('person_id_seq'::regclass);
15769
7675.1121.53 by Stuart Bishop
New baseline
15770
4212.1.1 by Stuart Bishop
New database baseline
15771
ALTER TABLE personlanguage ALTER COLUMN id SET DEFAULT nextval('personlanguage_id_seq'::regclass);
15772
7675.1121.53 by Stuart Bishop
New baseline
15773
5529.1.3 by Stuart Bishop
New database schema baseline
15774
ALTER TABLE personlocation ALTER COLUMN id SET DEFAULT nextval('personlocation_id_seq'::regclass);
15775
7675.1121.53 by Stuart Bishop
New baseline
15776
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15777
ALTER TABLE personnotification ALTER COLUMN id SET DEFAULT nextval('personnotification_id_seq'::regclass);
15778
7675.1121.53 by Stuart Bishop
New baseline
15779
15780
ALTER TABLE persontransferjob ALTER COLUMN id SET DEFAULT nextval('persontransferjob_id_seq'::regclass);
15781
15782
4212.1.1 by Stuart Bishop
New database baseline
15783
ALTER TABLE pillarname ALTER COLUMN id SET DEFAULT nextval('pillarname_id_seq'::regclass);
15784
7675.1121.53 by Stuart Bishop
New baseline
15785
4212.1.1 by Stuart Bishop
New database baseline
15786
ALTER TABLE pocketchroot ALTER COLUMN id SET DEFAULT nextval('pocketchroot_id_seq'::regclass);
15787
15788
15789
ALTER TABLE poexportrequest ALTER COLUMN id SET DEFAULT nextval('poexportrequest_id_seq'::regclass);
15790
7675.1121.53 by Stuart Bishop
New baseline
15791
4212.1.1 by Stuart Bishop
New database baseline
15792
ALTER TABLE pofile ALTER COLUMN id SET DEFAULT nextval('pofile_id_seq'::regclass);
15793
7675.1121.53 by Stuart Bishop
New baseline
15794
4212.1.1 by Stuart Bishop
New database baseline
15795
ALTER TABLE pofiletranslator ALTER COLUMN id SET DEFAULT nextval('pofiletranslator_id_seq'::regclass);
15796
7675.1121.53 by Stuart Bishop
New baseline
15797
4212.1.1 by Stuart Bishop
New database baseline
15798
ALTER TABLE poll ALTER COLUMN id SET DEFAULT nextval('poll_id_seq'::regclass);
15799
7675.1121.53 by Stuart Bishop
New baseline
15800
4212.1.1 by Stuart Bishop
New database baseline
15801
ALTER TABLE polloption ALTER COLUMN id SET DEFAULT nextval('polloption_id_seq'::regclass);
15802
7675.1121.53 by Stuart Bishop
New baseline
15803
4212.1.1 by Stuart Bishop
New database baseline
15804
ALTER TABLE pomsgid ALTER COLUMN id SET DEFAULT nextval('pomsgid_id_seq'::regclass);
15805
15806
15807
ALTER TABLE potemplate ALTER COLUMN id SET DEFAULT nextval('potemplate_id_seq'::regclass);
15808
7675.1121.53 by Stuart Bishop
New baseline
15809
4212.1.1 by Stuart Bishop
New database baseline
15810
ALTER TABLE potmsgset ALTER COLUMN id SET DEFAULT nextval('potmsgset_id_seq'::regclass);
15811
7675.1121.53 by Stuart Bishop
New baseline
15812
4212.1.1 by Stuart Bishop
New database baseline
15813
ALTER TABLE potranslation ALTER COLUMN id SET DEFAULT nextval('potranslation_id_seq'::regclass);
15814
7675.1121.53 by Stuart Bishop
New baseline
15815
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15816
ALTER TABLE previewdiff ALTER COLUMN id SET DEFAULT nextval('previewdiff_id_seq'::regclass);
15817
7675.1121.53 by Stuart Bishop
New baseline
15818
4212.1.1 by Stuart Bishop
New database baseline
15819
ALTER TABLE processor ALTER COLUMN id SET DEFAULT nextval('processor_id_seq'::regclass);
15820
7675.1121.53 by Stuart Bishop
New baseline
15821
4212.1.1 by Stuart Bishop
New database baseline
15822
ALTER TABLE processorfamily ALTER COLUMN id SET DEFAULT nextval('processorfamily_id_seq'::regclass);
15823
7675.1121.53 by Stuart Bishop
New baseline
15824
4212.1.1 by Stuart Bishop
New database baseline
15825
ALTER TABLE product ALTER COLUMN id SET DEFAULT nextval('product_id_seq'::regclass);
15826
15827
5529.1.3 by Stuart Bishop
New database schema baseline
15828
ALTER TABLE productlicense ALTER COLUMN id SET DEFAULT nextval('productlicense_id_seq'::regclass);
15829
7675.1121.53 by Stuart Bishop
New baseline
15830
4212.1.1 by Stuart Bishop
New database baseline
15831
ALTER TABLE productrelease ALTER COLUMN id SET DEFAULT nextval('productrelease_id_seq'::regclass);
15832
7675.1121.53 by Stuart Bishop
New baseline
15833
4212.1.1 by Stuart Bishop
New database baseline
15834
ALTER TABLE productseries ALTER COLUMN id SET DEFAULT nextval('productseries_id_seq'::regclass);
15835
15836
15837
ALTER TABLE project ALTER COLUMN id SET DEFAULT nextval('project_id_seq'::regclass);
15838
7675.1121.53 by Stuart Bishop
New baseline
15839
15840
ALTER TABLE publisherconfig ALTER COLUMN id SET DEFAULT nextval('publisherconfig_id_seq'::regclass);
15841
4212.1.1 by Stuart Bishop
New database baseline
15842
15843
ALTER TABLE question ALTER COLUMN id SET DEFAULT nextval('question_id_seq'::regclass);
15844
7675.1121.53 by Stuart Bishop
New baseline
15845
4212.1.1 by Stuart Bishop
New database baseline
15846
ALTER TABLE questionbug ALTER COLUMN id SET DEFAULT nextval('questionbug_id_seq'::regclass);
15847
7675.1121.53 by Stuart Bishop
New baseline
15848
15849
ALTER TABLE questionjob ALTER COLUMN id SET DEFAULT nextval('questionjob_id_seq'::regclass);
15850
15851
4212.1.1 by Stuart Bishop
New database baseline
15852
ALTER TABLE questionmessage ALTER COLUMN id SET DEFAULT nextval('questionmessage_id_seq'::regclass);
15853
7675.1121.53 by Stuart Bishop
New baseline
15854
4212.1.1 by Stuart Bishop
New database baseline
15855
ALTER TABLE questionreopening ALTER COLUMN id SET DEFAULT nextval('questionreopening_id_seq'::regclass);
15856
7675.1121.53 by Stuart Bishop
New baseline
15857
4212.1.1 by Stuart Bishop
New database baseline
15858
ALTER TABLE questionsubscription ALTER COLUMN id SET DEFAULT nextval('questionsubscription_id_seq'::regclass);
15859
15860
15861
ALTER TABLE revision ALTER COLUMN id SET DEFAULT nextval('revision_id_seq'::regclass);
15862
7675.1121.53 by Stuart Bishop
New baseline
15863
4212.1.1 by Stuart Bishop
New database baseline
15864
ALTER TABLE revisionauthor ALTER COLUMN id SET DEFAULT nextval('revisionauthor_id_seq'::regclass);
15865
7675.1121.53 by Stuart Bishop
New baseline
15866
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15867
ALTER TABLE revisioncache ALTER COLUMN id SET DEFAULT nextval('revisioncache_id_seq'::regclass);
15868
7675.1121.53 by Stuart Bishop
New baseline
15869
4212.1.1 by Stuart Bishop
New database baseline
15870
ALTER TABLE revisionparent ALTER COLUMN id SET DEFAULT nextval('revisionparent_id_seq'::regclass);
15871
7675.1121.53 by Stuart Bishop
New baseline
15872
4212.1.1 by Stuart Bishop
New database baseline
15873
ALTER TABLE revisionproperty ALTER COLUMN id SET DEFAULT nextval('revisionproperty_id_seq'::regclass);
15874
7675.1121.53 by Stuart Bishop
New baseline
15875
4212.1.1 by Stuart Bishop
New database baseline
15876
ALTER TABLE scriptactivity ALTER COLUMN id SET DEFAULT nextval('scriptactivity_id_seq'::regclass);
15877
7675.1121.53 by Stuart Bishop
New baseline
15878
4212.1.1 by Stuart Bishop
New database baseline
15879
ALTER TABLE section ALTER COLUMN id SET DEFAULT nextval('section_id_seq'::regclass);
15880
7675.1121.53 by Stuart Bishop
New baseline
15881
4212.1.1 by Stuart Bishop
New database baseline
15882
ALTER TABLE sectionselection ALTER COLUMN id SET DEFAULT nextval('sectionselection_id_seq'::regclass);
15883
7675.1121.53 by Stuart Bishop
New baseline
15884
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15885
ALTER TABLE seriessourcepackagebranch ALTER COLUMN id SET DEFAULT nextval('seriessourcepackagebranch_id_seq'::regclass);
15886
4212.1.1 by Stuart Bishop
New database baseline
15887
15888
ALTER TABLE signedcodeofconduct ALTER COLUMN id SET DEFAULT nextval('signedcodeofconduct_id_seq'::regclass);
15889
7675.1121.53 by Stuart Bishop
New baseline
15890
7675.395.118 by Stuart Bishop
New database baseline from production
15891
ALTER TABLE sourcepackageformatselection ALTER COLUMN id SET DEFAULT nextval('sourcepackageformatselection_id_seq'::regclass);
15892
7675.1121.53 by Stuart Bishop
New baseline
15893
4212.1.1 by Stuart Bishop
New database baseline
15894
ALTER TABLE sourcepackagename ALTER COLUMN id SET DEFAULT nextval('sourcepackagename_id_seq'::regclass);
15895
7675.1121.53 by Stuart Bishop
New baseline
15896
7675.395.118 by Stuart Bishop
New database baseline from production
15897
ALTER TABLE sourcepackagepublishinghistory ALTER COLUMN id SET DEFAULT nextval('sourcepackagepublishinghistory_id_seq'::regclass);
15898
7675.1121.53 by Stuart Bishop
New baseline
15899
7675.395.118 by Stuart Bishop
New database baseline from production
15900
ALTER TABLE sourcepackagerecipe ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipe_id_seq'::regclass);
15901
7675.1121.53 by Stuart Bishop
New baseline
15902
7675.395.118 by Stuart Bishop
New database baseline from production
15903
ALTER TABLE sourcepackagerecipebuild ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipebuild_id_seq'::regclass);
15904
7675.1121.53 by Stuart Bishop
New baseline
15905
7675.395.118 by Stuart Bishop
New database baseline from production
15906
ALTER TABLE sourcepackagerecipebuildjob ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipebuildjob_id_seq'::regclass);
15907
7675.1121.53 by Stuart Bishop
New baseline
15908
7675.395.118 by Stuart Bishop
New database baseline from production
15909
ALTER TABLE sourcepackagerecipedata ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipedata_id_seq'::regclass);
15910
7675.1121.53 by Stuart Bishop
New baseline
15911
7675.395.118 by Stuart Bishop
New database baseline from production
15912
ALTER TABLE sourcepackagerecipedatainstruction ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipedatainstruction_id_seq'::regclass);
15913
7675.1121.53 by Stuart Bishop
New baseline
15914
7675.395.118 by Stuart Bishop
New database baseline from production
15915
ALTER TABLE sourcepackagerecipedistroseries ALTER COLUMN id SET DEFAULT nextval('sourcepackagerecipedistroseries_id_seq'::regclass);
15916
7675.1121.53 by Stuart Bishop
New baseline
15917
4212.1.1 by Stuart Bishop
New database baseline
15918
ALTER TABLE sourcepackagerelease ALTER COLUMN id SET DEFAULT nextval('sourcepackagerelease_id_seq'::regclass);
15919
7675.1121.53 by Stuart Bishop
New baseline
15920
4212.1.1 by Stuart Bishop
New database baseline
15921
ALTER TABLE specification ALTER COLUMN id SET DEFAULT nextval('specification_id_seq'::regclass);
15922
7675.1121.53 by Stuart Bishop
New baseline
15923
4212.1.1 by Stuart Bishop
New database baseline
15924
ALTER TABLE specificationbranch ALTER COLUMN id SET DEFAULT nextval('specificationbranch_id_seq'::regclass);
15925
7675.1121.53 by Stuart Bishop
New baseline
15926
4212.1.1 by Stuart Bishop
New database baseline
15927
ALTER TABLE specificationbug ALTER COLUMN id SET DEFAULT nextval('specificationbug_id_seq'::regclass);
15928
7675.1121.53 by Stuart Bishop
New baseline
15929
4212.1.1 by Stuart Bishop
New database baseline
15930
ALTER TABLE specificationdependency ALTER COLUMN id SET DEFAULT nextval('specificationdependency_id_seq'::regclass);
15931
7675.1121.53 by Stuart Bishop
New baseline
15932
4212.1.1 by Stuart Bishop
New database baseline
15933
ALTER TABLE specificationfeedback ALTER COLUMN id SET DEFAULT nextval('specificationfeedback_id_seq'::regclass);
15934
7675.1121.53 by Stuart Bishop
New baseline
15935
4990.1.1 by Stuart Bishop
New database baseline
15936
ALTER TABLE specificationmessage ALTER COLUMN id SET DEFAULT nextval('specificationmessage_id_seq'::regclass);
15937
7675.1121.53 by Stuart Bishop
New baseline
15938
4212.1.1 by Stuart Bishop
New database baseline
15939
ALTER TABLE specificationsubscription ALTER COLUMN id SET DEFAULT nextval('specificationsubscription_id_seq'::regclass);
15940
7675.1121.53 by Stuart Bishop
New baseline
15941
4212.1.1 by Stuart Bishop
New database baseline
15942
ALTER TABLE sprint ALTER COLUMN id SET DEFAULT nextval('sprint_id_seq'::regclass);
15943
7675.1121.53 by Stuart Bishop
New baseline
15944
4212.1.1 by Stuart Bishop
New database baseline
15945
ALTER TABLE sprintattendance ALTER COLUMN id SET DEFAULT nextval('sprintattendance_id_seq'::regclass);
15946
7675.1121.53 by Stuart Bishop
New baseline
15947
4212.1.1 by Stuart Bishop
New database baseline
15948
ALTER TABLE sprintspecification ALTER COLUMN id SET DEFAULT nextval('sprintspecification_id_seq'::regclass);
15949
7675.1121.53 by Stuart Bishop
New baseline
15950
4212.1.1 by Stuart Bishop
New database baseline
15951
ALTER TABLE sshkey ALTER COLUMN id SET DEFAULT nextval('sshkey_id_seq'::regclass);
15952
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15953
5529.1.3 by Stuart Bishop
New database schema baseline
15954
ALTER TABLE structuralsubscription ALTER COLUMN id SET DEFAULT nextval('structuralsubscription_id_seq'::regclass);
15955
7675.1121.53 by Stuart Bishop
New baseline
15956
15957
ALTER TABLE subunitstream ALTER COLUMN id SET DEFAULT nextval('subunitstream_id_seq'::regclass);
15958
15959
4212.1.1 by Stuart Bishop
New database baseline
15960
ALTER TABLE teammembership ALTER COLUMN id SET DEFAULT nextval('teammembership_id_seq'::regclass);
15961
7675.1121.53 by Stuart Bishop
New baseline
15962
4212.1.1 by Stuart Bishop
New database baseline
15963
ALTER TABLE teamparticipation ALTER COLUMN id SET DEFAULT nextval('teamparticipation_id_seq'::regclass);
15964
7675.1121.53 by Stuart Bishop
New baseline
15965
4212.1.1 by Stuart Bishop
New database baseline
15966
ALTER TABLE temporaryblobstorage ALTER COLUMN id SET DEFAULT nextval('temporaryblobstorage_id_seq'::regclass);
15967
7675.1121.53 by Stuart Bishop
New baseline
15968
4212.1.1 by Stuart Bishop
New database baseline
15969
ALTER TABLE translationgroup ALTER COLUMN id SET DEFAULT nextval('translationgroup_id_seq'::regclass);
15970
7675.1121.53 by Stuart Bishop
New baseline
15971
4212.1.1 by Stuart Bishop
New database baseline
15972
ALTER TABLE translationimportqueueentry ALTER COLUMN id SET DEFAULT nextval('translationimportqueueentry_id_seq'::regclass);
15973
7675.1121.53 by Stuart Bishop
New baseline
15974
5529.1.3 by Stuart Bishop
New database schema baseline
15975
ALTER TABLE translationmessage ALTER COLUMN id SET DEFAULT nextval('translationmessage_id_seq'::regclass);
15976
7675.1121.53 by Stuart Bishop
New baseline
15977
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15978
ALTER TABLE translationrelicensingagreement ALTER COLUMN id SET DEFAULT nextval('translationrelicensingagreement_id_seq'::regclass);
15979
7675.1121.53 by Stuart Bishop
New baseline
15980
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15981
ALTER TABLE translationtemplateitem ALTER COLUMN id SET DEFAULT nextval('translationtemplateitem_id_seq'::regclass);
15982
7675.1121.53 by Stuart Bishop
New baseline
15983
15984
ALTER TABLE translationtemplatesbuild ALTER COLUMN id SET DEFAULT nextval('translationtemplatesbuild_id_seq'::regclass);
15985
15986
4212.1.1 by Stuart Bishop
New database baseline
15987
ALTER TABLE translator ALTER COLUMN id SET DEFAULT nextval('translator_id_seq'::regclass);
15988
7675.1121.53 by Stuart Bishop
New baseline
15989
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
15990
ALTER TABLE usertouseremail ALTER COLUMN id SET DEFAULT nextval('usertouseremail_id_seq'::regclass);
15991
7675.1121.53 by Stuart Bishop
New baseline
15992
4212.1.1 by Stuart Bishop
New database baseline
15993
ALTER TABLE vote ALTER COLUMN id SET DEFAULT nextval('vote_id_seq'::regclass);
15994
7675.1121.53 by Stuart Bishop
New baseline
15995
4212.1.1 by Stuart Bishop
New database baseline
15996
ALTER TABLE votecast ALTER COLUMN id SET DEFAULT nextval('votecast_id_seq'::regclass);
15997
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
15998
4212.1.1 by Stuart Bishop
New database baseline
15999
ALTER TABLE wikiname ALTER COLUMN id SET DEFAULT nextval('wikiname_id_seq'::regclass);
16000
7675.1121.53 by Stuart Bishop
New baseline
16001
16002
ALTER TABLE ONLY accesspolicy
16003
    ADD CONSTRAINT accesspolicy_pkey PRIMARY KEY (id);
16004
16005
16006
ALTER TABLE ONLY accesspolicyartifact
16007
    ADD CONSTRAINT accesspolicyartifact_pkey PRIMARY KEY (id);
16008
16009
16010
ALTER TABLE ONLY accesspolicygrant
16011
    ADD CONSTRAINT accesspolicygrant_pkey PRIMARY KEY (id);
16012
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16013
16014
ALTER TABLE ONLY account
16015
    ADD CONSTRAINT account_pkey PRIMARY KEY (id);
16016
7675.1121.53 by Stuart Bishop
New baseline
16017
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16018
ALTER TABLE ONLY accountpassword
16019
    ADD CONSTRAINT accountpassword_account_key UNIQUE (account);
16020
7675.1121.53 by Stuart Bishop
New baseline
16021
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16022
ALTER TABLE ONLY accountpassword
16023
    ADD CONSTRAINT accountpassword_pkey PRIMARY KEY (id);
16024
7675.1121.53 by Stuart Bishop
New baseline
16025
5529.1.3 by Stuart Bishop
New database schema baseline
16026
ALTER TABLE ONLY announcement
16027
    ADD CONSTRAINT announcement_pkey PRIMARY KEY (id);
16028
7675.1121.53 by Stuart Bishop
New baseline
16029
7675.395.118 by Stuart Bishop
New database baseline from production
16030
ALTER TABLE ONLY apportjob
16031
    ADD CONSTRAINT apportjob__job__key UNIQUE (job);
16032
7675.1121.53 by Stuart Bishop
New baseline
16033
7675.395.118 by Stuart Bishop
New database baseline from production
16034
ALTER TABLE ONLY apportjob
16035
    ADD CONSTRAINT apportjob_pkey PRIMARY KEY (id);
16036
16037
ALTER TABLE apportjob CLUSTER ON apportjob_pkey;
16038
7675.1121.53 by Stuart Bishop
New baseline
16039
4990.1.1 by Stuart Bishop
New database baseline
16040
ALTER TABLE ONLY archive
16041
    ADD CONSTRAINT archive_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
16042
7675.1121.53 by Stuart Bishop
New baseline
16043
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16044
ALTER TABLE ONLY archivearch
16045
    ADD CONSTRAINT archivearch__processorfamily__archive__key UNIQUE (processorfamily, archive);
16046
7675.1121.53 by Stuart Bishop
New baseline
16047
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16048
ALTER TABLE ONLY archivearch
16049
    ADD CONSTRAINT archivearch_pkey PRIMARY KEY (id);
16050
7675.1121.53 by Stuart Bishop
New baseline
16051
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16052
ALTER TABLE ONLY archiveauthtoken
16053
    ADD CONSTRAINT archiveauthtoken_pkey PRIMARY KEY (id);
16054
7675.1121.53 by Stuart Bishop
New baseline
16055
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16056
ALTER TABLE ONLY archiveauthtoken
16057
    ADD CONSTRAINT archiveauthtoken_token_key UNIQUE (token);
16058
7675.1121.53 by Stuart Bishop
New baseline
16059
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16060
ALTER TABLE ONLY archivedependency
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16061
    ADD CONSTRAINT archivedependency__unique UNIQUE (archive, dependency);
16062
7675.1121.53 by Stuart Bishop
New baseline
16063
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16064
ALTER TABLE ONLY archivedependency
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16065
    ADD CONSTRAINT archivedependency_pkey PRIMARY KEY (id);
16066
7675.1121.53 by Stuart Bishop
New baseline
16067
7675.395.118 by Stuart Bishop
New database baseline from production
16068
ALTER TABLE ONLY archivejob
16069
    ADD CONSTRAINT archivejob__job__key UNIQUE (job);
16070
7675.1121.53 by Stuart Bishop
New baseline
16071
7675.395.118 by Stuart Bishop
New database baseline from production
16072
ALTER TABLE ONLY archivejob
16073
    ADD CONSTRAINT archivejob_pkey PRIMARY KEY (id);
16074
7675.1121.53 by Stuart Bishop
New baseline
16075
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16076
ALTER TABLE ONLY archivepermission
16077
    ADD CONSTRAINT archivepermission_pkey PRIMARY KEY (id);
16078
7675.1121.53 by Stuart Bishop
New baseline
16079
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16080
ALTER TABLE ONLY archivesubscriber
16081
    ADD CONSTRAINT archivesubscriber_pkey PRIMARY KEY (id);
16082
7675.1121.53 by Stuart Bishop
New baseline
16083
3691.17.3 by Stuart Bishop
New database baseline
16084
ALTER TABLE ONLY revisionauthor
16085
    ADD CONSTRAINT archuserid_archuserid_key UNIQUE (name);
16086
7675.1121.53 by Stuart Bishop
New baseline
16087
3691.17.3 by Stuart Bishop
New database baseline
16088
ALTER TABLE ONLY revisionauthor
16089
    ADD CONSTRAINT archuserid_pkey PRIMARY KEY (id);
16090
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16091
3691.17.3 by Stuart Bishop
New database baseline
16092
ALTER TABLE ONLY binarypackagerelease
16093
    ADD CONSTRAINT binarypackage_pkey PRIMARY KEY (id);
16094
7675.1121.53 by Stuart Bishop
New baseline
16095
7675.395.118 by Stuart Bishop
New database baseline from production
16096
ALTER TABLE ONLY binarypackagebuild
16097
    ADD CONSTRAINT binarypackagebuild_pkey PRIMARY KEY (id);
16098
7675.1121.53 by Stuart Bishop
New baseline
16099
3691.17.3 by Stuart Bishop
New database baseline
16100
ALTER TABLE ONLY binarypackagefile
16101
    ADD CONSTRAINT binarypackagefile_pkey PRIMARY KEY (id);
16102
7675.1121.53 by Stuart Bishop
New baseline
16103
3691.17.3 by Stuart Bishop
New database baseline
16104
ALTER TABLE ONLY binarypackagename
16105
    ADD CONSTRAINT binarypackagename_name_key UNIQUE (name);
16106
7675.1121.53 by Stuart Bishop
New baseline
16107
3691.17.3 by Stuart Bishop
New database baseline
16108
ALTER TABLE ONLY binarypackagename
16109
    ADD CONSTRAINT binarypackagename_pkey PRIMARY KEY (id);
16110
7675.1121.53 by Stuart Bishop
New baseline
16111
16112
ALTER TABLE ONLY binarypackagepath
16113
    ADD CONSTRAINT binarypackagepath_path_key UNIQUE (path);
16114
16115
16116
ALTER TABLE ONLY binarypackagepath
16117
    ADD CONSTRAINT binarypackagepath_pkey PRIMARY KEY (id);
16118
16119
3691.17.3 by Stuart Bishop
New database baseline
16120
ALTER TABLE ONLY binarypackagerelease
16121
    ADD CONSTRAINT binarypackagerelease_binarypackagename_key UNIQUE (binarypackagename, build, version);
16122
4212.1.1 by Stuart Bishop
New database baseline
16123
3691.17.3 by Stuart Bishop
New database baseline
16124
ALTER TABLE ONLY binarypackagerelease
16125
    ADD CONSTRAINT binarypackagerelease_build_name_uniq UNIQUE (build, binarypackagename);
16126
7675.1121.53 by Stuart Bishop
New baseline
16127
16128
ALTER TABLE ONLY binarypackagereleasecontents
16129
    ADD CONSTRAINT binarypackagereleasecontents_pkey PRIMARY KEY (binarypackagerelease, binarypackagepath);
16130
16131
7675.395.118 by Stuart Bishop
New database baseline from production
16132
ALTER TABLE ONLY binarypackagereleasedownloadcount
16133
    ADD CONSTRAINT binarypackagereleasedownloadcount__archive__binary_package_rele UNIQUE (archive, binary_package_release, day, country);
16134
7675.1121.53 by Stuart Bishop
New baseline
16135
7675.395.118 by Stuart Bishop
New database baseline from production
16136
ALTER TABLE ONLY binarypackagereleasedownloadcount
16137
    ADD CONSTRAINT binarypackagereleasedownloadcount_pkey PRIMARY KEY (id);
16138
3691.17.3 by Stuart Bishop
New database baseline
16139
16140
ALTER TABLE ONLY branch
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16141
    ADD CONSTRAINT branch__unique_name__key UNIQUE (unique_name);
16142
7675.1121.53 by Stuart Bishop
New baseline
16143
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16144
ALTER TABLE ONLY branch
3691.17.3 by Stuart Bishop
New database baseline
16145
    ADD CONSTRAINT branch_pkey PRIMARY KEY (id);
16146
7675.1121.53 by Stuart Bishop
New baseline
16147
3691.17.3 by Stuart Bishop
New database baseline
16148
ALTER TABLE ONLY branch
16149
    ADD CONSTRAINT branch_url_unique UNIQUE (url);
16150
7675.1121.53 by Stuart Bishop
New baseline
16151
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16152
ALTER TABLE ONLY branchjob
16153
    ADD CONSTRAINT branchjob_job_key UNIQUE (job);
16154
7675.1121.53 by Stuart Bishop
New baseline
16155
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16156
ALTER TABLE ONLY branchjob
16157
    ADD CONSTRAINT branchjob_pkey PRIMARY KEY (id);
16158
7675.395.118 by Stuart Bishop
New database baseline from production
16159
ALTER TABLE branchjob CLUSTER ON branchjob_pkey;
16160
7675.1121.53 by Stuart Bishop
New baseline
16161
4990.1.1 by Stuart Bishop
New database baseline
16162
ALTER TABLE ONLY branchmergeproposal
16163
    ADD CONSTRAINT branchmergeproposal_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
16164
7675.1121.53 by Stuart Bishop
New baseline
16165
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16166
ALTER TABLE ONLY branchmergeproposaljob
16167
    ADD CONSTRAINT branchmergeproposaljob_job_key UNIQUE (job);
16168
7675.1121.53 by Stuart Bishop
New baseline
16169
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16170
ALTER TABLE ONLY branchmergeproposaljob
16171
    ADD CONSTRAINT branchmergeproposaljob_pkey PRIMARY KEY (id);
16172
7675.1121.53 by Stuart Bishop
New baseline
16173
16174
ALTER TABLE ONLY branchmergequeue
16175
    ADD CONSTRAINT branchmergequeue_pkey PRIMARY KEY (id);
16176
5529.1.3 by Stuart Bishop
New database schema baseline
16177
16178
ALTER TABLE ONLY branchsubscription
16179
    ADD CONSTRAINT branchsubscription__person__branch__key UNIQUE (person, branch);
16180
7675.1121.53 by Stuart Bishop
New baseline
16181
3691.17.3 by Stuart Bishop
New database baseline
16182
ALTER TABLE ONLY branchsubscription
16183
    ADD CONSTRAINT branchsubscription_pkey PRIMARY KEY (id);
16184
7675.1121.53 by Stuart Bishop
New baseline
16185
4990.1.1 by Stuart Bishop
New database baseline
16186
ALTER TABLE ONLY branchvisibilitypolicy
16187
    ADD CONSTRAINT branchvisibilitypolicy_pkey PRIMARY KEY (id);
16188
7675.1121.53 by Stuart Bishop
New baseline
16189
3691.17.3 by Stuart Bishop
New database baseline
16190
ALTER TABLE ONLY bugbranch
16191
    ADD CONSTRAINT bug_branch_unique UNIQUE (bug, branch);
16192
16193
16194
ALTER TABLE ONLY bug
16195
    ADD CONSTRAINT bug_pkey PRIMARY KEY (id);
16196
7675.1121.53 by Stuart Bishop
New baseline
16197
3691.17.3 by Stuart Bishop
New database baseline
16198
ALTER TABLE ONLY bugactivity
16199
    ADD CONSTRAINT bugactivity_pkey PRIMARY KEY (id);
16200
7675.1121.53 by Stuart Bishop
New baseline
16201
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16202
ALTER TABLE ONLY bugaffectsperson
16203
    ADD CONSTRAINT bugaffectsperson_bug_person_uniq UNIQUE (bug, person);
16204
7675.1121.53 by Stuart Bishop
New baseline
16205
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16206
ALTER TABLE ONLY bugaffectsperson
16207
    ADD CONSTRAINT bugaffectsperson_pkey PRIMARY KEY (id);
16208
7675.1121.53 by Stuart Bishop
New baseline
16209
3691.17.3 by Stuart Bishop
New database baseline
16210
ALTER TABLE ONLY bugattachment
16211
    ADD CONSTRAINT bugattachment_pkey PRIMARY KEY (id);
16212
7675.1121.53 by Stuart Bishop
New baseline
16213
5529.1.3 by Stuart Bishop
New database schema baseline
16214
ALTER TABLE ONLY bugbranch
16215
    ADD CONSTRAINT bugbranch_pkey PRIMARY KEY (id);
16216
7675.1121.53 by Stuart Bishop
New baseline
16217
3691.17.3 by Stuart Bishop
New database baseline
16218
ALTER TABLE ONLY bugcve
16219
    ADD CONSTRAINT bugcve_bug_cve_uniq UNIQUE (bug, cve);
16220
7675.1121.53 by Stuart Bishop
New baseline
16221
3691.17.3 by Stuart Bishop
New database baseline
16222
ALTER TABLE ONLY bugcve
16223
    ADD CONSTRAINT bugcve_pkey PRIMARY KEY (id);
16224
7675.1121.53 by Stuart Bishop
New baseline
16225
7675.395.118 by Stuart Bishop
New database baseline from production
16226
ALTER TABLE ONLY bugjob
16227
    ADD CONSTRAINT bugjob__job__key UNIQUE (job);
16228
7675.1121.53 by Stuart Bishop
New baseline
16229
7675.395.118 by Stuart Bishop
New database baseline from production
16230
ALTER TABLE ONLY bugjob
16231
    ADD CONSTRAINT bugjob_pkey PRIMARY KEY (id);
16232
16233
ALTER TABLE bugjob CLUSTER ON bugjob_pkey;
16234
7675.1121.53 by Stuart Bishop
New baseline
16235
16236
ALTER TABLE ONLY bugmessage
16237
    ADD CONSTRAINT bugmessage__bug__index__key UNIQUE (bug, index);
16238
16239
3691.17.3 by Stuart Bishop
New database baseline
16240
ALTER TABLE ONLY bugmessage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16241
    ADD CONSTRAINT bugmessage__bug__message__key UNIQUE (bug, message);
16242
7675.1121.53 by Stuart Bishop
New baseline
16243
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16244
ALTER TABLE ONLY bugmessage
16245
    ADD CONSTRAINT bugmessage__bugwatch__remote_comment_id__key UNIQUE (bugwatch, remote_comment_id);
3691.17.3 by Stuart Bishop
New database baseline
16246
7675.1121.53 by Stuart Bishop
New baseline
16247
3691.17.3 by Stuart Bishop
New database baseline
16248
ALTER TABLE ONLY bugmessage
16249
    ADD CONSTRAINT bugmessage_pkey PRIMARY KEY (id);
16250
7675.1121.53 by Stuart Bishop
New baseline
16251
16252
ALTER TABLE ONLY bugmute
16253
    ADD CONSTRAINT bugmute_pkey PRIMARY KEY (person, bug);
16254
16255
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
16256
ALTER TABLE ONLY bugnomination
16257
    ADD CONSTRAINT bugnomination_pkey PRIMARY KEY (id);
16258
7675.1121.53 by Stuart Bishop
New baseline
16259
3691.17.3 by Stuart Bishop
New database baseline
16260
ALTER TABLE ONLY bugnotification
16261
    ADD CONSTRAINT bugnotification__bug__message__unq UNIQUE (bug, message);
16262
7675.1121.53 by Stuart Bishop
New baseline
16263
3691.17.3 by Stuart Bishop
New database baseline
16264
ALTER TABLE ONLY bugnotification
16265
    ADD CONSTRAINT bugnotification_pkey PRIMARY KEY (id);
16266
7675.395.118 by Stuart Bishop
New database baseline from production
16267
16268
ALTER TABLE ONLY bugnotificationarchive
16269
    ADD CONSTRAINT bugnotificationarchive__bug__message__key UNIQUE (bug, message);
16270
7675.1121.53 by Stuart Bishop
New baseline
16271
7675.395.118 by Stuart Bishop
New database baseline from production
16272
ALTER TABLE ONLY bugnotificationarchive
16273
    ADD CONSTRAINT bugnotificationarchive_pk PRIMARY KEY (id);
16274
7675.1121.53 by Stuart Bishop
New baseline
16275
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16276
ALTER TABLE ONLY bugnotificationattachment
16277
    ADD CONSTRAINT bugnotificationattachment_pkey PRIMARY KEY (id);
16278
7675.1121.53 by Stuart Bishop
New baseline
16279
16280
ALTER TABLE ONLY bugnotificationfilter
16281
    ADD CONSTRAINT bugnotificationfilter_pkey PRIMARY KEY (bug_notification, bug_subscription_filter);
16282
16283
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16284
ALTER TABLE ONLY bugnotificationrecipient
16285
    ADD CONSTRAINT bugnotificationrecipient__bug_notificaion__person__key UNIQUE (bug_notification, person);
16286
7675.1121.53 by Stuart Bishop
New baseline
16287
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16288
ALTER TABLE ONLY bugnotificationrecipient
16289
    ADD CONSTRAINT bugnotificationrecipient_pkey PRIMARY KEY (id);
16290
7675.1121.53 by Stuart Bishop
New baseline
16291
7675.395.118 by Stuart Bishop
New database baseline from production
16292
ALTER TABLE ONLY bugnotificationrecipientarchive
16293
    ADD CONSTRAINT bugnotificationrecipientarchive_pk PRIMARY KEY (id);
16294
3691.17.3 by Stuart Bishop
New database baseline
16295
16296
ALTER TABLE ONLY bugsubscription
16297
    ADD CONSTRAINT bugsubscription_pkey PRIMARY KEY (id);
16298
7675.1121.53 by Stuart Bishop
New baseline
16299
16300
ALTER TABLE ONLY bugsubscriptionfilter
16301
    ADD CONSTRAINT bugsubscriptionfilter_pkey PRIMARY KEY (id);
16302
16303
16304
ALTER TABLE ONLY bugsubscriptionfilterimportance
16305
    ADD CONSTRAINT bugsubscriptionfilterimportance_pkey PRIMARY KEY (id);
16306
16307
16308
ALTER TABLE ONLY bugsubscriptionfiltermute
16309
    ADD CONSTRAINT bugsubscriptionfiltermute_pkey PRIMARY KEY (person, filter);
16310
16311
16312
ALTER TABLE ONLY bugsubscriptionfilterstatus
16313
    ADD CONSTRAINT bugsubscriptionfilterstatus_pkey PRIMARY KEY (id);
16314
16315
16316
ALTER TABLE ONLY bugsubscriptionfiltertag
16317
    ADD CONSTRAINT bugsubscriptionfiltertag_pkey PRIMARY KEY (id);
16318
16319
16320
ALTER TABLE ONLY bugsummary
16321
    ADD CONSTRAINT bugsummary_pkey PRIMARY KEY (id);
16322
16323
16324
ALTER TABLE ONLY bugsummaryjournal
16325
    ADD CONSTRAINT bugsummaryjournal_pkey PRIMARY KEY (id);
16326
16327
3691.17.3 by Stuart Bishop
New database baseline
16328
ALTER TABLE ONLY bugtracker
16329
    ADD CONSTRAINT bugsystem_pkey PRIMARY KEY (id);
16330
7675.1121.53 by Stuart Bishop
New baseline
16331
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
16332
ALTER TABLE ONLY bugtag
16333
    ADD CONSTRAINT bugtag__tag__bug__key UNIQUE (tag, bug);
16334
7675.1121.53 by Stuart Bishop
New baseline
16335
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
16336
ALTER TABLE ONLY bugtag
16337
    ADD CONSTRAINT bugtag_pkey PRIMARY KEY (id);
16338
7675.1121.53 by Stuart Bishop
New baseline
16339
3691.17.3 by Stuart Bishop
New database baseline
16340
ALTER TABLE ONLY bugtask
16341
    ADD CONSTRAINT bugtask_pkey PRIMARY KEY (id);
16342
7675.1121.53 by Stuart Bishop
New baseline
16343
5529.1.3 by Stuart Bishop
New database schema baseline
16344
ALTER TABLE ONLY bugtrackeralias
16345
    ADD CONSTRAINT bugtracker__base_url__key UNIQUE (base_url);
16346
7675.1121.53 by Stuart Bishop
New baseline
16347
5529.1.3 by Stuart Bishop
New database schema baseline
16348
ALTER TABLE ONLY bugtrackeralias
16349
    ADD CONSTRAINT bugtrackeralias_pkey PRIMARY KEY (id);
16350
7675.1121.53 by Stuart Bishop
New baseline
16351
16352
ALTER TABLE ONLY bugtrackercomponent
16353
    ADD CONSTRAINT bugtrackercomponent__component_group__name__key UNIQUE (component_group, name);
16354
16355
16356
ALTER TABLE ONLY bugtrackercomponent
16357
    ADD CONSTRAINT bugtrackercomponent__disto__spn__key UNIQUE (distribution, source_package_name);
16358
16359
16360
ALTER TABLE ONLY bugtrackercomponent
16361
    ADD CONSTRAINT bugtrackercomponent_pkey PRIMARY KEY (id);
16362
16363
16364
ALTER TABLE ONLY bugtrackercomponentgroup
16365
    ADD CONSTRAINT bugtrackercomponentgroup__bug_tracker__name__key UNIQUE (bug_tracker, name);
16366
16367
16368
ALTER TABLE ONLY bugtrackercomponentgroup
16369
    ADD CONSTRAINT bugtrackercomponentgroup_pkey PRIMARY KEY (id);
16370
16371
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16372
ALTER TABLE ONLY bugtrackerperson
16373
    ADD CONSTRAINT bugtrackerperson__bugtracker__name__key UNIQUE (bugtracker, name);
16374
7675.1121.53 by Stuart Bishop
New baseline
16375
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16376
ALTER TABLE ONLY bugtrackerperson
16377
    ADD CONSTRAINT bugtrackerperson_pkey PRIMARY KEY (id);
16378
7675.1121.53 by Stuart Bishop
New baseline
16379
3691.17.3 by Stuart Bishop
New database baseline
16380
ALTER TABLE ONLY bugwatch
16381
    ADD CONSTRAINT bugwatch_bugtask_target UNIQUE (id, bug);
16382
7675.1121.53 by Stuart Bishop
New baseline
16383
3691.17.3 by Stuart Bishop
New database baseline
16384
ALTER TABLE ONLY bugwatch
16385
    ADD CONSTRAINT bugwatch_pkey PRIMARY KEY (id);
16386
7675.1121.53 by Stuart Bishop
New baseline
16387
7675.395.118 by Stuart Bishop
New database baseline from production
16388
ALTER TABLE ONLY bugwatchactivity
16389
    ADD CONSTRAINT bugwatchactivity_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
16390
7675.1121.53 by Stuart Bishop
New baseline
16391
3691.17.3 by Stuart Bishop
New database baseline
16392
ALTER TABLE ONLY builder
16393
    ADD CONSTRAINT builder_pkey PRIMARY KEY (id);
16394
7675.1121.53 by Stuart Bishop
New baseline
16395
3691.17.3 by Stuart Bishop
New database baseline
16396
ALTER TABLE ONLY builder
16397
    ADD CONSTRAINT builder_url_key UNIQUE (url);
16398
7675.1121.53 by Stuart Bishop
New baseline
16399
7675.395.118 by Stuart Bishop
New database baseline from production
16400
ALTER TABLE ONLY buildfarmjob
16401
    ADD CONSTRAINT buildfarmjob_pkey PRIMARY KEY (id);
16402
7675.1121.53 by Stuart Bishop
New baseline
16403
7675.395.118 by Stuart Bishop
New database baseline from production
16404
ALTER TABLE ONLY buildpackagejob
16405
    ADD CONSTRAINT buildpackagejob__build__key UNIQUE (build);
16406
7675.1121.53 by Stuart Bishop
New baseline
16407
7675.395.118 by Stuart Bishop
New database baseline from production
16408
ALTER TABLE ONLY buildpackagejob
16409
    ADD CONSTRAINT buildpackagejob__job__key UNIQUE (job);
16410
7675.1121.53 by Stuart Bishop
New baseline
16411
7675.395.118 by Stuart Bishop
New database baseline from production
16412
ALTER TABLE ONLY buildpackagejob
16413
    ADD CONSTRAINT buildpackagejob_pkey PRIMARY KEY (id);
16414
7675.1121.53 by Stuart Bishop
New baseline
16415
7675.395.118 by Stuart Bishop
New database baseline from production
16416
ALTER TABLE ONLY buildqueue
16417
    ADD CONSTRAINT buildqueue__job__key UNIQUE (job);
16418
7675.1121.53 by Stuart Bishop
New baseline
16419
3691.17.3 by Stuart Bishop
New database baseline
16420
ALTER TABLE ONLY buildqueue
16421
    ADD CONSTRAINT buildqueue_pkey PRIMARY KEY (id);
16422
7675.1121.53 by Stuart Bishop
New baseline
16423
3691.17.3 by Stuart Bishop
New database baseline
16424
ALTER TABLE ONLY revision
16425
    ADD CONSTRAINT changeset_pkey PRIMARY KEY (id);
16426
7675.1121.53 by Stuart Bishop
New baseline
16427
4990.1.1 by Stuart Bishop
New database baseline
16428
ALTER TABLE ONLY codeimport
16429
    ADD CONSTRAINT codeimport_branch_key UNIQUE (branch);
16430
7675.1121.53 by Stuart Bishop
New baseline
16431
4990.1.1 by Stuart Bishop
New database baseline
16432
ALTER TABLE ONLY codeimport
16433
    ADD CONSTRAINT codeimport_pkey PRIMARY KEY (id);
16434
7675.1121.53 by Stuart Bishop
New baseline
16435
4990.1.1 by Stuart Bishop
New database baseline
16436
ALTER TABLE ONLY codeimportevent
16437
    ADD CONSTRAINT codeimportevent_pkey PRIMARY KEY (id);
16438
7675.1121.53 by Stuart Bishop
New baseline
16439
4990.1.1 by Stuart Bishop
New database baseline
16440
ALTER TABLE ONLY codeimporteventdata
16441
    ADD CONSTRAINT codeimporteventdata__event__data_type__key UNIQUE (event, data_type);
16442
7675.1121.53 by Stuart Bishop
New baseline
16443
4990.1.1 by Stuart Bishop
New database baseline
16444
ALTER TABLE ONLY codeimporteventdata
16445
    ADD CONSTRAINT codeimporteventdata_pkey PRIMARY KEY (id);
16446
7675.1121.53 by Stuart Bishop
New baseline
16447
4990.1.1 by Stuart Bishop
New database baseline
16448
ALTER TABLE ONLY codeimportjob
16449
    ADD CONSTRAINT codeimportjob__code_import__key UNIQUE (code_import);
16450
7675.1121.53 by Stuart Bishop
New baseline
16451
4990.1.1 by Stuart Bishop
New database baseline
16452
ALTER TABLE ONLY codeimportjob
16453
    ADD CONSTRAINT codeimportjob_pkey PRIMARY KEY (id);
16454
7675.1121.53 by Stuart Bishop
New baseline
16455
4990.1.1 by Stuart Bishop
New database baseline
16456
ALTER TABLE ONLY codeimportmachine
16457
    ADD CONSTRAINT codeimportmachine_hostname_key UNIQUE (hostname);
16458
7675.1121.53 by Stuart Bishop
New baseline
16459
4990.1.1 by Stuart Bishop
New database baseline
16460
ALTER TABLE ONLY codeimportmachine
16461
    ADD CONSTRAINT codeimportmachine_pkey PRIMARY KEY (id);
16462
7675.1121.53 by Stuart Bishop
New baseline
16463
4990.1.1 by Stuart Bishop
New database baseline
16464
ALTER TABLE ONLY codeimportresult
16465
    ADD CONSTRAINT codeimportresult_pkey PRIMARY KEY (id);
16466
7675.1121.53 by Stuart Bishop
New baseline
16467
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16468
ALTER TABLE ONLY codereviewmessage
16469
    ADD CONSTRAINT codereviewmessage__branch_merge_proposal__id_key UNIQUE (branch_merge_proposal, id);
16470
7675.1121.53 by Stuart Bishop
New baseline
16471
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16472
ALTER TABLE ONLY codereviewmessage
16473
    ADD CONSTRAINT codereviewmessage_message_key UNIQUE (message);
16474
7675.1121.53 by Stuart Bishop
New baseline
16475
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16476
ALTER TABLE ONLY codereviewmessage
16477
    ADD CONSTRAINT codereviewmessage_pkey PRIMARY KEY (id);
16478
7675.1121.53 by Stuart Bishop
New baseline
16479
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16480
ALTER TABLE ONLY codereviewvote
16481
    ADD CONSTRAINT codereviewvote_pkey PRIMARY KEY (id);
16482
7675.1121.53 by Stuart Bishop
New baseline
16483
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16484
ALTER TABLE ONLY commercialsubscription
16485
    ADD CONSTRAINT commercialsubscription_pkey PRIMARY KEY (id);
16486
7675.1121.53 by Stuart Bishop
New baseline
16487
3691.17.3 by Stuart Bishop
New database baseline
16488
ALTER TABLE ONLY component
16489
    ADD CONSTRAINT component_name_key UNIQUE (name);
16490
7675.1121.53 by Stuart Bishop
New baseline
16491
3691.17.3 by Stuart Bishop
New database baseline
16492
ALTER TABLE ONLY component
16493
    ADD CONSTRAINT component_pkey PRIMARY KEY (id);
16494
7675.1121.53 by Stuart Bishop
New baseline
16495
3691.17.3 by Stuart Bishop
New database baseline
16496
ALTER TABLE ONLY componentselection
5529.1.3 by Stuart Bishop
New database schema baseline
16497
    ADD CONSTRAINT componentselection__distroseries__component__key UNIQUE (distroseries, component);
16498
7675.1121.53 by Stuart Bishop
New baseline
16499
5529.1.3 by Stuart Bishop
New database schema baseline
16500
ALTER TABLE ONLY componentselection
3691.17.3 by Stuart Bishop
New database baseline
16501
    ADD CONSTRAINT componentselection_pkey PRIMARY KEY (id);
16502
7675.1121.53 by Stuart Bishop
New baseline
16503
3691.17.3 by Stuart Bishop
New database baseline
16504
ALTER TABLE ONLY continent
16505
    ADD CONSTRAINT continent_code_key UNIQUE (code);
16506
7675.1121.53 by Stuart Bishop
New baseline
16507
3691.17.3 by Stuart Bishop
New database baseline
16508
ALTER TABLE ONLY continent
16509
    ADD CONSTRAINT continent_name_key UNIQUE (name);
16510
7675.1121.53 by Stuart Bishop
New baseline
16511
3691.17.3 by Stuart Bishop
New database baseline
16512
ALTER TABLE ONLY continent
16513
    ADD CONSTRAINT continent_pkey PRIMARY KEY (id);
16514
7675.1121.53 by Stuart Bishop
New baseline
16515
3691.17.3 by Stuart Bishop
New database baseline
16516
ALTER TABLE ONLY country
16517
    ADD CONSTRAINT country_code2_uniq UNIQUE (iso3166code2);
16518
7675.1121.53 by Stuart Bishop
New baseline
16519
3691.17.3 by Stuart Bishop
New database baseline
16520
ALTER TABLE ONLY country
16521
    ADD CONSTRAINT country_code3_uniq UNIQUE (iso3166code3);
16522
7675.1121.53 by Stuart Bishop
New baseline
16523
3691.17.3 by Stuart Bishop
New database baseline
16524
ALTER TABLE ONLY country
16525
    ADD CONSTRAINT country_name_uniq UNIQUE (name);
16526
7675.1121.53 by Stuart Bishop
New baseline
16527
3691.17.3 by Stuart Bishop
New database baseline
16528
ALTER TABLE ONLY country
16529
    ADD CONSTRAINT country_pkey PRIMARY KEY (id);
16530
7675.1121.53 by Stuart Bishop
New baseline
16531
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16532
ALTER TABLE ONLY customlanguagecode
16533
    ADD CONSTRAINT customlanguagecode_pkey PRIMARY KEY (id);
16534
7675.1121.53 by Stuart Bishop
New baseline
16535
3691.17.3 by Stuart Bishop
New database baseline
16536
ALTER TABLE ONLY cve
16537
    ADD CONSTRAINT cve_pkey PRIMARY KEY (id);
16538
7675.1121.53 by Stuart Bishop
New baseline
16539
3691.17.3 by Stuart Bishop
New database baseline
16540
ALTER TABLE ONLY cve
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16541
    ADD CONSTRAINT cve_sequence_uniq UNIQUE (sequence);
3691.17.3 by Stuart Bishop
New database baseline
16542
7675.1121.53 by Stuart Bishop
New baseline
16543
3691.17.3 by Stuart Bishop
New database baseline
16544
ALTER TABLE ONLY cvereference
16545
    ADD CONSTRAINT cvereference_pkey PRIMARY KEY (id);
16546
7675.1121.53 by Stuart Bishop
New baseline
16547
7675.395.118 by Stuart Bishop
New database baseline from production
16548
ALTER TABLE ONLY databasecpustats
16549
    ADD CONSTRAINT databasecpustats_pkey PRIMARY KEY (date_created, username);
16550
7675.1121.53 by Stuart Bishop
New baseline
16551
16552
ALTER TABLE ONLY databasediskutilization
16553
    ADD CONSTRAINT databasediskutilization_pkey PRIMARY KEY (date_created, sort);
16554
16555
7675.395.118 by Stuart Bishop
New database baseline from production
16556
ALTER TABLE ONLY databasereplicationlag
16557
    ADD CONSTRAINT databasereplicationlag_pkey PRIMARY KEY (node);
16558
7675.1121.53 by Stuart Bishop
New baseline
16559
7675.395.118 by Stuart Bishop
New database baseline from production
16560
ALTER TABLE ONLY databasetablestats
16561
    ADD CONSTRAINT databasetablestats_pkey PRIMARY KEY (date_created, schemaname, relname);
16562
16563
ALTER TABLE databasetablestats CLUSTER ON databasetablestats_pkey;
16564
7675.1121.53 by Stuart Bishop
New baseline
16565
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16566
ALTER TABLE ONLY diff
16567
    ADD CONSTRAINT diff_pkey PRIMARY KEY (id);
16568
7675.1121.53 by Stuart Bishop
New baseline
16569
3691.17.3 by Stuart Bishop
New database baseline
16570
ALTER TABLE ONLY distribution
16571
    ADD CONSTRAINT distribution_name_key UNIQUE (name);
16572
7675.1121.53 by Stuart Bishop
New baseline
16573
3691.17.3 by Stuart Bishop
New database baseline
16574
ALTER TABLE ONLY distribution
16575
    ADD CONSTRAINT distribution_pkey PRIMARY KEY (id);
16576
7675.1121.53 by Stuart Bishop
New baseline
16577
16578
ALTER TABLE ONLY distributionjob
16579
    ADD CONSTRAINT distributionjob__job__key UNIQUE (job);
16580
16581
16582
ALTER TABLE ONLY distributionjob
16583
    ADD CONSTRAINT distributionjob_pkey PRIMARY KEY (id);
16584
3691.17.3 by Stuart Bishop
New database baseline
16585
16586
ALTER TABLE ONLY distributionmirror
16587
    ADD CONSTRAINT distributionmirror_ftp_base_url_key UNIQUE (ftp_base_url);
16588
7675.1121.53 by Stuart Bishop
New baseline
16589
3691.17.3 by Stuart Bishop
New database baseline
16590
ALTER TABLE ONLY distributionmirror
16591
    ADD CONSTRAINT distributionmirror_http_base_url_key UNIQUE (http_base_url);
16592
7675.1121.53 by Stuart Bishop
New baseline
16593
3691.17.3 by Stuart Bishop
New database baseline
16594
ALTER TABLE ONLY distributionmirror
16595
    ADD CONSTRAINT distributionmirror_name_key UNIQUE (name);
16596
7675.1121.53 by Stuart Bishop
New baseline
16597
3691.17.3 by Stuart Bishop
New database baseline
16598
ALTER TABLE ONLY distributionmirror
16599
    ADD CONSTRAINT distributionmirror_pkey PRIMARY KEY (id);
16600
7675.1121.53 by Stuart Bishop
New baseline
16601
3691.17.3 by Stuart Bishop
New database baseline
16602
ALTER TABLE ONLY distributionmirror
16603
    ADD CONSTRAINT distributionmirror_rsync_base_url_key UNIQUE (rsync_base_url);
16604
7675.1121.53 by Stuart Bishop
New baseline
16605
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16606
ALTER TABLE ONLY distributionsourcepackage
16607
    ADD CONSTRAINT distributionpackage__sourcepackagename__distribution__key UNIQUE (sourcepackagename, distribution);
16608
7675.395.118 by Stuart Bishop
New database baseline from production
16609
ALTER TABLE distributionsourcepackage CLUSTER ON distributionpackage__sourcepackagename__distribution__key;
16610
7675.1121.53 by Stuart Bishop
New baseline
16611
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16612
ALTER TABLE ONLY distributionsourcepackage
16613
    ADD CONSTRAINT distributionsourcepackage_pkey PRIMARY KEY (id);
16614
7675.1121.53 by Stuart Bishop
New baseline
16615
3691.17.3 by Stuart Bishop
New database baseline
16616
ALTER TABLE ONLY distributionsourcepackagecache
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16617
    ADD CONSTRAINT distributionsourcepackagecache__distribution__sourcepackagename UNIQUE (distribution, sourcepackagename, archive);
4212.1.1 by Stuart Bishop
New database baseline
16618
7675.1121.53 by Stuart Bishop
New baseline
16619
3691.17.3 by Stuart Bishop
New database baseline
16620
ALTER TABLE ONLY distributionsourcepackagecache
16621
    ADD CONSTRAINT distributionsourcepackagecache_pkey PRIMARY KEY (id);
16622
7675.1121.53 by Stuart Bishop
New baseline
16623
5529.1.3 by Stuart Bishop
New database schema baseline
16624
ALTER TABLE ONLY distroarchseries
3691.17.3 by Stuart Bishop
New database baseline
16625
    ADD CONSTRAINT distroarchrelease_pkey PRIMARY KEY (id);
16626
7675.1121.53 by Stuart Bishop
New baseline
16627
5529.1.3 by Stuart Bishop
New database schema baseline
16628
ALTER TABLE ONLY distroarchseries
16629
    ADD CONSTRAINT distroarchseries__architecturetag__distroseries__key UNIQUE (architecturetag, distroseries);
16630
7675.1121.53 by Stuart Bishop
New baseline
16631
5529.1.3 by Stuart Bishop
New database schema baseline
16632
ALTER TABLE ONLY distroarchseries
16633
    ADD CONSTRAINT distroarchseries__processorfamily__distroseries__key UNIQUE (processorfamily, distroseries);
16634
7675.1121.53 by Stuart Bishop
New baseline
16635
16636
ALTER TABLE ONLY distroseries
16637
    ADD CONSTRAINT distrorelease__distribution__name__key UNIQUE (distribution, name);
16638
3691.17.3 by Stuart Bishop
New database baseline
16639
5529.1.3 by Stuart Bishop
New database schema baseline
16640
ALTER TABLE ONLY distroseries
3691.17.3 by Stuart Bishop
New database baseline
16641
    ADD CONSTRAINT distrorelease_pkey PRIMARY KEY (id);
16642
7675.1121.53 by Stuart Bishop
New baseline
16643
5529.1.3 by Stuart Bishop
New database schema baseline
16644
ALTER TABLE ONLY distroserieslanguage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16645
    ADD CONSTRAINT distroreleaselanguage_distrorelease_language_uniq UNIQUE (distroseries, language);
3691.17.3 by Stuart Bishop
New database baseline
16646
7675.1121.53 by Stuart Bishop
New baseline
16647
5529.1.3 by Stuart Bishop
New database schema baseline
16648
ALTER TABLE ONLY distroserieslanguage
3691.17.3 by Stuart Bishop
New database baseline
16649
    ADD CONSTRAINT distroreleaselanguage_pkey PRIMARY KEY (id);
16650
7675.1121.53 by Stuart Bishop
New baseline
16651
5529.1.3 by Stuart Bishop
New database schema baseline
16652
ALTER TABLE ONLY distroseriespackagecache
3691.17.3 by Stuart Bishop
New database baseline
16653
    ADD CONSTRAINT distroreleasepackagecache_pkey PRIMARY KEY (id);
16654
7675.1121.53 by Stuart Bishop
New baseline
16655
4990.1.1 by Stuart Bishop
New database baseline
16656
ALTER TABLE ONLY packageupload
3691.17.3 by Stuart Bishop
New database baseline
16657
    ADD CONSTRAINT distroreleasequeue_pkey PRIMARY KEY (id);
16658
7675.1121.53 by Stuart Bishop
New baseline
16659
4990.1.1 by Stuart Bishop
New database baseline
16660
ALTER TABLE ONLY packageuploadbuild
16661
    ADD CONSTRAINT distroreleasequeuebuild__distroreleasequeue__build__unique UNIQUE (packageupload, build);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
16662
7675.1121.53 by Stuart Bishop
New baseline
16663
4990.1.1 by Stuart Bishop
New database baseline
16664
ALTER TABLE ONLY packageuploadbuild
3691.17.3 by Stuart Bishop
New database baseline
16665
    ADD CONSTRAINT distroreleasequeuebuild_pkey PRIMARY KEY (id);
16666
7675.1121.53 by Stuart Bishop
New baseline
16667
4990.1.1 by Stuart Bishop
New database baseline
16668
ALTER TABLE ONLY packageuploadcustom
3691.17.3 by Stuart Bishop
New database baseline
16669
    ADD CONSTRAINT distroreleasequeuecustom_pkey PRIMARY KEY (id);
16670
7675.1121.53 by Stuart Bishop
New baseline
16671
4990.1.1 by Stuart Bishop
New database baseline
16672
ALTER TABLE ONLY packageuploadsource
3691.17.3 by Stuart Bishop
New database baseline
16673
    ADD CONSTRAINT distroreleasequeuesource_pkey PRIMARY KEY (id);
16674
7675.1121.53 by Stuart Bishop
New baseline
16675
16676
ALTER TABLE ONLY distroseries
16677
    ADD CONSTRAINT distroseries__distribution__id__key UNIQUE (distribution, id);
16678
16679
16680
ALTER TABLE ONLY distroseriesdifference
16681
    ADD CONSTRAINT distroseriesdifference__derived_series__parent_series__source_p UNIQUE (derived_series, parent_series, source_package_name);
16682
16683
16684
ALTER TABLE ONLY distroseriesdifference
16685
    ADD CONSTRAINT distroseriesdifference_pkey PRIMARY KEY (id);
16686
16687
16688
ALTER TABLE ONLY distroseriesdifferencemessage
16689
    ADD CONSTRAINT distroseriesdifferencemessage_message_key UNIQUE (message);
16690
16691
16692
ALTER TABLE ONLY distroseriesdifferencemessage
16693
    ADD CONSTRAINT distroseriesdifferencemessage_pkey PRIMARY KEY (id);
16694
16695
5529.1.3 by Stuart Bishop
New database schema baseline
16696
ALTER TABLE ONLY distroseriespackagecache
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16697
    ADD CONSTRAINT distroseriespackagecache__distroseries__binarypackagename__arch UNIQUE (distroseries, binarypackagename, archive);
5529.1.3 by Stuart Bishop
New database schema baseline
16698
7675.1121.53 by Stuart Bishop
New baseline
16699
16700
ALTER TABLE ONLY distroseriesparent
16701
    ADD CONSTRAINT distroseriesparent_pkey PRIMARY KEY (id);
16702
16703
3691.17.3 by Stuart Bishop
New database baseline
16704
ALTER TABLE ONLY emailaddress
16705
    ADD CONSTRAINT emailaddress_pkey PRIMARY KEY (id);
16706
7675.1121.53 by Stuart Bishop
New baseline
16707
4990.1.1 by Stuart Bishop
New database baseline
16708
ALTER TABLE ONLY entitlement
16709
    ADD CONSTRAINT entitlement_pkey PRIMARY KEY (id);
16710
7675.1121.53 by Stuart Bishop
New baseline
16711
4990.1.1 by Stuart Bishop
New database baseline
16712
ALTER TABLE ONLY faq
16713
    ADD CONSTRAINT faq_pkey PRIMARY KEY (id);
16714
7675.1121.53 by Stuart Bishop
New baseline
16715
7675.395.118 by Stuart Bishop
New database baseline from production
16716
ALTER TABLE ONLY featureflag
16717
    ADD CONSTRAINT feature_flag_pkey PRIMARY KEY (scope, flag);
16718
7675.1121.53 by Stuart Bishop
New baseline
16719
7675.395.118 by Stuart Bishop
New database baseline from production
16720
ALTER TABLE ONLY featureflag
16721
    ADD CONSTRAINT feature_flag_unique_priority_per_flag UNIQUE (flag, priority);
16722
7675.1121.53 by Stuart Bishop
New baseline
16723
5529.1.3 by Stuart Bishop
New database schema baseline
16724
ALTER TABLE ONLY featuredproject
16725
    ADD CONSTRAINT featuredproject_pkey PRIMARY KEY (id);
16726
7675.1121.53 by Stuart Bishop
New baseline
16727
16728
ALTER TABLE ONLY featureflagchangelogentry
16729
    ADD CONSTRAINT featureflagchangelogentry_pkey PRIMARY KEY (id);
16730
16731
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16732
ALTER TABLE ONLY flatpackagesetinclusion
16733
    ADD CONSTRAINT flatpackagesetinclusion__parent__child__key UNIQUE (parent, child);
16734
7675.1121.53 by Stuart Bishop
New baseline
16735
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16736
ALTER TABLE ONLY flatpackagesetinclusion
16737
    ADD CONSTRAINT flatpackagesetinclusion_pkey PRIMARY KEY (id);
16738
7675.1121.53 by Stuart Bishop
New baseline
16739
3691.17.3 by Stuart Bishop
New database baseline
16740
ALTER TABLE ONLY fticache
16741
    ADD CONSTRAINT fticache_pkey PRIMARY KEY (id);
16742
7675.1121.53 by Stuart Bishop
New baseline
16743
3691.17.3 by Stuart Bishop
New database baseline
16744
ALTER TABLE ONLY fticache
16745
    ADD CONSTRAINT fticache_tablename_key UNIQUE (tablename);
16746
7675.1121.53 by Stuart Bishop
New baseline
16747
3691.17.3 by Stuart Bishop
New database baseline
16748
ALTER TABLE ONLY gpgkey
16749
    ADD CONSTRAINT gpgkey_fingerprint_key UNIQUE (fingerprint);
16750
7675.1121.53 by Stuart Bishop
New baseline
16751
3691.17.3 by Stuart Bishop
New database baseline
16752
ALTER TABLE ONLY gpgkey
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16753
    ADD CONSTRAINT gpgkey_owner_key UNIQUE (owner, id);
3691.17.3 by Stuart Bishop
New database baseline
16754
7675.1121.53 by Stuart Bishop
New baseline
16755
3691.17.3 by Stuart Bishop
New database baseline
16756
ALTER TABLE ONLY gpgkey
16757
    ADD CONSTRAINT gpgkey_pkey PRIMARY KEY (id);
16758
7675.1121.53 by Stuart Bishop
New baseline
16759
5529.1.3 by Stuart Bishop
New database schema baseline
16760
ALTER TABLE ONLY hwdevice
16761
    ADD CONSTRAINT hwdevice__bus_vendor_id__bus_product_id__variant__key UNIQUE (bus_vendor_id, bus_product_id, variant);
16762
7675.1121.53 by Stuart Bishop
New baseline
16763
5529.1.3 by Stuart Bishop
New database schema baseline
16764
ALTER TABLE ONLY hwdevice
16765
    ADD CONSTRAINT hwdevice_pkey PRIMARY KEY (id);
16766
7675.1121.53 by Stuart Bishop
New baseline
16767
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16768
ALTER TABLE ONLY hwdeviceclass
16769
    ADD CONSTRAINT hwdeviceclass_pkey PRIMARY KEY (id);
16770
7675.1121.53 by Stuart Bishop
New baseline
16771
5529.1.3 by Stuart Bishop
New database schema baseline
16772
ALTER TABLE ONLY hwdevicedriverlink
16773
    ADD CONSTRAINT hwdevicedriverlink_pkey PRIMARY KEY (id);
16774
7675.1121.53 by Stuart Bishop
New baseline
16775
5529.1.3 by Stuart Bishop
New database schema baseline
16776
ALTER TABLE ONLY hwdevicenamevariant
16777
    ADD CONSTRAINT hwdevicenamevariant__vendor_name__product_name__device__key UNIQUE (vendor_name, product_name, device);
16778
7675.1121.53 by Stuart Bishop
New baseline
16779
5529.1.3 by Stuart Bishop
New database schema baseline
16780
ALTER TABLE ONLY hwdevicenamevariant
16781
    ADD CONSTRAINT hwdevicenamevariant_pkey PRIMARY KEY (id);
16782
7675.1121.53 by Stuart Bishop
New baseline
16783
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16784
ALTER TABLE ONLY hwdmihandle
16785
    ADD CONSTRAINT hwdmihandle_pkey PRIMARY KEY (id);
16786
7675.1121.53 by Stuart Bishop
New baseline
16787
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16788
ALTER TABLE ONLY hwdmivalue
16789
    ADD CONSTRAINT hwdmivalue_pkey PRIMARY KEY (id);
16790
7675.1121.53 by Stuart Bishop
New baseline
16791
5529.1.3 by Stuart Bishop
New database schema baseline
16792
ALTER TABLE ONLY hwdriver
16793
    ADD CONSTRAINT hwdriver__package_name__name__key UNIQUE (package_name, name);
16794
7675.1121.53 by Stuart Bishop
New baseline
16795
5529.1.3 by Stuart Bishop
New database schema baseline
16796
ALTER TABLE ONLY hwdriver
16797
    ADD CONSTRAINT hwdriver_pkey PRIMARY KEY (id);
16798
7675.1121.53 by Stuart Bishop
New baseline
16799
4990.1.1 by Stuart Bishop
New database baseline
16800
ALTER TABLE ONLY hwsubmission
16801
    ADD CONSTRAINT hwsubmission__submission_key__key UNIQUE (submission_key);
16802
7675.1121.53 by Stuart Bishop
New baseline
16803
4990.1.1 by Stuart Bishop
New database baseline
16804
ALTER TABLE ONLY hwsubmission
16805
    ADD CONSTRAINT hwsubmission_pkey PRIMARY KEY (id);
16806
7675.1121.53 by Stuart Bishop
New baseline
16807
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16808
ALTER TABLE ONLY hwsubmissionbug
16809
    ADD CONSTRAINT hwsubmissionbug__submission__bug__key UNIQUE (submission, bug);
16810
7675.1121.53 by Stuart Bishop
New baseline
16811
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16812
ALTER TABLE ONLY hwsubmissionbug
16813
    ADD CONSTRAINT hwsubmissionbug_pkey PRIMARY KEY (id);
5529.1.3 by Stuart Bishop
New database schema baseline
16814
7675.1121.53 by Stuart Bishop
New baseline
16815
5529.1.3 by Stuart Bishop
New database schema baseline
16816
ALTER TABLE ONLY hwsubmissiondevice
16817
    ADD CONSTRAINT hwsubmissiondevice_pkey PRIMARY KEY (id);
16818
7675.1121.53 by Stuart Bishop
New baseline
16819
4990.1.1 by Stuart Bishop
New database baseline
16820
ALTER TABLE ONLY hwsystemfingerprint
16821
    ADD CONSTRAINT hwsystemfingerprint__fingerprint__key UNIQUE (fingerprint);
16822
7675.1121.53 by Stuart Bishop
New baseline
16823
4990.1.1 by Stuart Bishop
New database baseline
16824
ALTER TABLE ONLY hwsystemfingerprint
16825
    ADD CONSTRAINT hwsystemfingerprint_pkey PRIMARY KEY (id);
16826
7675.1121.53 by Stuart Bishop
New baseline
16827
5529.1.3 by Stuart Bishop
New database schema baseline
16828
ALTER TABLE ONLY hwtest
16829
    ADD CONSTRAINT hwtest_pkey PRIMARY KEY (id);
16830
7675.1121.53 by Stuart Bishop
New baseline
16831
5529.1.3 by Stuart Bishop
New database schema baseline
16832
ALTER TABLE ONLY hwtestanswer
16833
    ADD CONSTRAINT hwtestanswer_pkey PRIMARY KEY (id);
16834
7675.1121.53 by Stuart Bishop
New baseline
16835
5529.1.3 by Stuart Bishop
New database schema baseline
16836
ALTER TABLE ONLY hwtestanswerchoice
16837
    ADD CONSTRAINT hwtestanswerchoice__choice__test__key UNIQUE (choice, test);
16838
7675.1121.53 by Stuart Bishop
New baseline
16839
5529.1.3 by Stuart Bishop
New database schema baseline
16840
ALTER TABLE ONLY hwtestanswerchoice
16841
    ADD CONSTRAINT hwtestanswerchoice__test__id__key UNIQUE (test, id);
16842
7675.1121.53 by Stuart Bishop
New baseline
16843
5529.1.3 by Stuart Bishop
New database schema baseline
16844
ALTER TABLE ONLY hwtestanswerchoice
16845
    ADD CONSTRAINT hwtestanswerchoice_pkey PRIMARY KEY (id);
16846
7675.1121.53 by Stuart Bishop
New baseline
16847
5529.1.3 by Stuart Bishop
New database schema baseline
16848
ALTER TABLE ONLY hwtestanswercount
16849
    ADD CONSTRAINT hwtestanswercount_pkey PRIMARY KEY (id);
16850
7675.1121.53 by Stuart Bishop
New baseline
16851
5529.1.3 by Stuart Bishop
New database schema baseline
16852
ALTER TABLE ONLY hwtestanswercountdevice
16853
    ADD CONSTRAINT hwtestanswercountdevice__answer__device_driver__key UNIQUE (answer, device_driver);
16854
7675.1121.53 by Stuart Bishop
New baseline
16855
5529.1.3 by Stuart Bishop
New database schema baseline
16856
ALTER TABLE ONLY hwtestanswercountdevice
16857
    ADD CONSTRAINT hwtestanswercountdevice_pkey PRIMARY KEY (id);
16858
7675.1121.53 by Stuart Bishop
New baseline
16859
5529.1.3 by Stuart Bishop
New database schema baseline
16860
ALTER TABLE ONLY hwtestanswerdevice
16861
    ADD CONSTRAINT hwtestanswerdevice__answer__device_driver__key UNIQUE (answer, device_driver);
16862
7675.1121.53 by Stuart Bishop
New baseline
16863
5529.1.3 by Stuart Bishop
New database schema baseline
16864
ALTER TABLE ONLY hwtestanswerdevice
16865
    ADD CONSTRAINT hwtestanswerdevice_pkey PRIMARY KEY (id);
16866
7675.1121.53 by Stuart Bishop
New baseline
16867
5529.1.3 by Stuart Bishop
New database schema baseline
16868
ALTER TABLE ONLY hwvendorid
16869
    ADD CONSTRAINT hwvendorid__bus_vendor_id__vendor_name__key UNIQUE (bus, vendor_id_for_bus, vendor_name);
16870
7675.1121.53 by Stuart Bishop
New baseline
16871
5529.1.3 by Stuart Bishop
New database schema baseline
16872
ALTER TABLE ONLY hwvendorid
16873
    ADD CONSTRAINT hwvendorid_pkey PRIMARY KEY (id);
16874
7675.1121.53 by Stuart Bishop
New baseline
16875
5529.1.3 by Stuart Bishop
New database schema baseline
16876
ALTER TABLE ONLY hwvendorname
16877
    ADD CONSTRAINT hwvendorname_pkey PRIMARY KEY (id);
16878
7675.1121.53 by Stuart Bishop
New baseline
16879
16880
ALTER TABLE ONLY incrementaldiff
16881
    ADD CONSTRAINT incrementaldiff_pkey PRIMARY KEY (id);
16882
16883
3691.17.3 by Stuart Bishop
New database baseline
16884
ALTER TABLE ONLY ircid
16885
    ADD CONSTRAINT ircid_pkey PRIMARY KEY (id);
16886
7675.1121.53 by Stuart Bishop
New baseline
16887
3691.17.3 by Stuart Bishop
New database baseline
16888
ALTER TABLE ONLY jabberid
16889
    ADD CONSTRAINT jabberid_jabberid_key UNIQUE (jabberid);
16890
7675.1121.53 by Stuart Bishop
New baseline
16891
3691.17.3 by Stuart Bishop
New database baseline
16892
ALTER TABLE ONLY jabberid
16893
    ADD CONSTRAINT jabberid_pkey PRIMARY KEY (id);
16894
7675.1121.53 by Stuart Bishop
New baseline
16895
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16896
ALTER TABLE ONLY job
16897
    ADD CONSTRAINT job__status__id__key UNIQUE (status, id);
16898
7675.1121.53 by Stuart Bishop
New baseline
16899
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16900
ALTER TABLE ONLY job
16901
    ADD CONSTRAINT job_pkey PRIMARY KEY (id);
16902
7675.395.118 by Stuart Bishop
New database baseline from production
16903
ALTER TABLE job CLUSTER ON job_pkey;
16904
7675.1121.53 by Stuart Bishop
New baseline
16905
3691.17.3 by Stuart Bishop
New database baseline
16906
ALTER TABLE ONLY karma
16907
    ADD CONSTRAINT karma_pkey PRIMARY KEY (id);
16908
7675.1121.53 by Stuart Bishop
New baseline
16909
3691.17.3 by Stuart Bishop
New database baseline
16910
ALTER TABLE ONLY karmaaction
16911
    ADD CONSTRAINT karmaaction_name_uniq UNIQUE (name);
16912
7675.1121.53 by Stuart Bishop
New baseline
16913
3691.17.3 by Stuart Bishop
New database baseline
16914
ALTER TABLE ONLY karmaaction
16915
    ADD CONSTRAINT karmaaction_pkey PRIMARY KEY (id);
16916
7675.1121.53 by Stuart Bishop
New baseline
16917
3691.17.3 by Stuart Bishop
New database baseline
16918
ALTER TABLE ONLY karmacache
16919
    ADD CONSTRAINT karmacache_pkey PRIMARY KEY (id);
16920
7675.1121.53 by Stuart Bishop
New baseline
16921
3691.17.3 by Stuart Bishop
New database baseline
16922
ALTER TABLE ONLY karmacategory
16923
    ADD CONSTRAINT karmacategory_pkey PRIMARY KEY (id);
16924
7675.1121.53 by Stuart Bishop
New baseline
16925
3691.17.3 by Stuart Bishop
New database baseline
16926
ALTER TABLE ONLY karmatotalcache
16927
    ADD CONSTRAINT karmatotalcache_person_key UNIQUE (person);
16928
7675.1121.53 by Stuart Bishop
New baseline
16929
3691.17.3 by Stuart Bishop
New database baseline
16930
ALTER TABLE ONLY karmatotalcache
16931
    ADD CONSTRAINT karmatotalcache_pkey PRIMARY KEY (id);
16932
7675.1121.53 by Stuart Bishop
New baseline
16933
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16934
ALTER TABLE ONLY language
3691.17.3 by Stuart Bishop
New database baseline
16935
    ADD CONSTRAINT language_code_key UNIQUE (code);
16936
7675.1121.53 by Stuart Bishop
New baseline
16937
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
16938
ALTER TABLE ONLY language
3691.17.3 by Stuart Bishop
New database baseline
16939
    ADD CONSTRAINT language_pkey PRIMARY KEY (id);
16940
7675.1121.53 by Stuart Bishop
New baseline
16941
4990.1.1 by Stuart Bishop
New database baseline
16942
ALTER TABLE ONLY languagepack
16943
    ADD CONSTRAINT languagepack_pkey PRIMARY KEY (id);
16944
7675.1121.53 by Stuart Bishop
New baseline
16945
3691.17.3 by Stuart Bishop
New database baseline
16946
ALTER TABLE ONLY launchpaddatabaserevision
16947
    ADD CONSTRAINT launchpaddatabaserevision_pkey PRIMARY KEY (major, minor, patch);
16948
7675.1121.53 by Stuart Bishop
New baseline
16949
16950
ALTER TABLE ONLY launchpaddatabaseupdatelog
16951
    ADD CONSTRAINT launchpaddatabaseupdatelog_pkey PRIMARY KEY (id);
16952
16953
3691.17.3 by Stuart Bishop
New database baseline
16954
ALTER TABLE ONLY launchpadstatistic
16955
    ADD CONSTRAINT launchpadstatistic_pkey PRIMARY KEY (id);
16956
7675.1121.53 by Stuart Bishop
New baseline
16957
3691.17.3 by Stuart Bishop
New database baseline
16958
ALTER TABLE ONLY launchpadstatistic
16959
    ADD CONSTRAINT launchpadstatistics_uniq_name UNIQUE (name);
16960
7675.1121.53 by Stuart Bishop
New baseline
16961
3691.17.3 by Stuart Bishop
New database baseline
16962
ALTER TABLE ONLY libraryfilealias
16963
    ADD CONSTRAINT libraryfilealias_pkey PRIMARY KEY (id);
16964
4212.1.1 by Stuart Bishop
New database baseline
16965
ALTER TABLE libraryfilealias CLUSTER ON libraryfilealias_pkey;
16966
7675.1121.53 by Stuart Bishop
New baseline
16967
3691.17.3 by Stuart Bishop
New database baseline
16968
ALTER TABLE ONLY libraryfilecontent
16969
    ADD CONSTRAINT libraryfilecontent_pkey PRIMARY KEY (id);
16970
4212.1.1 by Stuart Bishop
New database baseline
16971
ALTER TABLE libraryfilecontent CLUSTER ON libraryfilecontent_pkey;
16972
7675.1121.53 by Stuart Bishop
New baseline
16973
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16974
ALTER TABLE ONLY libraryfiledownloadcount
16975
    ADD CONSTRAINT libraryfiledownloadcount__libraryfilealias__day__country__key UNIQUE (libraryfilealias, day, country);
16976
7675.1121.53 by Stuart Bishop
New baseline
16977
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
16978
ALTER TABLE ONLY libraryfiledownloadcount
16979
    ADD CONSTRAINT libraryfiledownloadcount_pkey PRIMARY KEY (id);
16980
7675.1121.53 by Stuart Bishop
New baseline
16981
3691.17.3 by Stuart Bishop
New database baseline
16982
ALTER TABLE ONLY logintoken
5529.1.3 by Stuart Bishop
New database schema baseline
16983
    ADD CONSTRAINT logintoken_pkey PRIMARY KEY (id);
16984
7675.1121.53 by Stuart Bishop
New baseline
16985
5529.1.3 by Stuart Bishop
New database schema baseline
16986
ALTER TABLE ONLY logintoken
3691.17.3 by Stuart Bishop
New database baseline
16987
    ADD CONSTRAINT logintoken_token_key UNIQUE (token);
16988
7675.1121.53 by Stuart Bishop
New baseline
16989
7675.395.118 by Stuart Bishop
New database baseline from production
16990
ALTER TABLE ONLY lp_account
16991
    ADD CONSTRAINT lp_account__openid_identifier__key UNIQUE (openid_identifier);
16992
7675.1121.53 by Stuart Bishop
New baseline
16993
7675.395.118 by Stuart Bishop
New database baseline from production
16994
ALTER TABLE ONLY lp_account
16995
    ADD CONSTRAINT lp_account_pkey PRIMARY KEY (id);
16996
7675.1121.53 by Stuart Bishop
New baseline
16997
16998
ALTER TABLE ONLY lp_openididentifier
16999
    ADD CONSTRAINT lp_openididentifier_pkey PRIMARY KEY (identifier);
17000
17001
7675.395.118 by Stuart Bishop
New database baseline from production
17002
ALTER TABLE ONLY lp_person
17003
    ADD CONSTRAINT lp_person__account__key UNIQUE (account);
17004
7675.1121.53 by Stuart Bishop
New baseline
17005
7675.395.118 by Stuart Bishop
New database baseline from production
17006
ALTER TABLE ONLY lp_person
17007
    ADD CONSTRAINT lp_person__name__key UNIQUE (name);
17008
7675.1121.53 by Stuart Bishop
New baseline
17009
7675.395.118 by Stuart Bishop
New database baseline from production
17010
ALTER TABLE ONLY lp_person
17011
    ADD CONSTRAINT lp_person_pkey PRIMARY KEY (id);
17012
7675.1121.53 by Stuart Bishop
New baseline
17013
7675.395.118 by Stuart Bishop
New database baseline from production
17014
ALTER TABLE ONLY lp_personlocation
17015
    ADD CONSTRAINT lp_personlocation__person__key UNIQUE (person);
17016
7675.1121.53 by Stuart Bishop
New baseline
17017
7675.395.118 by Stuart Bishop
New database baseline from production
17018
ALTER TABLE ONLY lp_personlocation
17019
    ADD CONSTRAINT lp_personlocation_pkey PRIMARY KEY (id);
17020
7675.1121.53 by Stuart Bishop
New baseline
17021
7675.395.118 by Stuart Bishop
New database baseline from production
17022
ALTER TABLE ONLY lp_teamparticipation
17023
    ADD CONSTRAINT lp_teamparticipation_pkey PRIMARY KEY (id);
17024
7675.1121.53 by Stuart Bishop
New baseline
17025
7675.395.118 by Stuart Bishop
New database baseline from production
17026
ALTER TABLE ONLY lp_teamparticipation
17027
    ADD CONSTRAINT lp_teamperticipation__team__person__key UNIQUE (team, person);
17028
7675.1121.53 by Stuart Bishop
New baseline
17029
4990.1.1 by Stuart Bishop
New database baseline
17030
ALTER TABLE ONLY mailinglist
17031
    ADD CONSTRAINT mailinglist_pkey PRIMARY KEY (id);
17032
7675.1121.53 by Stuart Bishop
New baseline
17033
4990.1.1 by Stuart Bishop
New database baseline
17034
ALTER TABLE ONLY mailinglist
17035
    ADD CONSTRAINT mailinglist_team_key UNIQUE (team);
17036
17037
17038
ALTER TABLE ONLY mailinglistsubscription
17039
    ADD CONSTRAINT mailinglistsubscription_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
17040
7675.1121.53 by Stuart Bishop
New baseline
17041
3691.17.3 by Stuart Bishop
New database baseline
17042
ALTER TABLE ONLY teammembership
17043
    ADD CONSTRAINT membership_person_key UNIQUE (person, team);
17044
7675.1121.53 by Stuart Bishop
New baseline
17045
3691.17.3 by Stuart Bishop
New database baseline
17046
ALTER TABLE ONLY teammembership
17047
    ADD CONSTRAINT membership_pkey PRIMARY KEY (id);
17048
4212.1.1 by Stuart Bishop
New database baseline
17049
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17050
ALTER TABLE ONLY mergedirectivejob
17051
    ADD CONSTRAINT mergedirectivejob_job_key UNIQUE (job);
17052
7675.1121.53 by Stuart Bishop
New baseline
17053
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17054
ALTER TABLE ONLY mergedirectivejob
17055
    ADD CONSTRAINT mergedirectivejob_pkey PRIMARY KEY (id);
17056
7675.1121.53 by Stuart Bishop
New baseline
17057
3691.17.3 by Stuart Bishop
New database baseline
17058
ALTER TABLE ONLY message
17059
    ADD CONSTRAINT message_pkey PRIMARY KEY (id);
17060
7675.1121.53 by Stuart Bishop
New baseline
17061
ALTER TABLE message CLUSTER ON message_pkey;
17062
17063
4990.1.1 by Stuart Bishop
New database baseline
17064
ALTER TABLE ONLY messageapproval
17065
    ADD CONSTRAINT messageapproval_pkey PRIMARY KEY (id);
17066
7675.1121.53 by Stuart Bishop
New baseline
17067
3691.17.3 by Stuart Bishop
New database baseline
17068
ALTER TABLE ONLY messagechunk
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17069
    ADD CONSTRAINT messagechunk_message_idx UNIQUE (message, sequence);
3691.17.3 by Stuart Bishop
New database baseline
17070
7675.1121.53 by Stuart Bishop
New baseline
17071
3691.17.3 by Stuart Bishop
New database baseline
17072
ALTER TABLE ONLY messagechunk
17073
    ADD CONSTRAINT messagechunk_pkey PRIMARY KEY (id);
17074
7675.1121.53 by Stuart Bishop
New baseline
17075
3691.17.3 by Stuart Bishop
New database baseline
17076
ALTER TABLE ONLY milestone
17077
    ADD CONSTRAINT milestone_distribution_id_key UNIQUE (distribution, id);
17078
7675.1121.53 by Stuart Bishop
New baseline
17079
3691.17.3 by Stuart Bishop
New database baseline
17080
ALTER TABLE ONLY milestone
17081
    ADD CONSTRAINT milestone_name_distribution_key UNIQUE (name, distribution);
17082
7675.1121.53 by Stuart Bishop
New baseline
17083
3691.17.3 by Stuart Bishop
New database baseline
17084
ALTER TABLE ONLY milestone
17085
    ADD CONSTRAINT milestone_name_product_key UNIQUE (name, product);
17086
7675.1121.53 by Stuart Bishop
New baseline
17087
3691.17.3 by Stuart Bishop
New database baseline
17088
ALTER TABLE ONLY milestone
17089
    ADD CONSTRAINT milestone_pkey PRIMARY KEY (id);
17090
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17091
ALTER TABLE milestone CLUSTER ON milestone_pkey;
17092
7675.1121.53 by Stuart Bishop
New baseline
17093
3691.17.3 by Stuart Bishop
New database baseline
17094
ALTER TABLE ONLY milestone
17095
    ADD CONSTRAINT milestone_product_id_key UNIQUE (product, id);
17096
7675.1121.53 by Stuart Bishop
New baseline
17097
3691.17.3 by Stuart Bishop
New database baseline
17098
ALTER TABLE ONLY mirror
17099
    ADD CONSTRAINT mirror_name_key UNIQUE (name);
17100
7675.1121.53 by Stuart Bishop
New baseline
17101
3691.17.3 by Stuart Bishop
New database baseline
17102
ALTER TABLE ONLY mirror
17103
    ADD CONSTRAINT mirror_pkey PRIMARY KEY (id);
17104
7675.1121.53 by Stuart Bishop
New baseline
17105
5529.1.3 by Stuart Bishop
New database schema baseline
17106
ALTER TABLE ONLY mirrorcdimagedistroseries
3691.17.3 by Stuart Bishop
New database baseline
17107
    ADD CONSTRAINT mirrorcdimagedistrorelease_pkey PRIMARY KEY (id);
17108
7675.1121.53 by Stuart Bishop
New baseline
17109
5529.1.3 by Stuart Bishop
New database schema baseline
17110
ALTER TABLE ONLY mirrorcdimagedistroseries
17111
    ADD CONSTRAINT mirrorcdimagedistroseries__unq UNIQUE (distroseries, flavour, distribution_mirror);
17112
7675.1121.53 by Stuart Bishop
New baseline
17113
3691.17.3 by Stuart Bishop
New database baseline
17114
ALTER TABLE ONLY mirrorcontent
17115
    ADD CONSTRAINT mirrorcontent_pkey PRIMARY KEY (id);
17116
7675.1121.53 by Stuart Bishop
New baseline
17117
5529.1.3 by Stuart Bishop
New database schema baseline
17118
ALTER TABLE ONLY mirrordistroarchseries
3691.17.3 by Stuart Bishop
New database baseline
17119
    ADD CONSTRAINT mirrordistroarchrelease_pkey PRIMARY KEY (id);
17120
7675.1121.53 by Stuart Bishop
New baseline
17121
5529.1.3 by Stuart Bishop
New database schema baseline
17122
ALTER TABLE ONLY mirrordistroseriessource
3691.17.3 by Stuart Bishop
New database baseline
17123
    ADD CONSTRAINT mirrordistroreleasesource_pkey PRIMARY KEY (id);
17124
7675.1121.53 by Stuart Bishop
New baseline
17125
3691.17.3 by Stuart Bishop
New database baseline
17126
ALTER TABLE ONLY mirrorproberecord
17127
    ADD CONSTRAINT mirrorproberecord_pkey PRIMARY KEY (id);
17128
7675.1121.53 by Stuart Bishop
New baseline
17129
3691.17.3 by Stuart Bishop
New database baseline
17130
ALTER TABLE ONLY mirrorsourcecontent
17131
    ADD CONSTRAINT mirrorsourcecontent_pkey PRIMARY KEY (id);
17132
7675.1121.53 by Stuart Bishop
New baseline
17133
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17134
ALTER TABLE ONLY nameblacklist
17135
    ADD CONSTRAINT nameblacklist__regexp__key UNIQUE (regexp);
17136
7675.1121.53 by Stuart Bishop
New baseline
17137
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17138
ALTER TABLE ONLY nameblacklist
17139
    ADD CONSTRAINT nameblacklist_pkey PRIMARY KEY (id);
17140
7675.1121.53 by Stuart Bishop
New baseline
17141
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17142
ALTER TABLE ONLY oauthaccesstoken
17143
    ADD CONSTRAINT oauthaccesstoken_key_key UNIQUE (key);
17144
7675.1121.53 by Stuart Bishop
New baseline
17145
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17146
ALTER TABLE ONLY oauthaccesstoken
17147
    ADD CONSTRAINT oauthaccesstoken_pkey PRIMARY KEY (id);
17148
7675.1121.53 by Stuart Bishop
New baseline
17149
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17150
ALTER TABLE ONLY oauthconsumer
17151
    ADD CONSTRAINT oauthconsumer_key_key UNIQUE (key);
17152
7675.1121.53 by Stuart Bishop
New baseline
17153
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17154
ALTER TABLE ONLY oauthconsumer
17155
    ADD CONSTRAINT oauthconsumer_pkey PRIMARY KEY (id);
17156
7675.1121.53 by Stuart Bishop
New baseline
17157
17158
ALTER TABLE ONLY oauthnonce
17159
    ADD CONSTRAINT oauthnonce_pkey PRIMARY KEY (access_token, request_timestamp, nonce);
17160
7675.395.118 by Stuart Bishop
New database baseline from production
17161
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17162
ALTER TABLE ONLY oauthrequesttoken
17163
    ADD CONSTRAINT oauthrequesttoken_key_key UNIQUE (key);
17164
7675.1121.53 by Stuart Bishop
New baseline
17165
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17166
ALTER TABLE ONLY oauthrequesttoken
17167
    ADD CONSTRAINT oauthrequesttoken_pkey PRIMARY KEY (id);
17168
7675.1121.53 by Stuart Bishop
New baseline
17169
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17170
ALTER TABLE ONLY officialbugtag
17171
    ADD CONSTRAINT officialbugtag_pkey PRIMARY KEY (id);
17172
4990.1.1 by Stuart Bishop
New database baseline
17173
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17174
ALTER TABLE ONLY openidconsumerassociation
17175
    ADD CONSTRAINT openidconsumerassociation_pkey PRIMARY KEY (server_url, handle);
17176
7675.1121.53 by Stuart Bishop
New baseline
17177
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17178
ALTER TABLE ONLY openidconsumernonce
17179
    ADD CONSTRAINT openidconsumernonce_pkey PRIMARY KEY (server_url, "timestamp", salt);
17180
7675.1121.53 by Stuart Bishop
New baseline
17181
17182
ALTER TABLE ONLY openididentifier
17183
    ADD CONSTRAINT openididentifier_pkey PRIMARY KEY (identifier);
17184
17185
17186
ALTER TABLE ONLY branchmergequeue
17187
    ADD CONSTRAINT owner_name UNIQUE (owner, name);
17188
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17189
7675.395.118 by Stuart Bishop
New database baseline from production
17190
ALTER TABLE ONLY packagebuild
17191
    ADD CONSTRAINT packagebuild_pkey PRIMARY KEY (id);
17192
7675.1121.53 by Stuart Bishop
New baseline
17193
17194
ALTER TABLE ONLY packagecopyjob
17195
    ADD CONSTRAINT packagecopyjob__job__key UNIQUE (job);
17196
17197
17198
ALTER TABLE ONLY packagecopyjob
17199
    ADD CONSTRAINT packagecopyjob_pkey PRIMARY KEY (id);
17200
17201
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17202
ALTER TABLE ONLY packagecopyrequest
17203
    ADD CONSTRAINT packagecopyrequest_pkey PRIMARY KEY (id);
17204
7675.1121.53 by Stuart Bishop
New baseline
17205
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17206
ALTER TABLE ONLY packagediff
17207
    ADD CONSTRAINT packagediff_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
17208
7675.1121.53 by Stuart Bishop
New baseline
17209
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17210
ALTER TABLE ONLY packagesetinclusion
17211
    ADD CONSTRAINT packagepayerinclusion__parent__child__key UNIQUE (parent, child);
17212
7675.1121.53 by Stuart Bishop
New baseline
17213
7675.395.118 by Stuart Bishop
New database baseline from production
17214
ALTER TABLE ONLY binarypackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
17215
    ADD CONSTRAINT packagepublishinghistory_pkey PRIMARY KEY (id);
17216
17217
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17218
ALTER TABLE ONLY packageset
7675.395.118 by Stuart Bishop
New database baseline from production
17219
    ADD CONSTRAINT packageset__name__distroseries__key UNIQUE (name, distroseries);
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17220
7675.1121.53 by Stuart Bishop
New baseline
17221
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17222
ALTER TABLE ONLY packageset
17223
    ADD CONSTRAINT packageset_pkey PRIMARY KEY (id);
17224
7675.1121.53 by Stuart Bishop
New baseline
17225
7675.395.118 by Stuart Bishop
New database baseline from production
17226
ALTER TABLE ONLY packagesetgroup
17227
    ADD CONSTRAINT packagesetgroup_pkey PRIMARY KEY (id);
17228
7675.1121.53 by Stuart Bishop
New baseline
17229
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17230
ALTER TABLE ONLY packagesetinclusion
17231
    ADD CONSTRAINT packagesetinclusion_pkey PRIMARY KEY (id);
17232
7675.1121.53 by Stuart Bishop
New baseline
17233
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17234
ALTER TABLE ONLY packagesetsources
17235
    ADD CONSTRAINT packagesetsources__packageset__sourcepackagename__key UNIQUE (packageset, sourcepackagename);
17236
7675.1121.53 by Stuart Bishop
New baseline
17237
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17238
ALTER TABLE ONLY packagesetsources
17239
    ADD CONSTRAINT packagesetsources_pkey PRIMARY KEY (id);
17240
7675.1121.53 by Stuart Bishop
New baseline
17241
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17242
ALTER TABLE ONLY packageuploadsource
17243
    ADD CONSTRAINT packageuploadsource__packageupload__key UNIQUE (packageupload);
17244
7675.1121.53 by Stuart Bishop
New baseline
17245
3691.17.3 by Stuart Bishop
New database baseline
17246
ALTER TABLE ONLY packaging
7675.395.118 by Stuart Bishop
New database baseline from production
17247
    ADD CONSTRAINT packaging__distroseries__sourcepackagename__key UNIQUE (distroseries, sourcepackagename);
17248
7675.1121.53 by Stuart Bishop
New baseline
17249
7675.395.118 by Stuart Bishop
New database baseline from production
17250
ALTER TABLE ONLY packaging
3691.17.3 by Stuart Bishop
New database baseline
17251
    ADD CONSTRAINT packaging_pkey PRIMARY KEY (id);
17252
7675.1121.53 by Stuart Bishop
New baseline
17253
17254
ALTER TABLE ONLY packagingjob
17255
    ADD CONSTRAINT packagingjob_pkey PRIMARY KEY (id);
17256
17257
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17258
ALTER TABLE ONLY parsedapachelog
17259
    ADD CONSTRAINT parsedapachelog_pkey PRIMARY KEY (id);
17260
7675.1121.53 by Stuart Bishop
New baseline
17261
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17262
ALTER TABLE ONLY person
17263
    ADD CONSTRAINT person__account__key UNIQUE (account);
17264
7675.1121.53 by Stuart Bishop
New baseline
17265
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17266
ALTER TABLE ONLY person
17267
    ADD CONSTRAINT person__name__key UNIQUE (name);
4990.1.1 by Stuart Bishop
New database baseline
17268
7675.1121.53 by Stuart Bishop
New baseline
17269
4990.1.1 by Stuart Bishop
New database baseline
17270
ALTER TABLE ONLY person
3691.17.3 by Stuart Bishop
New database baseline
17271
    ADD CONSTRAINT person_pkey PRIMARY KEY (id);
17272
4212.1.1 by Stuart Bishop
New database baseline
17273
ALTER TABLE person CLUSTER ON person_pkey;
17274
7675.1121.53 by Stuart Bishop
New baseline
17275
3691.17.3 by Stuart Bishop
New database baseline
17276
ALTER TABLE ONLY personlanguage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17277
    ADD CONSTRAINT personlanguage_person_key UNIQUE (person, language);
3691.17.3 by Stuart Bishop
New database baseline
17278
7675.1121.53 by Stuart Bishop
New baseline
17279
3691.17.3 by Stuart Bishop
New database baseline
17280
ALTER TABLE ONLY personlanguage
17281
    ADD CONSTRAINT personlanguage_pkey PRIMARY KEY (id);
17282
7675.1121.53 by Stuart Bishop
New baseline
17283
5529.1.3 by Stuart Bishop
New database schema baseline
17284
ALTER TABLE ONLY personlocation
17285
    ADD CONSTRAINT personlocation_person_key UNIQUE (person);
17286
7675.1121.53 by Stuart Bishop
New baseline
17287
5529.1.3 by Stuart Bishop
New database schema baseline
17288
ALTER TABLE ONLY personlocation
17289
    ADD CONSTRAINT personlocation_pkey PRIMARY KEY (id);
17290
7675.1121.53 by Stuart Bishop
New baseline
17291
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17292
ALTER TABLE ONLY personnotification
17293
    ADD CONSTRAINT personnotification_pkey PRIMARY KEY (id);
17294
7675.1121.53 by Stuart Bishop
New baseline
17295
17296
ALTER TABLE ONLY personsettings
17297
    ADD CONSTRAINT personsettings_pkey PRIMARY KEY (person);
17298
17299
17300
ALTER TABLE ONLY persontransferjob
17301
    ADD CONSTRAINT persontransferjob_job_key UNIQUE (job);
17302
17303
17304
ALTER TABLE ONLY persontransferjob
17305
    ADD CONSTRAINT persontransferjob_pkey PRIMARY KEY (id);
17306
17307
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17308
ALTER TABLE ONLY pillarname
17309
    ADD CONSTRAINT pillarname_name_key UNIQUE (name);
17310
7675.1121.53 by Stuart Bishop
New baseline
17311
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17312
ALTER TABLE ONLY pillarname
17313
    ADD CONSTRAINT pillarname_pkey PRIMARY KEY (id);
3691.17.3 by Stuart Bishop
New database baseline
17314
4212.1.1 by Stuart Bishop
New database baseline
17315
ALTER TABLE pillarname CLUSTER ON pillarname_pkey;
17316
7675.1121.53 by Stuart Bishop
New baseline
17317
3691.17.3 by Stuart Bishop
New database baseline
17318
ALTER TABLE ONLY pocketchroot
5529.1.3 by Stuart Bishop
New database schema baseline
17319
    ADD CONSTRAINT pocketchroot_distroarchrelease_key UNIQUE (distroarchseries, pocket);
3691.17.3 by Stuart Bishop
New database baseline
17320
7675.1121.53 by Stuart Bishop
New baseline
17321
3691.17.3 by Stuart Bishop
New database baseline
17322
ALTER TABLE ONLY pocketchroot
17323
    ADD CONSTRAINT pocketchroot_pkey PRIMARY KEY (id);
17324
17325
17326
ALTER TABLE ONLY poexportrequest
17327
    ADD CONSTRAINT poexportrequest_pkey PRIMARY KEY (id);
17328
7675.1121.53 by Stuart Bishop
New baseline
17329
3691.17.3 by Stuart Bishop
New database baseline
17330
ALTER TABLE ONLY pofile
17331
    ADD CONSTRAINT pofile_pkey PRIMARY KEY (id);
17332
7675.1121.53 by Stuart Bishop
New baseline
17333
17334
ALTER TABLE ONLY pofilestatsjob
17335
    ADD CONSTRAINT pofilestatsjob_pkey PRIMARY KEY (job);
17336
17337
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17338
ALTER TABLE ONLY pofiletranslator
17339
    ADD CONSTRAINT pofiletranslator__person__pofile__key UNIQUE (person, pofile);
17340
4990.1.1 by Stuart Bishop
New database baseline
17341
ALTER TABLE pofiletranslator CLUSTER ON pofiletranslator__person__pofile__key;
17342
7675.1121.53 by Stuart Bishop
New baseline
17343
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17344
ALTER TABLE ONLY pofiletranslator
17345
    ADD CONSTRAINT pofiletranslator_pkey PRIMARY KEY (id);
17346
7675.1121.53 by Stuart Bishop
New baseline
17347
3691.17.3 by Stuart Bishop
New database baseline
17348
ALTER TABLE ONLY poll
17349
    ADD CONSTRAINT poll_pkey PRIMARY KEY (id);
17350
7675.1121.53 by Stuart Bishop
New baseline
17351
3691.17.3 by Stuart Bishop
New database baseline
17352
ALTER TABLE ONLY poll
17353
    ADD CONSTRAINT poll_team_key UNIQUE (team, name);
17354
7675.1121.53 by Stuart Bishop
New baseline
17355
3691.17.3 by Stuart Bishop
New database baseline
17356
ALTER TABLE ONLY polloption
17357
    ADD CONSTRAINT polloption_name_key UNIQUE (name, poll);
17358
7675.1121.53 by Stuart Bishop
New baseline
17359
3691.17.3 by Stuart Bishop
New database baseline
17360
ALTER TABLE ONLY polloption
17361
    ADD CONSTRAINT polloption_pkey PRIMARY KEY (id);
17362
7675.1121.53 by Stuart Bishop
New baseline
17363
3691.17.3 by Stuart Bishop
New database baseline
17364
ALTER TABLE ONLY polloption
17365
    ADD CONSTRAINT polloption_poll_key UNIQUE (poll, id);
17366
7675.1121.53 by Stuart Bishop
New baseline
17367
3691.17.3 by Stuart Bishop
New database baseline
17368
ALTER TABLE ONLY pomsgid
17369
    ADD CONSTRAINT pomsgid_pkey PRIMARY KEY (id);
17370
17371
17372
ALTER TABLE ONLY potemplate
17373
    ADD CONSTRAINT potemplate_pkey PRIMARY KEY (id);
17374
7675.1121.53 by Stuart Bishop
New baseline
17375
3691.17.3 by Stuart Bishop
New database baseline
17376
ALTER TABLE ONLY potmsgset
17377
    ADD CONSTRAINT potmsgset_pkey PRIMARY KEY (id);
17378
7675.1121.53 by Stuart Bishop
New baseline
17379
3691.17.3 by Stuart Bishop
New database baseline
17380
ALTER TABLE ONLY potranslation
17381
    ADD CONSTRAINT potranslation_pkey PRIMARY KEY (id);
17382
7675.1121.53 by Stuart Bishop
New baseline
17383
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17384
ALTER TABLE ONLY previewdiff
17385
    ADD CONSTRAINT previewdiff_pkey PRIMARY KEY (id);
17386
7675.1121.53 by Stuart Bishop
New baseline
17387
3691.17.3 by Stuart Bishop
New database baseline
17388
ALTER TABLE ONLY processor
17389
    ADD CONSTRAINT processor_name_key UNIQUE (name);
17390
7675.1121.53 by Stuart Bishop
New baseline
17391
3691.17.3 by Stuart Bishop
New database baseline
17392
ALTER TABLE ONLY processor
17393
    ADD CONSTRAINT processor_pkey PRIMARY KEY (id);
17394
7675.1121.53 by Stuart Bishop
New baseline
17395
3691.17.3 by Stuart Bishop
New database baseline
17396
ALTER TABLE ONLY processorfamily
17397
    ADD CONSTRAINT processorfamily_name_key UNIQUE (name);
17398
7675.1121.53 by Stuart Bishop
New baseline
17399
3691.17.3 by Stuart Bishop
New database baseline
17400
ALTER TABLE ONLY processorfamily
17401
    ADD CONSTRAINT processorfamily_pkey PRIMARY KEY (id);
17402
7675.1121.53 by Stuart Bishop
New baseline
17403
3691.17.3 by Stuart Bishop
New database baseline
17404
ALTER TABLE ONLY product
17405
    ADD CONSTRAINT product_name_key UNIQUE (name);
17406
7675.1121.53 by Stuart Bishop
New baseline
17407
ALTER TABLE product CLUSTER ON product_name_key;
17408
17409
3691.17.3 by Stuart Bishop
New database baseline
17410
ALTER TABLE ONLY product
17411
    ADD CONSTRAINT product_pkey PRIMARY KEY (id);
17412
17413
5529.1.3 by Stuart Bishop
New database schema baseline
17414
ALTER TABLE ONLY productlicense
17415
    ADD CONSTRAINT productlicense__product__license__key UNIQUE (product, license);
17416
7675.1121.53 by Stuart Bishop
New baseline
17417
5529.1.3 by Stuart Bishop
New database schema baseline
17418
ALTER TABLE ONLY productlicense
17419
    ADD CONSTRAINT productlicense_pkey PRIMARY KEY (id);
17420
7675.1121.53 by Stuart Bishop
New baseline
17421
3691.17.3 by Stuart Bishop
New database baseline
17422
ALTER TABLE ONLY productrelease
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17423
    ADD CONSTRAINT productrelease_milestone_key UNIQUE (milestone);
17424
7675.1121.53 by Stuart Bishop
New baseline
17425
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17426
ALTER TABLE ONLY productrelease
3691.17.3 by Stuart Bishop
New database baseline
17427
    ADD CONSTRAINT productrelease_pkey PRIMARY KEY (id);
17428
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17429
ALTER TABLE productrelease CLUSTER ON productrelease_pkey;
3691.17.3 by Stuart Bishop
New database baseline
17430
7675.1121.53 by Stuart Bishop
New baseline
17431
3691.17.3 by Stuart Bishop
New database baseline
17432
ALTER TABLE ONLY productreleasefile
17433
    ADD CONSTRAINT productreleasefile_pkey PRIMARY KEY (id);
17434
7675.1121.53 by Stuart Bishop
New baseline
17435
3691.17.3 by Stuart Bishop
New database baseline
17436
ALTER TABLE ONLY productseries
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17437
    ADD CONSTRAINT productseries__product__name__key UNIQUE (product, name);
17438
17439
ALTER TABLE productseries CLUSTER ON productseries__product__name__key;
3691.17.3 by Stuart Bishop
New database baseline
17440
7675.1121.53 by Stuart Bishop
New baseline
17441
3691.17.3 by Stuart Bishop
New database baseline
17442
ALTER TABLE ONLY productseries
17443
    ADD CONSTRAINT productseries_pkey PRIMARY KEY (id);
17444
7675.1121.53 by Stuart Bishop
New baseline
17445
3691.17.3 by Stuart Bishop
New database baseline
17446
ALTER TABLE ONLY productseries
17447
    ADD CONSTRAINT productseries_product_series_uniq UNIQUE (product, id);
17448
17449
17450
ALTER TABLE ONLY project
17451
    ADD CONSTRAINT project_name_key UNIQUE (name);
17452
7675.1121.53 by Stuart Bishop
New baseline
17453
3691.17.3 by Stuart Bishop
New database baseline
17454
ALTER TABLE ONLY project
17455
    ADD CONSTRAINT project_pkey PRIMARY KEY (id);
17456
7675.395.118 by Stuart Bishop
New database baseline from production
17457
ALTER TABLE project CLUSTER ON project_pkey;
17458
7675.1121.53 by Stuart Bishop
New baseline
17459
17460
ALTER TABLE ONLY publisherconfig
17461
    ADD CONSTRAINT publisherconfig_pkey PRIMARY KEY (id);
17462
17463
17464
ALTER TABLE ONLY questionjob
17465
    ADD CONSTRAINT questionjob_job_key UNIQUE (job);
17466
17467
17468
ALTER TABLE ONLY questionjob
17469
    ADD CONSTRAINT questionjob_pkey PRIMARY KEY (id);
17470
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17471
17472
ALTER TABLE ONLY revision
17473
    ADD CONSTRAINT revision__id__revision_date__key UNIQUE (id, revision_date);
17474
17475
3691.17.3 by Stuart Bishop
New database baseline
17476
ALTER TABLE ONLY revision
17477
    ADD CONSTRAINT revision_revision_id_unique UNIQUE (revision_id);
17478
7675.1121.53 by Stuart Bishop
New baseline
17479
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17480
ALTER TABLE ONLY revisioncache
17481
    ADD CONSTRAINT revisioncache_pkey PRIMARY KEY (id);
17482
3691.17.3 by Stuart Bishop
New database baseline
17483
4212.1.1 by Stuart Bishop
New database baseline
17484
ALTER TABLE ONLY branchrevision
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17485
    ADD CONSTRAINT revisionnumber_branch_sequence_unique UNIQUE (branch, sequence);
3691.17.3 by Stuart Bishop
New database baseline
17486
7675.1121.53 by Stuart Bishop
New baseline
17487
4212.1.1 by Stuart Bishop
New database baseline
17488
ALTER TABLE ONLY branchrevision
7675.1121.53 by Stuart Bishop
New baseline
17489
    ADD CONSTRAINT revisionnumber_pkey PRIMARY KEY (revision, branch);
17490
3691.17.3 by Stuart Bishop
New database baseline
17491
17492
ALTER TABLE ONLY revisionparent
17493
    ADD CONSTRAINT revisionparent_pkey PRIMARY KEY (id);
17494
7675.1121.53 by Stuart Bishop
New baseline
17495
3691.17.3 by Stuart Bishop
New database baseline
17496
ALTER TABLE ONLY revisionparent
17497
    ADD CONSTRAINT revisionparent_unique UNIQUE (revision, parent_id);
17498
7675.1121.53 by Stuart Bishop
New baseline
17499
4212.1.1 by Stuart Bishop
New database baseline
17500
ALTER TABLE ONLY revisionproperty
17501
    ADD CONSTRAINT revisionproperty__revision__name__key UNIQUE (revision, name);
17502
7675.1121.53 by Stuart Bishop
New baseline
17503
4212.1.1 by Stuart Bishop
New database baseline
17504
ALTER TABLE ONLY revisionproperty
17505
    ADD CONSTRAINT revisionproperty_pkey PRIMARY KEY (id);
17506
7675.1121.53 by Stuart Bishop
New baseline
17507
5529.1.3 by Stuart Bishop
New database schema baseline
17508
ALTER TABLE ONLY scriptactivity
17509
    ADD CONSTRAINT scriptactivity_pkey PRIMARY KEY (id);
17510
7675.1121.53 by Stuart Bishop
New baseline
17511
3691.17.3 by Stuart Bishop
New database baseline
17512
ALTER TABLE ONLY section
17513
    ADD CONSTRAINT section_name_key UNIQUE (name);
17514
7675.1121.53 by Stuart Bishop
New baseline
17515
3691.17.3 by Stuart Bishop
New database baseline
17516
ALTER TABLE ONLY section
17517
    ADD CONSTRAINT section_pkey PRIMARY KEY (id);
17518
7675.1121.53 by Stuart Bishop
New baseline
17519
3691.17.3 by Stuart Bishop
New database baseline
17520
ALTER TABLE ONLY sectionselection
17521
    ADD CONSTRAINT sectionselection_pkey PRIMARY KEY (id);
17522
7675.1121.53 by Stuart Bishop
New baseline
17523
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17524
ALTER TABLE ONLY seriessourcepackagebranch
17525
    ADD CONSTRAINT seriessourcepackagebranch__ds__spn__pocket__key UNIQUE (distroseries, sourcepackagename, pocket);
17526
7675.1121.53 by Stuart Bishop
New baseline
17527
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17528
ALTER TABLE ONLY seriessourcepackagebranch
17529
    ADD CONSTRAINT seriessourcepackagebranch_pkey PRIMARY KEY (id);
17530
3691.17.3 by Stuart Bishop
New database baseline
17531
5529.1.3 by Stuart Bishop
New database schema baseline
17532
ALTER TABLE ONLY signedcodeofconduct
17533
    ADD CONSTRAINT signedcodeofconduct_pkey PRIMARY KEY (id);
17534
4212.1.1 by Stuart Bishop
New database baseline
17535
7675.395.118 by Stuart Bishop
New database baseline from production
17536
ALTER TABLE ONLY sourcepackageformatselection
17537
    ADD CONSTRAINT sourceformatselection__distroseries__format__key UNIQUE (distroseries, format);
17538
7675.1121.53 by Stuart Bishop
New baseline
17539
7675.395.118 by Stuart Bishop
New database baseline from production
17540
ALTER TABLE ONLY sourcepackageformatselection
17541
    ADD CONSTRAINT sourcepackageformatselection_pkey PRIMARY KEY (id);
17542
7675.1121.53 by Stuart Bishop
New baseline
17543
3691.17.3 by Stuart Bishop
New database baseline
17544
ALTER TABLE ONLY sourcepackagename
17545
    ADD CONSTRAINT sourcepackagename_name_key UNIQUE (name);
17546
7675.1121.53 by Stuart Bishop
New baseline
17547
3691.17.3 by Stuart Bishop
New database baseline
17548
ALTER TABLE ONLY sourcepackagename
17549
    ADD CONSTRAINT sourcepackagename_pkey PRIMARY KEY (id);
17550
7675.1121.53 by Stuart Bishop
New baseline
17551
7675.395.118 by Stuart Bishop
New database baseline from production
17552
ALTER TABLE ONLY sourcepackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
17553
    ADD CONSTRAINT sourcepackagepublishinghistory_pkey PRIMARY KEY (id);
17554
7675.1121.53 by Stuart Bishop
New baseline
17555
7675.395.118 by Stuart Bishop
New database baseline from production
17556
ALTER TABLE ONLY sourcepackagerecipe
17557
    ADD CONSTRAINT sourcepackagerecipe__owner__name__key UNIQUE (owner, name);
17558
7675.1121.53 by Stuart Bishop
New baseline
17559
7675.395.118 by Stuart Bishop
New database baseline from production
17560
ALTER TABLE ONLY sourcepackagerecipedistroseries
17561
    ADD CONSTRAINT sourcepackagerecipe_distroseries_unique UNIQUE (sourcepackagerecipe, distroseries);
17562
7675.1121.53 by Stuart Bishop
New baseline
17563
7675.395.118 by Stuart Bishop
New database baseline from production
17564
ALTER TABLE ONLY sourcepackagerecipe
17565
    ADD CONSTRAINT sourcepackagerecipe_pkey PRIMARY KEY (id);
17566
7675.1121.53 by Stuart Bishop
New baseline
17567
7675.395.118 by Stuart Bishop
New database baseline from production
17568
ALTER TABLE ONLY sourcepackagerecipebuild
17569
    ADD CONSTRAINT sourcepackagerecipebuild_pkey PRIMARY KEY (id);
17570
7675.1121.53 by Stuart Bishop
New baseline
17571
7675.395.118 by Stuart Bishop
New database baseline from production
17572
ALTER TABLE ONLY sourcepackagerecipebuildjob
17573
    ADD CONSTRAINT sourcepackagerecipebuildjob__job__key UNIQUE (job);
17574
7675.1121.53 by Stuart Bishop
New baseline
17575
7675.395.118 by Stuart Bishop
New database baseline from production
17576
ALTER TABLE ONLY sourcepackagerecipebuildjob
17577
    ADD CONSTRAINT sourcepackagerecipebuildjob__sourcepackage_recipe_build__key UNIQUE (sourcepackage_recipe_build);
17578
7675.1121.53 by Stuart Bishop
New baseline
17579
7675.395.118 by Stuart Bishop
New database baseline from production
17580
ALTER TABLE ONLY sourcepackagerecipebuildjob
17581
    ADD CONSTRAINT sourcepackagerecipebuildjob_pkey PRIMARY KEY (id);
17582
7675.1121.53 by Stuart Bishop
New baseline
17583
7675.395.118 by Stuart Bishop
New database baseline from production
17584
ALTER TABLE ONLY sourcepackagerecipedata
17585
    ADD CONSTRAINT sourcepackagerecipedata_pkey PRIMARY KEY (id);
17586
7675.1121.53 by Stuart Bishop
New baseline
17587
7675.395.118 by Stuart Bishop
New database baseline from production
17588
ALTER TABLE ONLY sourcepackagerecipedatainstruction
17589
    ADD CONSTRAINT sourcepackagerecipedatainstruction__name__recipe_data__key UNIQUE (name, recipe_data);
17590
7675.1121.53 by Stuart Bishop
New baseline
17591
7675.395.118 by Stuart Bishop
New database baseline from production
17592
ALTER TABLE ONLY sourcepackagerecipedatainstruction
17593
    ADD CONSTRAINT sourcepackagerecipedatainstruction__recipe_data__line_number__k UNIQUE (recipe_data, line_number);
17594
7675.1121.53 by Stuart Bishop
New baseline
17595
7675.395.118 by Stuart Bishop
New database baseline from production
17596
ALTER TABLE ONLY sourcepackagerecipedatainstruction
17597
    ADD CONSTRAINT sourcepackagerecipedatainstruction_pkey PRIMARY KEY (id);
17598
7675.1121.53 by Stuart Bishop
New baseline
17599
7675.395.118 by Stuart Bishop
New database baseline from production
17600
ALTER TABLE ONLY sourcepackagerecipedistroseries
17601
    ADD CONSTRAINT sourcepackagerecipedistroseries_pkey PRIMARY KEY (id);
17602
7675.1121.53 by Stuart Bishop
New baseline
17603
3691.17.3 by Stuart Bishop
New database baseline
17604
ALTER TABLE ONLY sourcepackagerelease
17605
    ADD CONSTRAINT sourcepackagerelease_pkey PRIMARY KEY (id);
17606
7675.1121.53 by Stuart Bishop
New baseline
17607
3691.17.3 by Stuart Bishop
New database baseline
17608
ALTER TABLE ONLY sourcepackagereleasefile
17609
    ADD CONSTRAINT sourcepackagereleasefile_pkey PRIMARY KEY (id);
17610
7675.1121.53 by Stuart Bishop
New baseline
17611
3691.17.3 by Stuart Bishop
New database baseline
17612
ALTER TABLE ONLY specificationbug
17613
    ADD CONSTRAINT specification_bug_uniq UNIQUE (specification, bug);
17614
7675.1121.53 by Stuart Bishop
New baseline
17615
3691.17.3 by Stuart Bishop
New database baseline
17616
ALTER TABLE ONLY specification
17617
    ADD CONSTRAINT specification_distribution_name_uniq UNIQUE (distribution, name);
17618
7675.1121.53 by Stuart Bishop
New baseline
17619
3691.17.3 by Stuart Bishop
New database baseline
17620
ALTER TABLE ONLY specification
17621
    ADD CONSTRAINT specification_pkey PRIMARY KEY (id);
17622
7675.1121.53 by Stuart Bishop
New baseline
17623
3691.17.3 by Stuart Bishop
New database baseline
17624
ALTER TABLE ONLY specification
17625
    ADD CONSTRAINT specification_product_name_uniq UNIQUE (name, product);
17626
7675.1121.53 by Stuart Bishop
New baseline
17627
3691.17.3 by Stuart Bishop
New database baseline
17628
ALTER TABLE ONLY specification
17629
    ADD CONSTRAINT specification_specurl_uniq UNIQUE (specurl);
17630
7675.1121.53 by Stuart Bishop
New baseline
17631
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17632
ALTER TABLE ONLY specificationbranch
17633
    ADD CONSTRAINT specificationbranch__spec_branch_unique UNIQUE (branch, specification);
17634
7675.1121.53 by Stuart Bishop
New baseline
17635
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17636
ALTER TABLE ONLY specificationbranch
17637
    ADD CONSTRAINT specificationbranch_pkey PRIMARY KEY (id);
17638
7675.1121.53 by Stuart Bishop
New baseline
17639
3691.17.3 by Stuart Bishop
New database baseline
17640
ALTER TABLE ONLY specificationbug
17641
    ADD CONSTRAINT specificationbug_pkey PRIMARY KEY (id);
17642
7675.1121.53 by Stuart Bishop
New baseline
17643
3691.17.3 by Stuart Bishop
New database baseline
17644
ALTER TABLE ONLY specificationdependency
17645
    ADD CONSTRAINT specificationdependency_pkey PRIMARY KEY (id);
17646
7675.1121.53 by Stuart Bishop
New baseline
17647
3691.17.3 by Stuart Bishop
New database baseline
17648
ALTER TABLE ONLY specificationdependency
17649
    ADD CONSTRAINT specificationdependency_uniq UNIQUE (specification, dependency);
17650
7675.1121.53 by Stuart Bishop
New baseline
17651
3691.17.3 by Stuart Bishop
New database baseline
17652
ALTER TABLE ONLY specificationfeedback
17653
    ADD CONSTRAINT specificationfeedback_pkey PRIMARY KEY (id);
17654
7675.1121.53 by Stuart Bishop
New baseline
17655
4990.1.1 by Stuart Bishop
New database baseline
17656
ALTER TABLE ONLY specificationmessage
7675.395.118 by Stuart Bishop
New database baseline from production
17657
    ADD CONSTRAINT specificationmessage__specification__message__key UNIQUE (specification, message);
17658
7675.1121.53 by Stuart Bishop
New baseline
17659
7675.395.118 by Stuart Bishop
New database baseline from production
17660
ALTER TABLE ONLY specificationmessage
4990.1.1 by Stuart Bishop
New database baseline
17661
    ADD CONSTRAINT specificationmessage_pkey PRIMARY KEY (id);
17662
7675.1121.53 by Stuart Bishop
New baseline
17663
3691.17.3 by Stuart Bishop
New database baseline
17664
ALTER TABLE ONLY specificationsubscription
17665
    ADD CONSTRAINT specificationsubscription_pkey PRIMARY KEY (id);
17666
7675.1121.53 by Stuart Bishop
New baseline
17667
3691.17.3 by Stuart Bishop
New database baseline
17668
ALTER TABLE ONLY specificationsubscription
17669
    ADD CONSTRAINT specificationsubscription_spec_person_uniq UNIQUE (specification, person);
17670
7675.1121.53 by Stuart Bishop
New baseline
17671
3691.17.3 by Stuart Bishop
New database baseline
17672
ALTER TABLE ONLY spokenin
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17673
    ADD CONSTRAINT spokenin__country__language__key UNIQUE (language, country);
4990.1.1 by Stuart Bishop
New database baseline
17674
7675.1121.53 by Stuart Bishop
New baseline
17675
4990.1.1 by Stuart Bishop
New database baseline
17676
ALTER TABLE ONLY spokenin
3691.17.3 by Stuart Bishop
New database baseline
17677
    ADD CONSTRAINT spokenin_pkey PRIMARY KEY (id);
17678
7675.1121.53 by Stuart Bishop
New baseline
17679
3691.17.3 by Stuart Bishop
New database baseline
17680
ALTER TABLE ONLY sprint
17681
    ADD CONSTRAINT sprint_name_uniq UNIQUE (name);
17682
7675.1121.53 by Stuart Bishop
New baseline
17683
3691.17.3 by Stuart Bishop
New database baseline
17684
ALTER TABLE ONLY sprint
17685
    ADD CONSTRAINT sprint_pkey PRIMARY KEY (id);
17686
7675.1121.53 by Stuart Bishop
New baseline
17687
3691.17.3 by Stuart Bishop
New database baseline
17688
ALTER TABLE ONLY sprintattendance
17689
    ADD CONSTRAINT sprintattendance_attendance_uniq UNIQUE (attendee, sprint);
17690
7675.1121.53 by Stuart Bishop
New baseline
17691
3691.17.3 by Stuart Bishop
New database baseline
17692
ALTER TABLE ONLY sprintattendance
17693
    ADD CONSTRAINT sprintattendance_pkey PRIMARY KEY (id);
17694
7675.1121.53 by Stuart Bishop
New baseline
17695
3691.17.3 by Stuart Bishop
New database baseline
17696
ALTER TABLE ONLY sprintspecification
17697
    ADD CONSTRAINT sprintspec_uniq UNIQUE (specification, sprint);
17698
7675.1121.53 by Stuart Bishop
New baseline
17699
3691.17.3 by Stuart Bishop
New database baseline
17700
ALTER TABLE ONLY sprintspecification
17701
    ADD CONSTRAINT sprintspecification_pkey PRIMARY KEY (id);
17702
7675.1121.53 by Stuart Bishop
New baseline
17703
3691.17.3 by Stuart Bishop
New database baseline
17704
ALTER TABLE ONLY sshkey
17705
    ADD CONSTRAINT sshkey_pkey PRIMARY KEY (id);
17706
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17707
5529.1.3 by Stuart Bishop
New database schema baseline
17708
ALTER TABLE ONLY structuralsubscription
17709
    ADD CONSTRAINT structuralsubscription_pkey PRIMARY KEY (id);
17710
7675.1121.53 by Stuart Bishop
New baseline
17711
17712
ALTER TABLE ONLY subunitstream
17713
    ADD CONSTRAINT subunitstream_pkey PRIMARY KEY (id);
17714
17715
7675.395.118 by Stuart Bishop
New database baseline from production
17716
ALTER TABLE ONLY suggestivepotemplate
17717
    ADD CONSTRAINT suggestivepotemplate_pkey PRIMARY KEY (potemplate);
17718
7675.1121.53 by Stuart Bishop
New baseline
17719
4212.1.1 by Stuart Bishop
New database baseline
17720
ALTER TABLE ONLY answercontact
3691.17.3 by Stuart Bishop
New database baseline
17721
    ADD CONSTRAINT supportcontact__distribution__sourcepackagename__person__key UNIQUE (distribution, sourcepackagename, person);
17722
7675.1121.53 by Stuart Bishop
New baseline
17723
4212.1.1 by Stuart Bishop
New database baseline
17724
ALTER TABLE ONLY answercontact
3691.17.3 by Stuart Bishop
New database baseline
17725
    ADD CONSTRAINT supportcontact__product__person__key UNIQUE (product, person);
17726
7675.1121.53 by Stuart Bishop
New baseline
17727
4212.1.1 by Stuart Bishop
New database baseline
17728
ALTER TABLE ONLY answercontact
3691.17.3 by Stuart Bishop
New database baseline
17729
    ADD CONSTRAINT supportcontact_pkey PRIMARY KEY (id);
17730
7675.1121.53 by Stuart Bishop
New baseline
17731
3691.17.3 by Stuart Bishop
New database baseline
17732
ALTER TABLE ONLY teamparticipation
17733
    ADD CONSTRAINT teamparticipation_pkey PRIMARY KEY (id);
17734
7675.1121.53 by Stuart Bishop
New baseline
17735
3691.17.3 by Stuart Bishop
New database baseline
17736
ALTER TABLE ONLY teamparticipation
17737
    ADD CONSTRAINT teamparticipation_team_key UNIQUE (team, person);
17738
7675.1121.53 by Stuart Bishop
New baseline
17739
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17740
ALTER TABLE ONLY temporaryblobstorage
17741
    ADD CONSTRAINT temporaryblobstorage_file_alias_key UNIQUE (file_alias);
17742
7675.1121.53 by Stuart Bishop
New baseline
17743
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17744
ALTER TABLE ONLY temporaryblobstorage
17745
    ADD CONSTRAINT temporaryblobstorage_pkey PRIMARY KEY (id);
17746
7675.395.118 by Stuart Bishop
New database baseline from production
17747
ALTER TABLE temporaryblobstorage CLUSTER ON temporaryblobstorage_pkey;
17748
7675.1121.53 by Stuart Bishop
New baseline
17749
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
17750
ALTER TABLE ONLY temporaryblobstorage
17751
    ADD CONSTRAINT temporaryblobstorage_uuid_key UNIQUE (uuid);
17752
7675.1121.53 by Stuart Bishop
New baseline
17753
4212.1.1 by Stuart Bishop
New database baseline
17754
ALTER TABLE ONLY question
3691.17.3 by Stuart Bishop
New database baseline
17755
    ADD CONSTRAINT ticket_pkey PRIMARY KEY (id);
17756
7675.1121.53 by Stuart Bishop
New baseline
17757
4212.1.1 by Stuart Bishop
New database baseline
17758
ALTER TABLE ONLY questionbug
17759
    ADD CONSTRAINT ticketbug_bug_ticket_uniq UNIQUE (bug, question);
3691.17.3 by Stuart Bishop
New database baseline
17760
7675.1121.53 by Stuart Bishop
New baseline
17761
4212.1.1 by Stuart Bishop
New database baseline
17762
ALTER TABLE ONLY questionbug
3691.17.3 by Stuart Bishop
New database baseline
17763
    ADD CONSTRAINT ticketbug_pkey PRIMARY KEY (id);
17764
7675.1121.53 by Stuart Bishop
New baseline
17765
4212.1.1 by Stuart Bishop
New database baseline
17766
ALTER TABLE ONLY questionmessage
17767
    ADD CONSTRAINT ticketmessage_message_ticket_uniq UNIQUE (message, question);
3691.17.3 by Stuart Bishop
New database baseline
17768
7675.1121.53 by Stuart Bishop
New baseline
17769
4212.1.1 by Stuart Bishop
New database baseline
17770
ALTER TABLE ONLY questionmessage
3691.17.3 by Stuart Bishop
New database baseline
17771
    ADD CONSTRAINT ticketmessage_pkey PRIMARY KEY (id);
17772
7675.1121.53 by Stuart Bishop
New baseline
17773
4212.1.1 by Stuart Bishop
New database baseline
17774
ALTER TABLE ONLY questionreopening
3691.17.3 by Stuart Bishop
New database baseline
17775
    ADD CONSTRAINT ticketreopening_pkey PRIMARY KEY (id);
17776
7675.1121.53 by Stuart Bishop
New baseline
17777
4212.1.1 by Stuart Bishop
New database baseline
17778
ALTER TABLE ONLY questionsubscription
3691.17.3 by Stuart Bishop
New database baseline
17779
    ADD CONSTRAINT ticketsubscription_pkey PRIMARY KEY (id);
17780
7675.1121.53 by Stuart Bishop
New baseline
17781
4212.1.1 by Stuart Bishop
New database baseline
17782
ALTER TABLE ONLY questionsubscription
17783
    ADD CONSTRAINT ticketsubscription_ticket_person_uniq UNIQUE (question, person);
3691.17.3 by Stuart Bishop
New database baseline
17784
7675.1121.53 by Stuart Bishop
New baseline
17785
3691.17.3 by Stuart Bishop
New database baseline
17786
ALTER TABLE ONLY translator
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17787
    ADD CONSTRAINT translation_translationgroup_key UNIQUE (translationgroup, language);
3691.17.3 by Stuart Bishop
New database baseline
17788
7675.1121.53 by Stuart Bishop
New baseline
17789
3691.17.3 by Stuart Bishop
New database baseline
17790
ALTER TABLE ONLY translationgroup
17791
    ADD CONSTRAINT translationgroup_name_key UNIQUE (name);
17792
7675.1121.53 by Stuart Bishop
New baseline
17793
3691.17.3 by Stuart Bishop
New database baseline
17794
ALTER TABLE ONLY translationgroup
17795
    ADD CONSTRAINT translationgroup_pkey PRIMARY KEY (id);
17796
7675.1121.53 by Stuart Bishop
New baseline
17797
3691.17.3 by Stuart Bishop
New database baseline
17798
ALTER TABLE ONLY translationimportqueueentry
17799
    ADD CONSTRAINT translationimportqueueentry_pkey PRIMARY KEY (id);
17800
7675.1121.53 by Stuart Bishop
New baseline
17801
5529.1.3 by Stuart Bishop
New database schema baseline
17802
ALTER TABLE ONLY translationmessage
17803
    ADD CONSTRAINT translationmessage_pkey PRIMARY KEY (id);
17804
7675.1121.53 by Stuart Bishop
New baseline
17805
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17806
ALTER TABLE ONLY translationrelicensingagreement
17807
    ADD CONSTRAINT translationrelicensingagreement__person__key UNIQUE (person);
17808
7675.1121.53 by Stuart Bishop
New baseline
17809
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17810
ALTER TABLE ONLY translationrelicensingagreement
17811
    ADD CONSTRAINT translationrelicensingagreement_pkey PRIMARY KEY (id);
17812
7675.1121.53 by Stuart Bishop
New baseline
17813
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17814
ALTER TABLE ONLY translationtemplateitem
17815
    ADD CONSTRAINT translationtemplateitem_pkey PRIMARY KEY (id);
17816
7675.1121.53 by Stuart Bishop
New baseline
17817
17818
ALTER TABLE ONLY translationtemplatesbuild
17819
    ADD CONSTRAINT translationtemplatesbuild_pkey PRIMARY KEY (id);
17820
17821
3691.17.3 by Stuart Bishop
New database baseline
17822
ALTER TABLE ONLY translator
17823
    ADD CONSTRAINT translator_pkey PRIMARY KEY (id);
17824
7675.1121.53 by Stuart Bishop
New baseline
17825
3691.17.3 by Stuart Bishop
New database baseline
17826
ALTER TABLE ONLY specificationfeedback
17827
    ADD CONSTRAINT unique_spec_requestor_provider UNIQUE (specification, requester, reviewer);
17828
7675.1121.53 by Stuart Bishop
New baseline
17829
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17830
ALTER TABLE ONLY usertouseremail
17831
    ADD CONSTRAINT usertouseremail_pkey PRIMARY KEY (id);
17832
7675.1121.53 by Stuart Bishop
New baseline
17833
3691.17.3 by Stuart Bishop
New database baseline
17834
ALTER TABLE ONLY vote
17835
    ADD CONSTRAINT vote_pkey PRIMARY KEY (id);
17836
7675.1121.53 by Stuart Bishop
New baseline
17837
3691.17.3 by Stuart Bishop
New database baseline
17838
ALTER TABLE ONLY votecast
17839
    ADD CONSTRAINT votecast_person_key UNIQUE (person, poll);
17840
7675.1121.53 by Stuart Bishop
New baseline
17841
3691.17.3 by Stuart Bishop
New database baseline
17842
ALTER TABLE ONLY votecast
17843
    ADD CONSTRAINT votecast_pkey PRIMARY KEY (id);
17844
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17845
3691.17.3 by Stuart Bishop
New database baseline
17846
ALTER TABLE ONLY wikiname
17847
    ADD CONSTRAINT wikiname_pkey PRIMARY KEY (id);
17848
7675.1121.53 by Stuart Bishop
New baseline
17849
3691.17.3 by Stuart Bishop
New database baseline
17850
ALTER TABLE ONLY wikiname
17851
    ADD CONSTRAINT wikiname_wikiname_key UNIQUE (wikiname, wiki);
17852
7675.1121.53 by Stuart Bishop
New baseline
17853
17854
CREATE UNIQUE INDEX accessartifactgrant__artifact__grantee__key ON accesspolicygrant USING btree (artifact, grantee) WHERE (artifact IS NOT NULL);
17855
17856
17857
CREATE UNIQUE INDEX accesspolicy__distribution__type__key ON accesspolicy USING btree (distribution, type) WHERE (distribution IS NOT NULL);
17858
17859
17860
CREATE UNIQUE INDEX accesspolicy__product__type__key ON accesspolicy USING btree (product, type) WHERE (product IS NOT NULL);
17861
17862
17863
CREATE UNIQUE INDEX accesspolicyartifact__branch__key ON accesspolicyartifact USING btree (branch) WHERE (branch IS NOT NULL);
17864
17865
17866
CREATE UNIQUE INDEX accesspolicyartifact__bug__key ON accesspolicyartifact USING btree (bug) WHERE (bug IS NOT NULL);
17867
17868
17869
CREATE INDEX accesspolicyartifact__policy__key ON accesspolicyartifact USING btree (policy);
17870
17871
17872
CREATE INDEX accesspolicygrant__grantee__idx ON accesspolicygrant USING btree (grantee);
17873
17874
17875
CREATE INDEX accesspolicygrant__grantor__idx ON accesspolicygrant USING btree (grantor);
17876
17877
17878
CREATE UNIQUE INDEX accesspolicygrant__policy__grantee__key ON accesspolicygrant USING btree (policy, grantee) WHERE (policy IS NOT NULL);
17879
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17880
5529.1.3 by Stuart Bishop
New database schema baseline
17881
CREATE INDEX announcement__distribution__active__idx ON announcement USING btree (distribution, active) WHERE (distribution IS NOT NULL);
17882
7675.1121.53 by Stuart Bishop
New baseline
17883
5529.1.3 by Stuart Bishop
New database schema baseline
17884
CREATE INDEX announcement__product__active__idx ON announcement USING btree (product, active) WHERE (product IS NOT NULL);
17885
7675.1121.53 by Stuart Bishop
New baseline
17886
5529.1.3 by Stuart Bishop
New database schema baseline
17887
CREATE INDEX announcement__project__active__idx ON announcement USING btree (project, active) WHERE (project IS NOT NULL);
17888
7675.1121.53 by Stuart Bishop
New baseline
17889
5529.1.3 by Stuart Bishop
New database schema baseline
17890
CREATE INDEX announcement__registrant__idx ON announcement USING btree (registrant);
17891
7675.1121.53 by Stuart Bishop
New baseline
17892
4212.1.1 by Stuart Bishop
New database baseline
17893
CREATE UNIQUE INDEX answercontact__distribution__person__key ON answercontact USING btree (distribution, person) WHERE (sourcepackagename IS NULL);
17894
7675.1121.53 by Stuart Bishop
New baseline
17895
4212.1.1 by Stuart Bishop
New database baseline
17896
CREATE INDEX answercontact__person__idx ON answercontact USING btree (person);
17897
7675.1121.53 by Stuart Bishop
New baseline
17898
7675.395.118 by Stuart Bishop
New database baseline from production
17899
CREATE INDEX apportjob__blob__idx ON apportjob USING btree (blob);
17900
17901
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17902
CREATE UNIQUE INDEX archive__distribution__purpose__key ON archive USING btree (distribution, purpose) WHERE (purpose = ANY (ARRAY[1, 4]));
17903
7675.1121.53 by Stuart Bishop
New baseline
17904
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17905
CREATE INDEX archive__owner__idx ON archive USING btree (owner);
17906
7675.1121.53 by Stuart Bishop
New baseline
17907
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17908
CREATE UNIQUE INDEX archive__owner__key ON archive USING btree (owner, distribution, name);
17909
7675.1121.53 by Stuart Bishop
New baseline
17910
7675.395.118 by Stuart Bishop
New database baseline from production
17911
CREATE INDEX archive__require_virtualized__idx ON archive USING btree (require_virtualized);
17912
7675.1121.53 by Stuart Bishop
New baseline
17913
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17914
CREATE INDEX archive__signing_key__idx ON archive USING btree (signing_key) WHERE (signing_key IS NOT NULL);
17915
7675.1121.53 by Stuart Bishop
New baseline
17916
7675.395.118 by Stuart Bishop
New database baseline from production
17917
CREATE INDEX archive__status__idx ON archive USING btree (status);
17918
7675.1121.53 by Stuart Bishop
New baseline
17919
17920
CREATE INDEX archive_fti ON archive USING gist (fti);
17921
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17922
17923
CREATE INDEX archiveauthtoken__archive__idx ON archiveauthtoken USING btree (archive);
17924
7675.1121.53 by Stuart Bishop
New baseline
17925
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17926
CREATE INDEX archiveauthtoken__date_created__idx ON archiveauthtoken USING btree (date_created);
17927
7675.1121.53 by Stuart Bishop
New baseline
17928
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17929
CREATE INDEX archiveauthtoken__person__idx ON archiveauthtoken USING btree (person);
17930
7675.1121.53 by Stuart Bishop
New baseline
17931
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17932
CREATE INDEX archivedependency__archive__idx ON archivedependency USING btree (archive);
17933
7675.1121.53 by Stuart Bishop
New baseline
17934
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17935
CREATE INDEX archivedependency__component__idx ON archivedependency USING btree (component);
17936
7675.1121.53 by Stuart Bishop
New baseline
17937
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17938
CREATE INDEX archivedependency__dependency__idx ON archivedependency USING btree (dependency);
17939
7675.1121.53 by Stuart Bishop
New baseline
17940
7675.395.118 by Stuart Bishop
New database baseline from production
17941
CREATE INDEX archivejob__archive__job_type__idx ON archivejob USING btree (archive, job_type);
17942
7675.1121.53 by Stuart Bishop
New baseline
17943
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17944
CREATE INDEX archivepermission__archive__component__permission__idx ON archivepermission USING btree (archive, component, permission);
17945
7675.1121.53 by Stuart Bishop
New baseline
17946
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17947
CREATE INDEX archivepermission__archive__sourcepackagename__permission__idx ON archivepermission USING btree (archive, sourcepackagename, permission);
17948
7675.1121.53 by Stuart Bishop
New baseline
17949
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17950
CREATE INDEX archivepermission__packageset__idx ON archivepermission USING btree (packageset) WHERE (packageset IS NOT NULL);
17951
7675.1121.53 by Stuart Bishop
New baseline
17952
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17953
CREATE INDEX archivepermission__person__archive__idx ON archivepermission USING btree (person, archive);
17954
7675.1121.53 by Stuart Bishop
New baseline
17955
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17956
CREATE INDEX archivesubscriber__archive__idx ON archivesubscriber USING btree (archive);
17957
7675.1121.53 by Stuart Bishop
New baseline
17958
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17959
CREATE INDEX archivesubscriber__cancelled_by__idx ON archivesubscriber USING btree (cancelled_by) WHERE (cancelled_by IS NOT NULL);
17960
7675.1121.53 by Stuart Bishop
New baseline
17961
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17962
CREATE INDEX archivesubscriber__date_created__idx ON archivesubscriber USING btree (date_created);
17963
7675.1121.53 by Stuart Bishop
New baseline
17964
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17965
CREATE INDEX archivesubscriber__date_expires__idx ON archivesubscriber USING btree (date_expires) WHERE (date_expires IS NOT NULL);
17966
7675.1121.53 by Stuart Bishop
New baseline
17967
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17968
CREATE INDEX archivesubscriber__registrant__idx ON archivesubscriber USING btree (registrant);
17969
7675.1121.53 by Stuart Bishop
New baseline
17970
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
17971
CREATE INDEX archivesubscriber__subscriber__idx ON archivesubscriber USING btree (subscriber);
4990.1.1 by Stuart Bishop
New database baseline
17972
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
17973
7675.395.118 by Stuart Bishop
New database baseline from production
17974
CREATE INDEX binarypackagebuild__distro_arch_series__idx ON binarypackagebuild USING btree (distro_arch_series);
17975
7675.1121.53 by Stuart Bishop
New baseline
17976
7675.395.118 by Stuart Bishop
New database baseline from production
17977
CREATE UNIQUE INDEX binarypackagebuild__package_build__idx ON binarypackagebuild USING btree (package_build);
17978
7675.1121.53 by Stuart Bishop
New baseline
17979
7675.395.118 by Stuart Bishop
New database baseline from production
17980
CREATE INDEX binarypackagebuild__source_package_release_idx ON binarypackagebuild USING btree (source_package_release);
17981
7675.1121.53 by Stuart Bishop
New baseline
17982
3691.17.3 by Stuart Bishop
New database baseline
17983
CREATE INDEX binarypackagefile_binarypackage_idx ON binarypackagefile USING btree (binarypackagerelease);
17984
7675.1121.53 by Stuart Bishop
New baseline
17985
3691.17.3 by Stuart Bishop
New database baseline
17986
CREATE INDEX binarypackagefile_libraryfile_idx ON binarypackagefile USING btree (libraryfile);
17987
7675.1121.53 by Stuart Bishop
New baseline
17988
17989
CREATE INDEX binarypackagepublishinghistory__binarypackagename__idx ON binarypackagepublishinghistory USING btree (binarypackagename);
17990
17991
7675.395.118 by Stuart Bishop
New database baseline from production
17992
CREATE UNIQUE INDEX binarypackagerelease__debug_package__key ON binarypackagerelease USING btree (debug_package);
17993
7675.1121.53 by Stuart Bishop
New baseline
17994
17995
CREATE INDEX binarypackagerelease__version__idx ON binarypackagerelease USING btree (version);
17996
17997
3691.17.3 by Stuart Bishop
New database baseline
17998
CREATE INDEX binarypackagerelease_build_idx ON binarypackagerelease USING btree (build);
17999
7675.1121.53 by Stuart Bishop
New baseline
18000
18001
CREATE INDEX binarypackagerelease_fti ON binarypackagerelease USING gist (fti);
18002
18003
18004
CREATE INDEX branch__access_policy__idx ON branch USING btree (access_policy);
18005
3691.17.3 by Stuart Bishop
New database baseline
18006
4212.1.1 by Stuart Bishop
New database baseline
18007
CREATE INDEX branch__date_created__idx ON branch USING btree (date_created);
18008
7675.1121.53 by Stuart Bishop
New baseline
18009
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18010
CREATE UNIQUE INDEX branch__ds__spn__owner__name__key ON branch USING btree (distroseries, sourcepackagename, owner, name) WHERE (distroseries IS NOT NULL);
18011
7675.1121.53 by Stuart Bishop
New baseline
18012
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18013
CREATE INDEX branch__last_scanned__owner__idx ON branch USING btree (last_scanned, owner) WHERE (last_scanned IS NOT NULL);
4212.1.1 by Stuart Bishop
New database baseline
18014
7675.1121.53 by Stuart Bishop
New baseline
18015
18016
CREATE INDEX branch__merge_queue__idx ON branch USING btree (merge_queue);
18017
18018
5529.1.3 by Stuart Bishop
New database schema baseline
18019
CREATE INDEX branch__next_mirror_time__idx ON branch USING btree (next_mirror_time) WHERE (next_mirror_time IS NOT NULL);
18020
7675.1121.53 by Stuart Bishop
New baseline
18021
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18022
CREATE UNIQUE INDEX branch__owner__name__key ON branch USING btree (owner, name) WHERE ((product IS NULL) AND (distroseries IS NULL));
18023
7675.1121.53 by Stuart Bishop
New baseline
18024
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18025
CREATE INDEX branch__owner_name__idx ON branch USING btree (owner_name);
18026
7675.1121.53 by Stuart Bishop
New baseline
18027
4990.1.1 by Stuart Bishop
New database baseline
18028
CREATE INDEX branch__private__idx ON branch USING btree (private);
18029
7675.1121.53 by Stuart Bishop
New baseline
18030
4212.1.1 by Stuart Bishop
New database baseline
18031
CREATE INDEX branch__product__id__idx ON branch USING btree (product, id);
18032
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18033
ALTER TABLE branch CLUSTER ON branch__product__id__idx;
18034
7675.1121.53 by Stuart Bishop
New baseline
18035
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18036
CREATE UNIQUE INDEX branch__product__owner__name__key ON branch USING btree (product, owner, name) WHERE (product IS NOT NULL);
18037
7675.1121.53 by Stuart Bishop
New baseline
18038
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18039
CREATE INDEX branch__registrant__idx ON branch USING btree (registrant);
18040
7675.1121.53 by Stuart Bishop
New baseline
18041
5529.1.3 by Stuart Bishop
New database schema baseline
18042
CREATE INDEX branch__reviewer__idx ON branch USING btree (reviewer);
18043
7675.1121.53 by Stuart Bishop
New baseline
18044
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18045
CREATE INDEX branch__stacked_on__idx ON branch USING btree (stacked_on) WHERE (stacked_on IS NOT NULL);
18046
7675.1121.53 by Stuart Bishop
New baseline
18047
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18048
CREATE INDEX branch__target_suffix__idx ON branch USING btree (target_suffix);
18049
7675.1121.53 by Stuart Bishop
New baseline
18050
18051
CREATE INDEX branch__transitively_private__idx ON branch USING btree (transitively_private);
18052
18053
3691.17.3 by Stuart Bishop
New database baseline
18054
CREATE INDEX branch_author_idx ON branch USING btree (author);
18055
7675.1121.53 by Stuart Bishop
New baseline
18056
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18057
CREATE INDEX branch_owner_idx ON branch USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
18058
7675.1121.53 by Stuart Bishop
New baseline
18059
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18060
CREATE INDEX branchjob__branch__idx ON branchjob USING btree (branch);
4212.1.1 by Stuart Bishop
New database baseline
18061
7675.1121.53 by Stuart Bishop
New baseline
18062
4990.1.1 by Stuart Bishop
New database baseline
18063
CREATE INDEX branchmergeproposal__dependent_branch__idx ON branchmergeproposal USING btree (dependent_branch);
18064
7675.1121.53 by Stuart Bishop
New baseline
18065
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18066
CREATE INDEX branchmergeproposal__merge_diff__idx ON branchmergeproposal USING btree (merge_diff);
18067
7675.1121.53 by Stuart Bishop
New baseline
18068
7675.395.118 by Stuart Bishop
New database baseline from production
18069
CREATE INDEX branchmergeproposal__merge_log_file__idx ON branchmergeproposal USING btree (merge_log_file);
18070
7675.1121.53 by Stuart Bishop
New baseline
18071
4990.1.1 by Stuart Bishop
New database baseline
18072
CREATE INDEX branchmergeproposal__merge_reporter__idx ON branchmergeproposal USING btree (merge_reporter) WHERE (merge_reporter IS NOT NULL);
18073
7675.1121.53 by Stuart Bishop
New baseline
18074
5529.1.3 by Stuart Bishop
New database schema baseline
18075
CREATE INDEX branchmergeproposal__merger__idx ON branchmergeproposal USING btree (merger);
18076
7675.1121.53 by Stuart Bishop
New baseline
18077
5529.1.3 by Stuart Bishop
New database schema baseline
18078
CREATE INDEX branchmergeproposal__queuer__idx ON branchmergeproposal USING btree (queuer);
18079
7675.1121.53 by Stuart Bishop
New baseline
18080
7675.395.118 by Stuart Bishop
New database baseline from production
18081
CREATE INDEX branchmergeproposal__registrant__idx ON branchmergeproposal USING btree (registrant);
18082
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18083
5529.1.3 by Stuart Bishop
New database schema baseline
18084
CREATE INDEX branchmergeproposal__reviewer__idx ON branchmergeproposal USING btree (reviewer);
18085
7675.1121.53 by Stuart Bishop
New baseline
18086
4990.1.1 by Stuart Bishop
New database baseline
18087
CREATE INDEX branchmergeproposal__source_branch__idx ON branchmergeproposal USING btree (source_branch);
18088
7675.1121.53 by Stuart Bishop
New baseline
18089
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18090
CREATE INDEX branchmergeproposal__superseded_by__idx ON branchmergeproposal USING btree (superseded_by) WHERE (superseded_by IS NOT NULL);
18091
7675.1121.53 by Stuart Bishop
New baseline
18092
4990.1.1 by Stuart Bishop
New database baseline
18093
CREATE INDEX branchmergeproposal__target_branch__idx ON branchmergeproposal USING btree (target_branch);
18094
7675.1121.53 by Stuart Bishop
New baseline
18095
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18096
CREATE INDEX branchmergeproposaljob__branch_merge_proposal__idx ON branchmergeproposaljob USING btree (branch_merge_proposal);
18097
7675.1121.53 by Stuart Bishop
New baseline
18098
18099
CREATE INDEX branchmergequeue__registrant__idx ON branchmergequeue USING btree (registrant);
18100
5529.1.3 by Stuart Bishop
New database schema baseline
18101
4990.1.1 by Stuart Bishop
New database baseline
18102
CREATE INDEX branchsubscription__branch__idx ON branchsubscription USING btree (branch);
18103
7675.1121.53 by Stuart Bishop
New baseline
18104
7675.395.118 by Stuart Bishop
New database baseline from production
18105
CREATE INDEX branchsubscription__subscribed_by__idx ON branchsubscription USING btree (subscribed_by);
18106
7675.1121.53 by Stuart Bishop
New baseline
18107
4990.1.1 by Stuart Bishop
New database baseline
18108
CREATE INDEX branchvisibilitypolicy__product__idx ON branchvisibilitypolicy USING btree (product) WHERE (product IS NOT NULL);
18109
7675.1121.53 by Stuart Bishop
New baseline
18110
4990.1.1 by Stuart Bishop
New database baseline
18111
CREATE INDEX branchvisibilitypolicy__project__idx ON branchvisibilitypolicy USING btree (project) WHERE (project IS NOT NULL);
18112
7675.1121.53 by Stuart Bishop
New baseline
18113
4990.1.1 by Stuart Bishop
New database baseline
18114
CREATE INDEX branchvisibilitypolicy__team__idx ON branchvisibilitypolicy USING btree (team) WHERE (team IS NOT NULL);
18115
7675.1121.53 by Stuart Bishop
New baseline
18116
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18117
CREATE UNIQUE INDEX branchvisibilitypolicy__unq ON branchvisibilitypolicy USING btree ((COALESCE(product, (-1))), (COALESCE(project, (-1))), (COALESCE(team, (-1))));
4990.1.1 by Stuart Bishop
New database baseline
18118
7675.1121.53 by Stuart Bishop
New baseline
18119
18120
CREATE INDEX bug__access_policy__idx ON bug USING btree (access_policy);
18121
18122
4990.1.1 by Stuart Bishop
New database baseline
18123
CREATE INDEX bug__date_last_message__idx ON bug USING btree (date_last_message);
18124
7675.1121.53 by Stuart Bishop
New baseline
18125
3691.17.3 by Stuart Bishop
New database baseline
18126
CREATE INDEX bug__date_last_updated__idx ON bug USING btree (date_last_updated);
18127
4212.1.1 by Stuart Bishop
New database baseline
18128
ALTER TABLE bug CLUSTER ON bug__date_last_updated__idx;
18129
7675.1121.53 by Stuart Bishop
New baseline
18130
3691.17.3 by Stuart Bishop
New database baseline
18131
CREATE INDEX bug__datecreated__idx ON bug USING btree (datecreated);
18132
7675.1121.53 by Stuart Bishop
New baseline
18133
7675.395.118 by Stuart Bishop
New database baseline from production
18134
CREATE INDEX bug__heat__idx ON bug USING btree (heat);
18135
7675.1121.53 by Stuart Bishop
New baseline
18136
7675.395.118 by Stuart Bishop
New database baseline from production
18137
CREATE INDEX bug__heat_last_updated__idx ON bug USING btree (heat_last_updated);
18138
7675.1121.53 by Stuart Bishop
New baseline
18139
7675.395.118 by Stuart Bishop
New database baseline from production
18140
CREATE INDEX bug__latest_patch_uploaded__idx ON bug USING btree (latest_patch_uploaded);
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18141
7675.1121.53 by Stuart Bishop
New baseline
18142
18143
CREATE UNIQUE INDEX bug__name__key ON bug USING btree (name) WHERE (name IS NOT NULL);
18144
18145
18146
CREATE INDEX bug__new_patches__idx ON bug USING btree (id) WHERE ((latest_patch_uploaded IS NOT NULL) AND (duplicateof IS NULL));
18147
18148
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18149
CREATE INDEX bug__users_affected_count__idx ON bug USING btree (users_affected_count);
18150
7675.1121.53 by Stuart Bishop
New baseline
18151
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18152
CREATE INDEX bug__users_unaffected_count__idx ON bug USING btree (users_unaffected_count);
18153
7675.1121.53 by Stuart Bishop
New baseline
18154
4990.1.1 by Stuart Bishop
New database baseline
18155
CREATE INDEX bug__who_made_private__idx ON bug USING btree (who_made_private) WHERE (who_made_private IS NOT NULL);
18156
7675.1121.53 by Stuart Bishop
New baseline
18157
3691.17.3 by Stuart Bishop
New database baseline
18158
CREATE INDEX bug_duplicateof_idx ON bug USING btree (duplicateof);
18159
7675.1121.53 by Stuart Bishop
New baseline
18160
7675.395.118 by Stuart Bishop
New database baseline from production
18161
CREATE INDEX bug_fti ON bug USING gist (fti);
3691.17.3 by Stuart Bishop
New database baseline
18162
7675.1121.53 by Stuart Bishop
New baseline
18163
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18164
CREATE INDEX bug_owner_idx ON bug USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
18165
7675.1121.53 by Stuart Bishop
New baseline
18166
3691.17.3 by Stuart Bishop
New database baseline
18167
CREATE INDEX bugactivity_bug_datechanged_idx ON bugactivity USING btree (bug, datechanged);
18168
7675.1121.53 by Stuart Bishop
New baseline
18169
3691.17.3 by Stuart Bishop
New database baseline
18170
CREATE INDEX bugactivity_datechanged_idx ON bugactivity USING btree (datechanged);
18171
7675.1121.53 by Stuart Bishop
New baseline
18172
3691.17.3 by Stuart Bishop
New database baseline
18173
CREATE INDEX bugactivity_person_datechanged_idx ON bugactivity USING btree (person, datechanged);
18174
7675.1121.53 by Stuart Bishop
New baseline
18175
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18176
CREATE INDEX bugaffectsperson__person__idx ON bugaffectsperson USING btree (person);
18177
7675.1121.53 by Stuart Bishop
New baseline
18178
7675.395.118 by Stuart Bishop
New database baseline from production
18179
CREATE INDEX bugattachment__bug__idx ON bugattachment USING btree (bug);
18180
7675.1121.53 by Stuart Bishop
New baseline
18181
3691.17.3 by Stuart Bishop
New database baseline
18182
CREATE INDEX bugattachment_libraryfile_idx ON bugattachment USING btree (libraryfile);
18183
7675.1121.53 by Stuart Bishop
New baseline
18184
3691.17.3 by Stuart Bishop
New database baseline
18185
CREATE INDEX bugattachment_message_idx ON bugattachment USING btree (message);
18186
7675.1121.53 by Stuart Bishop
New baseline
18187
5529.1.3 by Stuart Bishop
New database schema baseline
18188
CREATE INDEX bugbranch__registrant__idx ON bugbranch USING btree (registrant);
18189
7675.1121.53 by Stuart Bishop
New baseline
18190
3691.17.3 by Stuart Bishop
New database baseline
18191
CREATE INDEX bugcve_cve_index ON bugcve USING btree (cve);
18192
7675.1121.53 by Stuart Bishop
New baseline
18193
7675.395.118 by Stuart Bishop
New database baseline from production
18194
CREATE INDEX bugjob__bug__job_type__idx ON bugjob USING btree (bug, job_type);
18195
7675.1121.53 by Stuart Bishop
New baseline
18196
18197
CREATE INDEX bugmessage__owner__index__idx ON bugmessage USING btree (owner, index);
18198
18199
3691.17.3 by Stuart Bishop
New database baseline
18200
CREATE INDEX bugmessage_message_idx ON bugmessage USING btree (message);
18201
7675.1121.53 by Stuart Bishop
New baseline
18202
18203
CREATE INDEX bugmute__bug__idx ON bugmute USING btree (bug);
18204
18205
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18206
CREATE INDEX bugnomination__bug__idx ON bugnomination USING btree (bug);
18207
7675.1121.53 by Stuart Bishop
New baseline
18208
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18209
CREATE INDEX bugnomination__decider__idx ON bugnomination USING btree (decider) WHERE (decider IS NOT NULL);
18210
7675.1121.53 by Stuart Bishop
New baseline
18211
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18212
CREATE UNIQUE INDEX bugnomination__distroseries__bug__key ON bugnomination USING btree (distroseries, bug) WHERE (distroseries IS NOT NULL);
18213
7675.1121.53 by Stuart Bishop
New baseline
18214
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18215
CREATE INDEX bugnomination__owner__idx ON bugnomination USING btree (owner);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18216
7675.1121.53 by Stuart Bishop
New baseline
18217
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18218
CREATE UNIQUE INDEX bugnomination__productseries__bug__key ON bugnomination USING btree (productseries, bug) WHERE (productseries IS NOT NULL);
18219
7675.1121.53 by Stuart Bishop
New baseline
18220
3691.17.3 by Stuart Bishop
New database baseline
18221
CREATE INDEX bugnotification__date_emailed__idx ON bugnotification USING btree (date_emailed);
18222
7675.1121.53 by Stuart Bishop
New baseline
18223
ALTER TABLE bugnotification CLUSTER ON bugnotification__date_emailed__idx;
18224
18225
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18226
CREATE INDEX bugnotificationattachment__bug_notification__idx ON bugnotificationattachment USING btree (bug_notification);
18227
7675.1121.53 by Stuart Bishop
New baseline
18228
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18229
CREATE INDEX bugnotificationattachment__message__idx ON bugnotificationattachment USING btree (message);
18230
7675.1121.53 by Stuart Bishop
New baseline
18231
18232
CREATE INDEX bugnotificationfilter__bug_subscription_filter__idx ON bugnotificationfilter USING btree (bug_subscription_filter);
18233
18234
7675.395.118 by Stuart Bishop
New database baseline from production
18235
CREATE INDEX bugnotificationrecipient__person__idx ON bugnotificationrecipient USING btree (person);
18236
7675.1121.53 by Stuart Bishop
New baseline
18237
7675.395.118 by Stuart Bishop
New database baseline from production
18238
CREATE INDEX bugnotificationrecipientarchive__bug_notification__idx ON bugnotificationrecipientarchive USING btree (bug_notification);
18239
7675.1121.53 by Stuart Bishop
New baseline
18240
7675.395.118 by Stuart Bishop
New database baseline from production
18241
CREATE INDEX bugnotificationrecipientarchive__person__idx ON bugnotificationrecipientarchive USING btree (person);
18242
18243
5529.1.3 by Stuart Bishop
New database schema baseline
18244
CREATE INDEX bugsubscription__subscribed_by__idx ON bugsubscription USING btree (subscribed_by);
18245
7675.1121.53 by Stuart Bishop
New baseline
18246
3691.17.3 by Stuart Bishop
New database baseline
18247
CREATE INDEX bugsubscription_bug_idx ON bugsubscription USING btree (bug);
18248
4212.1.1 by Stuart Bishop
New database baseline
18249
ALTER TABLE bugsubscription CLUSTER ON bugsubscription_bug_idx;
18250
7675.1121.53 by Stuart Bishop
New baseline
18251
3691.17.3 by Stuart Bishop
New database baseline
18252
CREATE INDEX bugsubscription_person_idx ON bugsubscription USING btree (person);
18253
7675.1121.53 by Stuart Bishop
New baseline
18254
18255
CREATE INDEX bugsubscriptionfilter__bug_notification_level__idx ON bugsubscriptionfilter USING btree (bug_notification_level);
18256
18257
18258
CREATE INDEX bugsubscriptionfilter__structuralsubscription ON bugsubscriptionfilter USING btree (structuralsubscription);
18259
18260
18261
CREATE INDEX bugsubscriptionfilterimportance__filter__importance__idx ON bugsubscriptionfilterimportance USING btree (filter, importance);
18262
18263
18264
CREATE INDEX bugsubscriptionfiltermute__filter__idx ON bugsubscriptionfiltermute USING btree (filter);
18265
18266
18267
CREATE INDEX bugsubscriptionfilterstatus__filter__status__idx ON bugsubscriptionfilterstatus USING btree (filter, status);
18268
18269
18270
CREATE INDEX bugsubscriptionfiltertag__filter__tag__idx ON bugsubscriptionfiltertag USING btree (filter, tag);
18271
18272
18273
CREATE INDEX bugsummary__distribution__idx ON bugsummary USING btree (distribution) WHERE (distribution IS NOT NULL);
18274
18275
18276
CREATE UNIQUE INDEX bugsummary__distribution__unique ON bugsummary USING btree (distribution, status, importance, has_patch, fixed_upstream, (COALESCE(sourcepackagename, (-1))), (COALESCE(tag, ''::text)), (COALESCE(milestone, (-1))), (COALESCE(viewed_by, (-1)))) WHERE (distribution IS NOT NULL);
18277
18278
18279
CREATE INDEX bugsummary__distribution_count__idx ON bugsummary USING btree (distribution) WHERE ((sourcepackagename IS NULL) AND (tag IS NULL));
18280
18281
18282
CREATE INDEX bugsummary__distribution_tag_count__idx ON bugsummary USING btree (distribution) WHERE ((sourcepackagename IS NULL) AND (tag IS NOT NULL));
18283
18284
18285
CREATE INDEX bugsummary__distroseries__idx ON bugsummary USING btree (distroseries) WHERE (distroseries IS NOT NULL);
18286
18287
18288
CREATE UNIQUE INDEX bugsummary__distroseries__unique ON bugsummary USING btree (distroseries, status, importance, has_patch, fixed_upstream, (COALESCE(sourcepackagename, (-1))), (COALESCE(tag, ''::text)), (COALESCE(milestone, (-1))), (COALESCE(viewed_by, (-1)))) WHERE (distroseries IS NOT NULL);
18289
18290
18291
CREATE INDEX bugsummary__full__idx ON bugsummary USING btree (tag, status, product, productseries, distribution, distroseries, sourcepackagename, viewed_by, milestone, importance, has_patch, fixed_upstream);
18292
18293
18294
CREATE INDEX bugsummary__milestone__idx ON bugsummary USING btree (milestone) WHERE (milestone IS NOT NULL);
18295
18296
18297
CREATE INDEX bugsummary__nocount__idx ON bugsummary USING btree (count) WHERE (count = 0);
18298
18299
18300
CREATE INDEX bugsummary__product__idx ON bugsummary USING btree (product) WHERE (product IS NOT NULL);
18301
18302
18303
CREATE UNIQUE INDEX bugsummary__product__unique ON bugsummary USING btree (product, status, importance, has_patch, fixed_upstream, (COALESCE(tag, ''::text)), (COALESCE(milestone, (-1))), (COALESCE(viewed_by, (-1)))) WHERE (product IS NOT NULL);
18304
18305
18306
CREATE INDEX bugsummary__productseries__idx ON bugsummary USING btree (productseries) WHERE (productseries IS NOT NULL);
18307
18308
18309
CREATE UNIQUE INDEX bugsummary__productseries__unique ON bugsummary USING btree (productseries, status, importance, has_patch, fixed_upstream, (COALESCE(tag, ''::text)), (COALESCE(milestone, (-1))), (COALESCE(viewed_by, (-1)))) WHERE (productseries IS NOT NULL);
18310
18311
18312
CREATE INDEX bugsummary__status_count__idx ON bugsummary USING btree (status) WHERE ((sourcepackagename IS NULL) AND (tag IS NULL));
18313
18314
18315
CREATE INDEX bugsummary__tag_count__idx ON bugsummary USING btree (status) WHERE ((sourcepackagename IS NULL) AND (tag IS NOT NULL));
18316
18317
18318
CREATE INDEX bugsummary__viewed_by__idx ON bugsummary USING btree (viewed_by) WHERE (viewed_by IS NOT NULL);
18319
18320
18321
CREATE INDEX bugsummaryjournal__full__idx ON bugsummaryjournal USING btree (status, product, productseries, distribution, distroseries, sourcepackagename, viewed_by, milestone, tag);
18322
18323
18324
CREATE INDEX bugsummaryjournal__milestone__idx ON bugsummaryjournal USING btree (milestone) WHERE (milestone IS NOT NULL);
18325
18326
18327
CREATE INDEX bugsummaryjournal__viewed_by__idx ON bugsummaryjournal USING btree (viewed_by) WHERE (viewed_by IS NOT NULL);
18328
18329
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18330
CREATE INDEX bugtag__bug__idx ON bugtag USING btree (bug);
18331
7675.1121.53 by Stuart Bishop
New baseline
18332
5529.1.3 by Stuart Bishop
New database schema baseline
18333
CREATE INDEX bugtask__assignee__idx ON bugtask USING btree (assignee);
18334
7675.1121.53 by Stuart Bishop
New baseline
18335
5529.1.3 by Stuart Bishop
New database schema baseline
18336
CREATE INDEX bugtask__binarypackagename__idx ON bugtask USING btree (binarypackagename) WHERE (binarypackagename IS NOT NULL);
18337
7675.1121.53 by Stuart Bishop
New baseline
18338
5529.1.3 by Stuart Bishop
New database schema baseline
18339
CREATE INDEX bugtask__bug__idx ON bugtask USING btree (bug);
18340
7675.1121.53 by Stuart Bishop
New baseline
18341
7675.395.118 by Stuart Bishop
New database baseline from production
18342
CREATE INDEX bugtask__bugwatch__idx ON bugtask USING btree (bugwatch) WHERE (bugwatch IS NOT NULL);
18343
7675.1121.53 by Stuart Bishop
New baseline
18344
18345
CREATE INDEX bugtask__date_closed__id__idx2 ON bugtask USING btree (date_closed, id DESC);
18346
4990.1.1 by Stuart Bishop
New database baseline
18347
18348
CREATE INDEX bugtask__date_incomplete__idx ON bugtask USING btree (date_incomplete) WHERE (date_incomplete IS NOT NULL);
18349
7675.1121.53 by Stuart Bishop
New baseline
18350
5529.1.3 by Stuart Bishop
New database schema baseline
18351
CREATE INDEX bugtask__datecreated__idx ON bugtask USING btree (datecreated);
18352
7675.1121.53 by Stuart Bishop
New baseline
18353
18354
CREATE INDEX bugtask__distribution__heat__id__idx ON bugtask USING btree (distribution, heat DESC, id) WHERE (distribution IS NOT NULL);
18355
18356
5529.1.3 by Stuart Bishop
New database schema baseline
18357
CREATE INDEX bugtask__distribution__sourcepackagename__idx ON bugtask USING btree (distribution, sourcepackagename);
18358
18359
ALTER TABLE bugtask CLUSTER ON bugtask__distribution__sourcepackagename__idx;
18360
7675.1121.53 by Stuart Bishop
New baseline
18361
18362
CREATE INDEX bugtask__distribution_sourcepackage__heat__idx ON bugtask USING btree (distribution, sourcepackagename, heat) WHERE (distribution IS NOT NULL);
18363
18364
5529.1.3 by Stuart Bishop
New database schema baseline
18365
CREATE INDEX bugtask__distroseries__sourcepackagename__idx ON bugtask USING btree (distroseries, sourcepackagename);
18366
7675.1121.53 by Stuart Bishop
New baseline
18367
18368
CREATE INDEX bugtask__distroseries_sourcepackage__heat__idx ON bugtask USING btree (distroseries, sourcepackagename, heat) WHERE (distroseries IS NOT NULL);
18369
18370
5529.1.3 by Stuart Bishop
New database schema baseline
18371
CREATE INDEX bugtask__milestone__idx ON bugtask USING btree (milestone);
18372
7675.1121.53 by Stuart Bishop
New baseline
18373
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18374
CREATE INDEX bugtask__owner__idx ON bugtask USING btree (owner);
5529.1.3 by Stuart Bishop
New database schema baseline
18375
7675.1121.53 by Stuart Bishop
New baseline
18376
5529.1.3 by Stuart Bishop
New database schema baseline
18377
CREATE UNIQUE INDEX bugtask__product__bug__key ON bugtask USING btree (product, bug) WHERE (product IS NOT NULL);
18378
7675.1121.53 by Stuart Bishop
New baseline
18379
18380
CREATE INDEX bugtask__product__heat__id__idx ON bugtask USING btree (product, heat DESC, id) WHERE (product IS NOT NULL);
18381
18382
7675.395.118 by Stuart Bishop
New database baseline from production
18383
CREATE UNIQUE INDEX bugtask__productseries__bug__key ON bugtask USING btree (productseries, bug) WHERE (productseries IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18384
7675.1121.53 by Stuart Bishop
New baseline
18385
18386
CREATE INDEX bugtask__productseries__heat__idx ON bugtask USING btree (productseries, heat) WHERE (productseries IS NOT NULL);
18387
18388
5529.1.3 by Stuart Bishop
New database schema baseline
18389
CREATE INDEX bugtask__sourcepackagename__idx ON bugtask USING btree (sourcepackagename) WHERE (sourcepackagename IS NOT NULL);
18390
7675.1121.53 by Stuart Bishop
New baseline
18391
5529.1.3 by Stuart Bishop
New database schema baseline
18392
CREATE INDEX bugtask__status__idx ON bugtask USING btree (status);
18393
7675.1121.53 by Stuart Bishop
New baseline
18394
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18395
CREATE UNIQUE INDEX bugtask_distinct_sourcepackage_assignment ON bugtask USING btree (bug, (COALESCE(sourcepackagename, (-1))), (COALESCE(distroseries, (-1))), (COALESCE(distribution, (-1)))) WHERE ((product IS NULL) AND (productseries IS NULL));
3691.17.3 by Stuart Bishop
New database baseline
18396
7675.1121.53 by Stuart Bishop
New baseline
18397
18398
CREATE INDEX bugtask_fti ON bugtask USING gist (fti);
18399
18400
18401
CREATE INDEX bugtask_importance_idx ON bugtask USING btree (importance, id DESC);
18402
4990.1.1 by Stuart Bishop
New database baseline
18403
3691.17.3 by Stuart Bishop
New database baseline
18404
CREATE UNIQUE INDEX bugtracker_name_key ON bugtracker USING btree (name);
18405
7675.1121.53 by Stuart Bishop
New baseline
18406
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18407
CREATE INDEX bugtracker_owner_idx ON bugtracker USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
18408
7675.1121.53 by Stuart Bishop
New baseline
18409
5529.1.3 by Stuart Bishop
New database schema baseline
18410
CREATE INDEX bugtrackeralias__bugtracker__idx ON bugtrackeralias USING btree (bugtracker);
18411
7675.1121.53 by Stuart Bishop
New baseline
18412
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18413
CREATE INDEX bugtrackerperson__person__idx ON bugtrackerperson USING btree (person);
18414
7675.1121.53 by Stuart Bishop
New baseline
18415
7675.395.118 by Stuart Bishop
New database baseline from production
18416
CREATE INDEX bugwatch__lastchecked__idx ON bugwatch USING btree (lastchecked);
18417
7675.1121.53 by Stuart Bishop
New baseline
18418
7675.395.118 by Stuart Bishop
New database baseline from production
18419
CREATE INDEX bugwatch__next_check__idx ON bugwatch USING btree (next_check);
18420
7675.1121.53 by Stuart Bishop
New baseline
18421
7675.395.118 by Stuart Bishop
New database baseline from production
18422
CREATE INDEX bugwatch__remote_lp_bug_id__idx ON bugwatch USING btree (remote_lp_bug_id) WHERE (remote_lp_bug_id IS NOT NULL);
18423
7675.1121.53 by Stuart Bishop
New baseline
18424
7675.395.118 by Stuart Bishop
New database baseline from production
18425
CREATE INDEX bugwatch__remotebug__idx ON bugwatch USING btree (remotebug);
18426
7675.1121.53 by Stuart Bishop
New baseline
18427
3691.17.3 by Stuart Bishop
New database baseline
18428
CREATE INDEX bugwatch_bug_idx ON bugwatch USING btree (bug);
18429
7675.1121.53 by Stuart Bishop
New baseline
18430
3691.17.3 by Stuart Bishop
New database baseline
18431
CREATE INDEX bugwatch_bugtracker_idx ON bugwatch USING btree (bugtracker);
18432
7675.1121.53 by Stuart Bishop
New baseline
18433
3691.17.3 by Stuart Bishop
New database baseline
18434
CREATE INDEX bugwatch_datecreated_idx ON bugwatch USING btree (datecreated);
18435
7675.1121.53 by Stuart Bishop
New baseline
18436
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18437
CREATE INDEX bugwatch_owner_idx ON bugwatch USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
18438
7675.1121.53 by Stuart Bishop
New baseline
18439
7675.395.118 by Stuart Bishop
New database baseline from production
18440
CREATE INDEX bugwatchactivity__bug_watch__idx ON bugwatchactivity USING btree (bug_watch);
18441
18442
ALTER TABLE bugwatchactivity CLUSTER ON bugwatchactivity__bug_watch__idx;
18443
18444
18445
CREATE INDEX builder__owner__idx ON builder USING btree (owner);
18446
7675.1121.53 by Stuart Bishop
New baseline
18447
7675.395.118 by Stuart Bishop
New database baseline from production
18448
CREATE INDEX buildfarmjob__builder_and_status__idx ON buildfarmjob USING btree (builder, status);
18449
7675.1121.53 by Stuart Bishop
New baseline
18450
7675.395.118 by Stuart Bishop
New database baseline from production
18451
CREATE INDEX buildfarmjob__date_created__idx ON buildfarmjob USING btree (date_created);
18452
7675.1121.53 by Stuart Bishop
New baseline
18453
7675.395.118 by Stuart Bishop
New database baseline from production
18454
CREATE INDEX buildfarmjob__date_finished__idx ON buildfarmjob USING btree (date_finished);
18455
7675.1121.53 by Stuart Bishop
New baseline
18456
7675.395.118 by Stuart Bishop
New database baseline from production
18457
CREATE INDEX buildfarmjob__date_started__idx ON buildfarmjob USING btree (date_started);
18458
7675.1121.53 by Stuart Bishop
New baseline
18459
7675.395.118 by Stuart Bishop
New database baseline from production
18460
CREATE INDEX buildfarmjob__log__idx ON buildfarmjob USING btree (log) WHERE (log IS NOT NULL);
18461
7675.1121.53 by Stuart Bishop
New baseline
18462
7675.395.118 by Stuart Bishop
New database baseline from production
18463
CREATE INDEX buildfarmjob__status__idx ON buildfarmjob USING btree (status);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18464
7675.1121.53 by Stuart Bishop
New baseline
18465
3691.17.3 by Stuart Bishop
New database baseline
18466
CREATE UNIQUE INDEX buildqueue__builder__id__idx ON buildqueue USING btree (builder, id);
18467
4212.1.1 by Stuart Bishop
New database baseline
18468
ALTER TABLE buildqueue CLUSTER ON buildqueue__builder__id__idx;
18469
7675.1121.53 by Stuart Bishop
New baseline
18470
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18471
CREATE UNIQUE INDEX buildqueue__builder__unq ON buildqueue USING btree (builder) WHERE (builder IS NOT NULL);
18472
7675.1121.53 by Stuart Bishop
New baseline
18473
7675.395.118 by Stuart Bishop
New database baseline from production
18474
CREATE INDEX buildqueue__job_type__idx ON buildqueue USING btree (job_type);
18475
7675.1121.53 by Stuart Bishop
New baseline
18476
7675.395.118 by Stuart Bishop
New database baseline from production
18477
CREATE INDEX buildqueue__processor__virtualized__idx ON buildqueue USING btree (processor, virtualized) WHERE (processor IS NOT NULL);
18478
7675.1121.53 by Stuart Bishop
New baseline
18479
3691.17.3 by Stuart Bishop
New database baseline
18480
CREATE INDEX changeset_datecreated_idx ON revision USING btree (date_created);
18481
7675.1121.53 by Stuart Bishop
New baseline
18482
4990.1.1 by Stuart Bishop
New database baseline
18483
CREATE INDEX codeimport__assignee__idx ON codeimport USING btree (assignee);
18484
7675.1121.53 by Stuart Bishop
New baseline
18485
4990.1.1 by Stuart Bishop
New database baseline
18486
CREATE UNIQUE INDEX codeimport__cvs_root__cvs_module__key ON codeimport USING btree (cvs_root, cvs_module) WHERE (cvs_root IS NOT NULL);
18487
7675.1121.53 by Stuart Bishop
New baseline
18488
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18489
CREATE INDEX codeimport__owner__idx ON codeimport USING btree (owner);
4990.1.1 by Stuart Bishop
New database baseline
18490
7675.1121.53 by Stuart Bishop
New baseline
18491
4990.1.1 by Stuart Bishop
New database baseline
18492
CREATE INDEX codeimport__registrant__idx ON codeimport USING btree (registrant);
18493
7675.1121.53 by Stuart Bishop
New baseline
18494
7675.395.118 by Stuart Bishop
New database baseline from production
18495
CREATE UNIQUE INDEX codeimport__url__idx ON codeimport USING btree (url) WHERE (url IS NOT NULL);
4990.1.1 by Stuart Bishop
New database baseline
18496
7675.1121.53 by Stuart Bishop
New baseline
18497
4990.1.1 by Stuart Bishop
New database baseline
18498
CREATE INDEX codeimportevent__code_import__date_created__id__idx ON codeimportevent USING btree (code_import, date_created, id);
18499
7675.1121.53 by Stuart Bishop
New baseline
18500
4990.1.1 by Stuart Bishop
New database baseline
18501
CREATE INDEX codeimportevent__date_created__id__idx ON codeimportevent USING btree (date_created, id);
18502
7675.1121.53 by Stuart Bishop
New baseline
18503
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18504
CREATE INDEX codeimportevent__message__date_created__idx ON codeimportevent USING btree (machine, date_created) WHERE (machine IS NOT NULL);
18505
7675.1121.53 by Stuart Bishop
New baseline
18506
4990.1.1 by Stuart Bishop
New database baseline
18507
CREATE INDEX codeimportevent__person__idx ON codeimportevent USING btree (person) WHERE (person IS NOT NULL);
18508
7675.1121.53 by Stuart Bishop
New baseline
18509
4990.1.1 by Stuart Bishop
New database baseline
18510
CREATE INDEX codeimportjob__code_import__date_created__idx ON codeimportjob USING btree (code_import, date_created);
18511
7675.1121.53 by Stuart Bishop
New baseline
18512
4990.1.1 by Stuart Bishop
New database baseline
18513
CREATE INDEX codeimportjob__machine__date_created__idx ON codeimportjob USING btree (machine, date_created);
18514
7675.1121.53 by Stuart Bishop
New baseline
18515
4990.1.1 by Stuart Bishop
New database baseline
18516
CREATE INDEX codeimportjob__requesting_user__idx ON codeimportjob USING btree (requesting_user);
18517
7675.1121.53 by Stuart Bishop
New baseline
18518
4990.1.1 by Stuart Bishop
New database baseline
18519
CREATE INDEX codeimportresult__code_import__date_created__idx ON codeimportresult USING btree (code_import, date_created);
18520
7675.1121.53 by Stuart Bishop
New baseline
18521
7675.395.118 by Stuart Bishop
New database baseline from production
18522
CREATE INDEX codeimportresult__log_file__idx ON codeimportresult USING btree (log_file);
18523
7675.1121.53 by Stuart Bishop
New baseline
18524
4990.1.1 by Stuart Bishop
New database baseline
18525
CREATE INDEX codeimportresult__machine__date_created__idx ON codeimportresult USING btree (machine, date_created);
18526
7675.1121.53 by Stuart Bishop
New baseline
18527
4990.1.1 by Stuart Bishop
New database baseline
18528
CREATE INDEX codeimportresult__requesting_user__idx ON codeimportresult USING btree (requesting_user);
18529
7675.1121.53 by Stuart Bishop
New baseline
18530
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18531
CREATE INDEX codereviewvote__branch_merge_proposal__idx ON codereviewvote USING btree (branch_merge_proposal);
18532
7675.1121.53 by Stuart Bishop
New baseline
18533
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18534
CREATE INDEX codereviewvote__registrant__idx ON codereviewvote USING btree (registrant);
18535
7675.1121.53 by Stuart Bishop
New baseline
18536
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18537
CREATE INDEX codereviewvote__reviewer__idx ON codereviewvote USING btree (reviewer);
18538
7675.1121.53 by Stuart Bishop
New baseline
18539
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18540
CREATE INDEX codereviewvote__vote_message__idx ON codereviewvote USING btree (vote_message);
18541
7675.1121.53 by Stuart Bishop
New baseline
18542
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18543
CREATE INDEX commercialsubscription__product__idx ON commercialsubscription USING btree (product);
18544
7675.1121.53 by Stuart Bishop
New baseline
18545
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18546
CREATE INDEX commercialsubscription__purchaser__idx ON commercialsubscription USING btree (purchaser);
18547
7675.1121.53 by Stuart Bishop
New baseline
18548
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18549
CREATE INDEX commercialsubscription__registrant__idx ON commercialsubscription USING btree (registrant);
18550
7675.1121.53 by Stuart Bishop
New baseline
18551
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18552
CREATE INDEX commercialsubscription__sales_system_id__idx ON commercialsubscription USING btree (sales_system_id);
18553
7675.1121.53 by Stuart Bishop
New baseline
18554
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18555
CREATE UNIQUE INDEX customlanguagecode__distribution__sourcepackagename__code__key ON customlanguagecode USING btree (distribution, sourcepackagename, language_code) WHERE (distribution IS NOT NULL);
18556
7675.1121.53 by Stuart Bishop
New baseline
18557
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18558
CREATE UNIQUE INDEX customlanguagecode__product__code__key ON customlanguagecode USING btree (product, language_code) WHERE (product IS NOT NULL);
18559
7675.1121.53 by Stuart Bishop
New baseline
18560
3691.17.3 by Stuart Bishop
New database baseline
18561
CREATE INDEX cve_datecreated_idx ON cve USING btree (datecreated);
18562
7675.1121.53 by Stuart Bishop
New baseline
18563
3691.17.3 by Stuart Bishop
New database baseline
18564
CREATE INDEX cve_datemodified_idx ON cve USING btree (datemodified);
18565
7675.1121.53 by Stuart Bishop
New baseline
18566
18567
CREATE INDEX cve_fti ON cve USING gist (fti);
18568
3691.17.3 by Stuart Bishop
New database baseline
18569
18570
CREATE INDEX cvereference_cve_idx ON cvereference USING btree (cve);
18571
7675.1121.53 by Stuart Bishop
New baseline
18572
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18573
CREATE INDEX diff__diff_text__idx ON diff USING btree (diff_text);
18574
7675.1121.53 by Stuart Bishop
New baseline
18575
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18576
CREATE INDEX distribution__bug_supervisor__idx ON distribution USING btree (bug_supervisor) WHERE (bug_supervisor IS NOT NULL);
18577
7675.1121.53 by Stuart Bishop
New baseline
18578
7675.395.118 by Stuart Bishop
New database baseline from production
18579
CREATE INDEX distribution__driver__idx ON distribution USING btree (driver);
18580
7675.1121.53 by Stuart Bishop
New baseline
18581
4990.1.1 by Stuart Bishop
New database baseline
18582
CREATE INDEX distribution__icon__idx ON distribution USING btree (icon) WHERE (icon IS NOT NULL);
18583
7675.1121.53 by Stuart Bishop
New baseline
18584
4990.1.1 by Stuart Bishop
New database baseline
18585
CREATE INDEX distribution__language_pack_admin__idx ON distribution USING btree (language_pack_admin);
18586
7675.1121.53 by Stuart Bishop
New baseline
18587
4990.1.1 by Stuart Bishop
New database baseline
18588
CREATE INDEX distribution__logo__idx ON distribution USING btree (logo) WHERE (logo IS NOT NULL);
18589
7675.1121.53 by Stuart Bishop
New baseline
18590
7675.395.118 by Stuart Bishop
New database baseline from production
18591
CREATE INDEX distribution__members__idx ON distribution USING btree (members);
18592
7675.1121.53 by Stuart Bishop
New baseline
18593
7675.395.118 by Stuart Bishop
New database baseline from production
18594
CREATE INDEX distribution__mirror_admin__idx ON distribution USING btree (mirror_admin);
18595
7675.1121.53 by Stuart Bishop
New baseline
18596
4990.1.1 by Stuart Bishop
New database baseline
18597
CREATE INDEX distribution__mugshot__idx ON distribution USING btree (mugshot) WHERE (mugshot IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18598
7675.1121.53 by Stuart Bishop
New baseline
18599
7675.395.118 by Stuart Bishop
New database baseline from production
18600
CREATE INDEX distribution__owner__idx ON distribution USING btree (owner);
18601
7675.1121.53 by Stuart Bishop
New baseline
18602
18603
CREATE INDEX distribution__registrant__idx ON distribution USING btree (registrant);
18604
18605
7675.395.118 by Stuart Bishop
New database baseline from production
18606
CREATE INDEX distribution__security_contact__idx ON distribution USING btree (security_contact);
18607
7675.1121.53 by Stuart Bishop
New baseline
18608
7675.395.118 by Stuart Bishop
New database baseline from production
18609
CREATE INDEX distribution__upload_admin__idx ON distribution USING btree (upload_admin);
18610
7675.1121.53 by Stuart Bishop
New baseline
18611
18612
CREATE INDEX distribution_fti ON distribution USING gist (fti);
18613
18614
18615
CREATE UNIQUE INDEX distribution_job__initialize_series__distroseries ON distributionjob USING btree (distroseries) WHERE (job_type = 1);
18616
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18617
3691.17.3 by Stuart Bishop
New database baseline
18618
CREATE INDEX distribution_translationgroup_idx ON distribution USING btree (translationgroup);
18619
18620
7675.395.118 by Stuart Bishop
New database baseline from production
18621
CREATE UNIQUE INDEX distributionmirror__archive__distribution__country__key ON distributionmirror USING btree (distribution, country, content) WHERE ((country_dns_mirror IS TRUE) AND (content = 1));
18622
7675.1121.53 by Stuart Bishop
New baseline
18623
5529.1.3 by Stuart Bishop
New database schema baseline
18624
CREATE INDEX distributionmirror__country__status__idx ON distributionmirror USING btree (country, status);
18625
7675.1121.53 by Stuart Bishop
New baseline
18626
7675.395.118 by Stuart Bishop
New database baseline from production
18627
CREATE INDEX distributionmirror__owner__idx ON distributionmirror USING btree (owner);
18628
7675.1121.53 by Stuart Bishop
New baseline
18629
7675.395.118 by Stuart Bishop
New database baseline from production
18630
CREATE UNIQUE INDEX distributionmirror__releases__distribution__country__key ON distributionmirror USING btree (distribution, country, content) WHERE ((country_dns_mirror IS TRUE) AND (content = 2));
18631
7675.1121.53 by Stuart Bishop
New baseline
18632
7675.395.118 by Stuart Bishop
New database baseline from production
18633
CREATE INDEX distributionmirror__reviewer__idx ON distributionmirror USING btree (reviewer);
18634
7675.1121.53 by Stuart Bishop
New baseline
18635
5529.1.3 by Stuart Bishop
New database schema baseline
18636
CREATE INDEX distributionmirror__status__idx ON distributionmirror USING btree (status);
18637
7675.1121.53 by Stuart Bishop
New baseline
18638
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18639
CREATE INDEX distributionsourcepackagecache__archive__idx ON distributionsourcepackagecache USING btree (archive);
18640
7675.1121.53 by Stuart Bishop
New baseline
18641
18642
CREATE INDEX distributionsourcepackagecache_fti ON distributionsourcepackagecache USING gist (fti);
18643
3691.17.3 by Stuart Bishop
New database baseline
18644
5529.1.3 by Stuart Bishop
New database schema baseline
18645
CREATE INDEX distroarchseries__distroseries__idx ON distroarchseries USING btree (distroseries);
18646
7675.1121.53 by Stuart Bishop
New baseline
18647
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18648
CREATE INDEX distroarchseries__owner__idx ON distroarchseries USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
18649
18650
5529.1.3 by Stuart Bishop
New database schema baseline
18651
CREATE INDEX distroseries__driver__idx ON distroseries USING btree (driver) WHERE (driver IS NOT NULL);
18652
7675.1121.53 by Stuart Bishop
New baseline
18653
18654
CREATE INDEX distroseries__registrant__idx ON distroseries USING btree (registrant);
18655
18656
18657
CREATE INDEX distroseriesdifference__base_version__idx ON distroseriesdifference USING btree (base_version);
18658
18659
18660
CREATE INDEX distroseriesdifference__difference_type__idx ON distroseriesdifference USING btree (difference_type);
18661
18662
18663
CREATE INDEX distroseriesdifference__package_diff__idx ON distroseriesdifference USING btree (package_diff);
18664
18665
18666
CREATE INDEX distroseriesdifference__parent_package_diff__idx ON distroseriesdifference USING btree (parent_package_diff);
18667
18668
18669
CREATE INDEX distroseriesdifference__parent_series__idx ON distroseriesdifference USING btree (parent_series);
18670
18671
18672
CREATE INDEX distroseriesdifference__parent_source_version__idx ON distroseriesdifference USING btree (parent_source_version);
18673
18674
18675
CREATE INDEX distroseriesdifference__source_package_name__idx ON distroseriesdifference USING btree (source_package_name);
18676
18677
18678
CREATE INDEX distroseriesdifference__source_version__idx ON distroseriesdifference USING btree (source_version);
18679
18680
18681
CREATE INDEX distroseriesdifference__status__idx ON distroseriesdifference USING btree (status);
18682
18683
18684
CREATE INDEX distroseriesdifferencemessage__distroseriesdifference__idx ON distroseriesdifferencemessage USING btree (distro_series_difference);
18685
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18686
18687
CREATE INDEX distroseriespackagecache__archive__idx ON distroseriespackagecache USING btree (archive);
5529.1.3 by Stuart Bishop
New database schema baseline
18688
7675.1121.53 by Stuart Bishop
New baseline
18689
5529.1.3 by Stuart Bishop
New database schema baseline
18690
CREATE INDEX distroseriespackagecache__distroseries__idx ON distroseriespackagecache USING btree (distroseries);
18691
7675.1121.53 by Stuart Bishop
New baseline
18692
18693
CREATE INDEX distroseriespackagecache_fti ON distroseriespackagecache USING gist (fti);
18694
18695
18696
CREATE INDEX distroseriesparent__derived_series__ordering__idx ON distroseriesparent USING btree (derived_series, ordering);
18697
18698
18699
CREATE INDEX distroseriesparent__parentseries__idx ON distroseriesparent USING btree (parent_series);
18700
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18701
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18702
CREATE UNIQUE INDEX emailaddress__account__key ON emailaddress USING btree (account) WHERE ((status = 4) AND (account IS NOT NULL));
18703
7675.1121.53 by Stuart Bishop
New baseline
18704
18705
COMMENT ON INDEX emailaddress__account__key IS 'Ensures that an Account only has one preferred email address';
18706
18707
7675.395.118 by Stuart Bishop
New database baseline from production
18708
CREATE INDEX emailaddress__account__status__idx ON emailaddress USING btree (account, status);
18709
7675.1121.53 by Stuart Bishop
New baseline
18710
7675.395.118 by Stuart Bishop
New database baseline from production
18711
CREATE UNIQUE INDEX emailaddress__lower_email__key ON emailaddress USING btree (lower(email));
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18712
7675.1121.53 by Stuart Bishop
New baseline
18713
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18714
CREATE UNIQUE INDEX emailaddress__person__key ON emailaddress USING btree (person) WHERE ((status = 4) AND (person IS NOT NULL));
3691.17.3 by Stuart Bishop
New database baseline
18715
7675.1121.53 by Stuart Bishop
New baseline
18716
18717
COMMENT ON INDEX emailaddress__person__key IS 'Ensures that a Person only has one preferred email address';
18718
18719
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18720
CREATE INDEX emailaddress__person__status__idx ON emailaddress USING btree (person, status);
4212.1.1 by Stuart Bishop
New database baseline
18721
7675.1121.53 by Stuart Bishop
New baseline
18722
4990.1.1 by Stuart Bishop
New database baseline
18723
CREATE INDEX entitlement__approved_by__idx ON entitlement USING btree (approved_by) WHERE (approved_by IS NOT NULL);
18724
7675.1121.53 by Stuart Bishop
New baseline
18725
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18726
CREATE INDEX entitlement__distribution__idx ON entitlement USING btree (distribution) WHERE (distribution IS NOT NULL);
18727
7675.1121.53 by Stuart Bishop
New baseline
18728
4990.1.1 by Stuart Bishop
New database baseline
18729
CREATE INDEX entitlement__person__idx ON entitlement USING btree (person);
18730
7675.1121.53 by Stuart Bishop
New baseline
18731
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18732
CREATE INDEX entitlement__product__idx ON entitlement USING btree (product) WHERE (product IS NOT NULL);
18733
7675.1121.53 by Stuart Bishop
New baseline
18734
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18735
CREATE INDEX entitlement__project__idx ON entitlement USING btree (project) WHERE (project IS NOT NULL);
18736
7675.1121.53 by Stuart Bishop
New baseline
18737
4990.1.1 by Stuart Bishop
New database baseline
18738
CREATE INDEX entitlement__registrant__idx ON entitlement USING btree (registrant) WHERE (registrant IS NOT NULL);
18739
7675.1121.53 by Stuart Bishop
New baseline
18740
4990.1.1 by Stuart Bishop
New database baseline
18741
CREATE INDEX entitlement_lookup_idx ON entitlement USING btree (entitlement_type, date_starts, date_expires, person, state);
18742
7675.1121.53 by Stuart Bishop
New baseline
18743
4990.1.1 by Stuart Bishop
New database baseline
18744
CREATE INDEX faq__distribution__idx ON faq USING btree (distribution) WHERE (distribution IS NOT NULL);
18745
7675.1121.53 by Stuart Bishop
New baseline
18746
7675.395.118 by Stuart Bishop
New database baseline from production
18747
CREATE INDEX faq__last_updated_by__idx ON faq USING btree (last_updated_by);
18748
7675.1121.53 by Stuart Bishop
New baseline
18749
7675.395.118 by Stuart Bishop
New database baseline from production
18750
CREATE INDEX faq__owner__idx ON faq USING btree (owner);
18751
7675.1121.53 by Stuart Bishop
New baseline
18752
4990.1.1 by Stuart Bishop
New database baseline
18753
CREATE INDEX faq__product__idx ON faq USING btree (product) WHERE (product IS NOT NULL);
18754
7675.1121.53 by Stuart Bishop
New baseline
18755
18756
CREATE INDEX faq_fti ON faq USING gist (fti);
18757
4990.1.1 by Stuart Bishop
New database baseline
18758
5529.1.3 by Stuart Bishop
New database schema baseline
18759
CREATE INDEX featuredproject__pillar_name__idx ON featuredproject USING btree (pillar_name);
18760
7675.1121.53 by Stuart Bishop
New baseline
18761
18762
CREATE INDEX featureflagchangelogentry__person__idx ON featureflagchangelogentry USING btree (person);
18763
18764
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18765
CREATE INDEX flatpackagesetinclusion__child__idx ON flatpackagesetinclusion USING btree (child);
18766
7675.1121.53 by Stuart Bishop
New baseline
18767
5529.1.3 by Stuart Bishop
New database schema baseline
18768
CREATE INDEX hwdevice__bus_product_id__idx ON hwdevice USING btree (bus_product_id);
18769
7675.1121.53 by Stuart Bishop
New baseline
18770
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18771
CREATE UNIQUE INDEX hwdevice__bus_vendor_id__bus_product_id__key ON hwdevice USING btree (bus_vendor_id, bus_product_id) WHERE (variant IS NULL);
18772
7675.1121.53 by Stuart Bishop
New baseline
18773
5529.1.3 by Stuart Bishop
New database schema baseline
18774
CREATE INDEX hwdevice__name__idx ON hwdevice USING btree (name);
18775
7675.1121.53 by Stuart Bishop
New baseline
18776
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18777
CREATE UNIQUE INDEX hwdeviceclass__device__main_class__key ON hwdeviceclass USING btree (device, main_class) WHERE (sub_class IS NULL);
18778
7675.1121.53 by Stuart Bishop
New baseline
18779
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18780
CREATE UNIQUE INDEX hwdeviceclass__device__main_class__sub_class__key ON hwdeviceclass USING btree (device, main_class, sub_class) WHERE (sub_class IS NOT NULL);
18781
7675.1121.53 by Stuart Bishop
New baseline
18782
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18783
CREATE INDEX hwdeviceclass__main_class__idx ON hwdeviceclass USING btree (main_class);
18784
7675.1121.53 by Stuart Bishop
New baseline
18785
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18786
CREATE INDEX hwdeviceclass__sub_class__idx ON hwdeviceclass USING btree (sub_class);
18787
7675.1121.53 by Stuart Bishop
New baseline
18788
5529.1.3 by Stuart Bishop
New database schema baseline
18789
CREATE UNIQUE INDEX hwdevicedriverlink__device__driver__key ON hwdevicedriverlink USING btree (device, driver) WHERE (driver IS NOT NULL);
18790
7675.1121.53 by Stuart Bishop
New baseline
18791
5529.1.3 by Stuart Bishop
New database schema baseline
18792
CREATE INDEX hwdevicedriverlink__device__idx ON hwdevicedriverlink USING btree (device);
18793
7675.1121.53 by Stuart Bishop
New baseline
18794
5529.1.3 by Stuart Bishop
New database schema baseline
18795
CREATE UNIQUE INDEX hwdevicedriverlink__device__key ON hwdevicedriverlink USING btree (device) WHERE (driver IS NULL);
18796
7675.1121.53 by Stuart Bishop
New baseline
18797
5529.1.3 by Stuart Bishop
New database schema baseline
18798
CREATE INDEX hwdevicedriverlink__driver__idx ON hwdevicedriverlink USING btree (driver);
18799
7675.1121.53 by Stuart Bishop
New baseline
18800
5529.1.3 by Stuart Bishop
New database schema baseline
18801
CREATE INDEX hwdevicenamevariant__device__idx ON hwdevicenamevariant USING btree (device);
18802
7675.1121.53 by Stuart Bishop
New baseline
18803
5529.1.3 by Stuart Bishop
New database schema baseline
18804
CREATE INDEX hwdevicenamevariant__product_name__idx ON hwdevicenamevariant USING btree (product_name);
18805
7675.1121.53 by Stuart Bishop
New baseline
18806
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18807
CREATE INDEX hwdmihandle__submission__idx ON hwdmihandle USING btree (submission);
18808
7675.1121.53 by Stuart Bishop
New baseline
18809
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18810
CREATE INDEX hwdmivalue__hanlde__idx ON hwdmivalue USING btree (handle);
18811
7675.1121.53 by Stuart Bishop
New baseline
18812
5529.1.3 by Stuart Bishop
New database schema baseline
18813
CREATE INDEX hwdriver__name__idx ON hwdriver USING btree (name);
18814
7675.1121.53 by Stuart Bishop
New baseline
18815
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18816
CREATE UNIQUE INDEX hwdriver__name__key ON hwdriver USING btree (name) WHERE (package_name IS NULL);
18817
7675.1121.53 by Stuart Bishop
New baseline
18818
18819
CREATE INDEX hwsubmission__date_created__idx ON hwsubmission USING btree (date_created);
18820
18821
18822
CREATE INDEX hwsubmission__date_submitted__idx ON hwsubmission USING btree (date_submitted);
18823
18824
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18825
CREATE INDEX hwsubmission__lower_raw_emailaddress__idx ON hwsubmission USING btree (lower(raw_emailaddress));
18826
7675.1121.53 by Stuart Bishop
New baseline
18827
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18828
CREATE INDEX hwsubmission__owner__idx ON hwsubmission USING btree (owner);
4990.1.1 by Stuart Bishop
New database baseline
18829
7675.1121.53 by Stuart Bishop
New baseline
18830
5529.1.3 by Stuart Bishop
New database schema baseline
18831
CREATE INDEX hwsubmission__raw_emailaddress__idx ON hwsubmission USING btree (raw_emailaddress);
18832
7675.1121.53 by Stuart Bishop
New baseline
18833
4990.1.1 by Stuart Bishop
New database baseline
18834
CREATE INDEX hwsubmission__raw_submission__idx ON hwsubmission USING btree (raw_submission);
18835
7675.1121.53 by Stuart Bishop
New baseline
18836
4990.1.1 by Stuart Bishop
New database baseline
18837
CREATE INDEX hwsubmission__status__idx ON hwsubmission USING btree (status);
18838
7675.1121.53 by Stuart Bishop
New baseline
18839
4990.1.1 by Stuart Bishop
New database baseline
18840
CREATE INDEX hwsubmission__system_fingerprint__idx ON hwsubmission USING btree (system_fingerprint);
18841
7675.1121.53 by Stuart Bishop
New baseline
18842
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18843
CREATE INDEX hwsubmissionbug__bug ON hwsubmissionbug USING btree (bug);
18844
7675.1121.53 by Stuart Bishop
New baseline
18845
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18846
CREATE INDEX hwsubmissiondevice__device_driver_link__idx ON hwsubmissiondevice USING btree (device_driver_link);
18847
7675.1121.53 by Stuart Bishop
New baseline
18848
18849
CREATE INDEX hwsubmissiondevice__parent__idx ON hwsubmissiondevice USING btree (parent);
18850
18851
5529.1.3 by Stuart Bishop
New database schema baseline
18852
CREATE INDEX hwsubmissiondevice__submission__idx ON hwsubmissiondevice USING btree (submission);
18853
7675.1121.53 by Stuart Bishop
New baseline
18854
5529.1.3 by Stuart Bishop
New database schema baseline
18855
CREATE UNIQUE INDEX hwtest__name__version__key ON hwtest USING btree (name, version) WHERE (namespace IS NULL);
18856
7675.1121.53 by Stuart Bishop
New baseline
18857
5529.1.3 by Stuart Bishop
New database schema baseline
18858
CREATE UNIQUE INDEX hwtest__namespace__name__version__key ON hwtest USING btree (namespace, name, version) WHERE (namespace IS NOT NULL);
18859
7675.1121.53 by Stuart Bishop
New baseline
18860
5529.1.3 by Stuart Bishop
New database schema baseline
18861
CREATE INDEX hwtestanswer__choice__idx ON hwtestanswer USING btree (choice);
18862
7675.1121.53 by Stuart Bishop
New baseline
18863
5529.1.3 by Stuart Bishop
New database schema baseline
18864
CREATE INDEX hwtestanswer__submission__idx ON hwtestanswer USING btree (submission);
18865
7675.1121.53 by Stuart Bishop
New baseline
18866
5529.1.3 by Stuart Bishop
New database schema baseline
18867
CREATE INDEX hwtestanswer__test__idx ON hwtestanswer USING btree (test);
18868
7675.1121.53 by Stuart Bishop
New baseline
18869
5529.1.3 by Stuart Bishop
New database schema baseline
18870
CREATE INDEX hwtestanswerchoice__test__idx ON hwtestanswerchoice USING btree (test);
18871
7675.1121.53 by Stuart Bishop
New baseline
18872
5529.1.3 by Stuart Bishop
New database schema baseline
18873
CREATE INDEX hwtestanswercount__choice__idx ON hwtestanswercount USING btree (choice);
18874
7675.1121.53 by Stuart Bishop
New baseline
18875
5529.1.3 by Stuart Bishop
New database schema baseline
18876
CREATE INDEX hwtestanswercount__distroarchrelease__idx ON hwtestanswercount USING btree (distroarchseries) WHERE (distroarchseries IS NOT NULL);
18877
7675.1121.53 by Stuart Bishop
New baseline
18878
5529.1.3 by Stuart Bishop
New database schema baseline
18879
CREATE INDEX hwtestanswercount__test__idx ON hwtestanswercount USING btree (test);
18880
7675.1121.53 by Stuart Bishop
New baseline
18881
5529.1.3 by Stuart Bishop
New database schema baseline
18882
CREATE INDEX hwtestanswercountdevice__device_driver__idx ON hwtestanswercountdevice USING btree (device_driver);
18883
7675.1121.53 by Stuart Bishop
New baseline
18884
5529.1.3 by Stuart Bishop
New database schema baseline
18885
CREATE INDEX hwtestanswerdevice__device_driver__idx ON hwtestanswerdevice USING btree (device_driver);
18886
7675.1121.53 by Stuart Bishop
New baseline
18887
5529.1.3 by Stuart Bishop
New database schema baseline
18888
CREATE INDEX hwvendorid__vendor_id_for_bus__idx ON hwvendorid USING btree (vendor_id_for_bus);
18889
7675.1121.53 by Stuart Bishop
New baseline
18890
5529.1.3 by Stuart Bishop
New database schema baseline
18891
CREATE INDEX hwvendorid__vendorname__idx ON hwvendorid USING btree (vendor_name);
18892
7675.1121.53 by Stuart Bishop
New baseline
18893
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18894
CREATE UNIQUE INDEX hwvendorname__lc_vendor_name__idx ON hwvendorname USING btree (ulower(name));
18895
7675.1121.53 by Stuart Bishop
New baseline
18896
18897
CREATE INDEX incrementaldiff__branch_merge_proposal__idx ON incrementaldiff USING btree (branch_merge_proposal);
18898
18899
18900
CREATE INDEX incrementaldiff__diff__idx ON incrementaldiff USING btree (diff);
18901
18902
18903
CREATE INDEX incrementaldiff__new_revision__idx ON incrementaldiff USING btree (new_revision);
18904
18905
18906
CREATE INDEX incrementaldiff__old_revision__idx ON incrementaldiff USING btree (old_revision);
18907
5529.1.3 by Stuart Bishop
New database schema baseline
18908
3691.17.3 by Stuart Bishop
New database baseline
18909
CREATE INDEX ircid_person_idx ON ircid USING btree (person);
18910
7675.1121.53 by Stuart Bishop
New baseline
18911
3691.17.3 by Stuart Bishop
New database baseline
18912
CREATE INDEX jabberid_person_idx ON jabberid USING btree (person);
18913
7675.1121.53 by Stuart Bishop
New baseline
18914
7675.395.118 by Stuart Bishop
New database baseline from production
18915
CREATE INDEX job__date_finished__idx ON job USING btree (date_finished) WHERE (date_finished IS NOT NULL);
18916
7675.1121.53 by Stuart Bishop
New baseline
18917
7675.395.118 by Stuart Bishop
New database baseline from production
18918
CREATE INDEX job__lease_expires__idx ON job USING btree (lease_expires);
18919
7675.1121.53 by Stuart Bishop
New baseline
18920
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18921
CREATE INDEX job__requester__key ON job USING btree (requester) WHERE (requester IS NOT NULL);
18922
7675.1121.53 by Stuart Bishop
New baseline
18923
7675.395.118 by Stuart Bishop
New database baseline from production
18924
CREATE INDEX job__scheduled_start__idx ON job USING btree (scheduled_start);
18925
7675.1121.53 by Stuart Bishop
New baseline
18926
3691.17.3 by Stuart Bishop
New database baseline
18927
CREATE INDEX karma_person_datecreated_idx ON karma USING btree (person, datecreated);
18928
4212.1.1 by Stuart Bishop
New database baseline
18929
ALTER TABLE karma CLUSTER ON karma_person_datecreated_idx;
18930
7675.1121.53 by Stuart Bishop
New baseline
18931
4212.1.1 by Stuart Bishop
New database baseline
18932
CREATE INDEX karmacache__category__karmavalue__idx ON karmacache USING btree (category, karmavalue) WHERE ((((category IS NOT NULL) AND (product IS NULL)) AND (project IS NULL)) AND (distribution IS NULL));
18933
7675.1121.53 by Stuart Bishop
New baseline
18934
4212.1.1 by Stuart Bishop
New database baseline
18935
CREATE INDEX karmacache__distribution__category__karmavalue__idx ON karmacache USING btree (distribution, category, karmavalue) WHERE (((category IS NOT NULL) AND (distribution IS NOT NULL)) AND (sourcepackagename IS NULL));
18936
7675.1121.53 by Stuart Bishop
New baseline
18937
4212.1.1 by Stuart Bishop
New database baseline
18938
CREATE INDEX karmacache__distribution__karmavalue__idx ON karmacache USING btree (distribution, karmavalue) WHERE (((category IS NULL) AND (distribution IS NOT NULL)) AND (sourcepackagename IS NULL));
18939
7675.1121.53 by Stuart Bishop
New baseline
18940
4212.1.1 by Stuart Bishop
New database baseline
18941
CREATE INDEX karmacache__karmavalue__idx ON karmacache USING btree (karmavalue) WHERE ((((category IS NULL) AND (product IS NULL)) AND (project IS NULL)) AND (distribution IS NULL));
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18942
7675.1121.53 by Stuart Bishop
New baseline
18943
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18944
CREATE INDEX karmacache__person__category__idx ON karmacache USING btree (person, category);
18945
7675.1121.53 by Stuart Bishop
New baseline
18946
4212.1.1 by Stuart Bishop
New database baseline
18947
CREATE INDEX karmacache__product__category__karmavalue__idx ON karmacache USING btree (product, category, karmavalue) WHERE ((category IS NOT NULL) AND (product IS NOT NULL));
18948
7675.1121.53 by Stuart Bishop
New baseline
18949
4212.1.1 by Stuart Bishop
New database baseline
18950
CREATE INDEX karmacache__product__karmavalue__idx ON karmacache USING btree (product, karmavalue) WHERE ((category IS NULL) AND (product IS NOT NULL));
18951
7675.1121.53 by Stuart Bishop
New baseline
18952
4212.1.1 by Stuart Bishop
New database baseline
18953
CREATE INDEX karmacache__project__category__karmavalue__idx ON karmacache USING btree (project, category, karmavalue) WHERE (project IS NOT NULL);
18954
7675.1121.53 by Stuart Bishop
New baseline
18955
4212.1.1 by Stuart Bishop
New database baseline
18956
CREATE INDEX karmacache__project__karmavalue__idx ON karmacache USING btree (project, karmavalue) WHERE ((category IS NULL) AND (project IS NOT NULL));
18957
7675.1121.53 by Stuart Bishop
New baseline
18958
4212.1.1 by Stuart Bishop
New database baseline
18959
CREATE INDEX karmacache__sourcepackagename__category__karmavalue__idx ON karmacache USING btree (sourcepackagename, distribution, category, karmavalue) WHERE ((category IS NOT NULL) AND (sourcepackagename IS NOT NULL));
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18960
7675.1121.53 by Stuart Bishop
New baseline
18961
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18962
CREATE INDEX karmacache__sourcepackagename__distribution__karmavalue__idx ON karmacache USING btree (sourcepackagename, distribution, karmavalue) WHERE (sourcepackagename IS NOT NULL);
18963
7675.1121.53 by Stuart Bishop
New baseline
18964
4212.1.1 by Stuart Bishop
New database baseline
18965
CREATE INDEX karmacache__sourcepackagename__karmavalue__idx ON karmacache USING btree (sourcepackagename, distribution, karmavalue) WHERE ((category IS NULL) AND (sourcepackagename IS NOT NULL));
18966
7675.1121.53 by Stuart Bishop
New baseline
18967
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18968
CREATE UNIQUE INDEX karmacache__unq ON karmacache USING btree (person, (COALESCE(product, (-1))), (COALESCE(sourcepackagename, (-1))), (COALESCE(project, (-1))), (COALESCE(category, (-1))), (COALESCE(distribution, (-1))));
4212.1.1 by Stuart Bishop
New database baseline
18969
7675.1121.53 by Stuart Bishop
New baseline
18970
3691.17.3 by Stuart Bishop
New database baseline
18971
CREATE INDEX karmacache_person_idx ON karmacache USING btree (person);
18972
7675.1121.53 by Stuart Bishop
New baseline
18973
4212.1.1 by Stuart Bishop
New database baseline
18974
CREATE INDEX karmacache_top_in_category_idx ON karmacache USING btree (person, category, karmavalue) WHERE ((((product IS NULL) AND (project IS NULL)) AND (sourcepackagename IS NULL)) AND (distribution IS NULL));
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
18975
7675.1121.53 by Stuart Bishop
New baseline
18976
3691.17.3 by Stuart Bishop
New database baseline
18977
CREATE UNIQUE INDEX karmatotalcache_karma_total_person_idx ON karmatotalcache USING btree (karma_total, person);
18978
7675.1121.53 by Stuart Bishop
New baseline
18979
4990.1.1 by Stuart Bishop
New database baseline
18980
CREATE INDEX languagepack__file__idx ON languagepack USING btree (file);
18981
7675.1121.53 by Stuart Bishop
New baseline
18982
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18983
CREATE INDEX libraryfilealias__expires__idx ON libraryfilealias USING btree (expires);
18984
7675.1121.53 by Stuart Bishop
New baseline
18985
18986
CREATE INDEX libraryfilealias__expires_content_not_null_idx ON libraryfilealias USING btree (expires) WHERE (content IS NOT NULL);
18987
18988
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
18989
CREATE INDEX libraryfilealias__filename__idx ON libraryfilealias USING btree (filename);
18990
7675.1121.53 by Stuart Bishop
New baseline
18991
3691.17.3 by Stuart Bishop
New database baseline
18992
CREATE INDEX libraryfilealias_content_idx ON libraryfilealias USING btree (content);
18993
7675.1121.53 by Stuart Bishop
New baseline
18994
3691.17.3 by Stuart Bishop
New database baseline
18995
CREATE INDEX libraryfilecontent__md5__idx ON libraryfilecontent USING btree (md5);
18996
7675.1121.53 by Stuart Bishop
New baseline
18997
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
18998
CREATE INDEX libraryfilecontent__sha256__idx ON libraryfilecontent USING btree (sha256);
18999
7675.1121.53 by Stuart Bishop
New baseline
19000
3691.17.3 by Stuart Bishop
New database baseline
19001
CREATE INDEX libraryfilecontent_sha1_filesize_idx ON libraryfilecontent USING btree (sha1, filesize);
19002
7675.1121.53 by Stuart Bishop
New baseline
19003
3691.17.3 by Stuart Bishop
New database baseline
19004
CREATE INDEX logintoken_requester_idx ON logintoken USING btree (requester);
19005
7675.1121.53 by Stuart Bishop
New baseline
19006
19007
CREATE INDEX lp_openididentifier__account__idx ON lp_openididentifier USING btree (account);
19008
19009
7675.395.118 by Stuart Bishop
New database baseline from production
19010
CREATE INDEX lp_teamparticipation__person__idx ON lp_teamparticipation USING btree (person);
19011
7675.1121.53 by Stuart Bishop
New baseline
19012
4990.1.1 by Stuart Bishop
New database baseline
19013
CREATE INDEX mailinglist__date_registered__idx ON mailinglist USING btree (status, date_registered);
19014
7675.1121.53 by Stuart Bishop
New baseline
19015
4990.1.1 by Stuart Bishop
New database baseline
19016
CREATE INDEX mailinglist__registrant__idx ON mailinglist USING btree (registrant);
19017
7675.1121.53 by Stuart Bishop
New baseline
19018
4990.1.1 by Stuart Bishop
New database baseline
19019
CREATE INDEX mailinglist__reviewer__idx ON mailinglist USING btree (reviewer);
19020
7675.1121.53 by Stuart Bishop
New baseline
19021
4990.1.1 by Stuart Bishop
New database baseline
19022
CREATE UNIQUE INDEX mailinglist__team__status__key ON mailinglist USING btree (team, status);
19023
19024
19025
CREATE INDEX mailinglistsubscription__email_address__idx ON mailinglistsubscription USING btree (email_address) WHERE (email_address IS NOT NULL);
19026
7675.1121.53 by Stuart Bishop
New baseline
19027
4990.1.1 by Stuart Bishop
New database baseline
19028
CREATE INDEX mailinglistsubscription__mailing_list__idx ON mailinglistsubscription USING btree (mailing_list);
19029
7675.1121.53 by Stuart Bishop
New baseline
19030
4990.1.1 by Stuart Bishop
New database baseline
19031
CREATE UNIQUE INDEX mailinglistsubscription__person__mailing_list__key ON mailinglistsubscription USING btree (person, mailing_list);
19032
4212.1.1 by Stuart Bishop
New database baseline
19033
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19034
CREATE INDEX mergedirectivejob__merge_directive__idx ON mergedirectivejob USING btree (merge_directive);
19035
7675.1121.53 by Stuart Bishop
New baseline
19036
19037
CREATE INDEX message__datecreated__idx ON message USING btree (datecreated);
19038
19039
19040
CREATE INDEX message_fti ON message USING gist (fti);
19041
3691.17.3 by Stuart Bishop
New database baseline
19042
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19043
CREATE INDEX message_owner_idx ON message USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19044
7675.1121.53 by Stuart Bishop
New baseline
19045
3691.17.3 by Stuart Bishop
New database baseline
19046
CREATE INDEX message_parent_idx ON message USING btree (parent);
19047
7675.1121.53 by Stuart Bishop
New baseline
19048
3691.17.3 by Stuart Bishop
New database baseline
19049
CREATE INDEX message_raw_idx ON message USING btree (raw) WHERE (raw IS NOT NULL);
19050
7675.1121.53 by Stuart Bishop
New baseline
19051
3691.17.3 by Stuart Bishop
New database baseline
19052
CREATE INDEX message_rfc822msgid_idx ON message USING btree (rfc822msgid);
19053
7675.1121.53 by Stuart Bishop
New baseline
19054
4990.1.1 by Stuart Bishop
New database baseline
19055
CREATE INDEX messageapproval__disposed_by__idx ON messageapproval USING btree (disposed_by) WHERE (disposed_by IS NOT NULL);
19056
7675.1121.53 by Stuart Bishop
New baseline
19057
4990.1.1 by Stuart Bishop
New database baseline
19058
CREATE INDEX messageapproval__mailing_list__status__posted_date__idx ON messageapproval USING btree (mailing_list, status, posted_date);
19059
7675.1121.53 by Stuart Bishop
New baseline
19060
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19061
CREATE INDEX messageapproval__message__idx ON messageapproval USING btree (message);
19062
7675.1121.53 by Stuart Bishop
New baseline
19063
4990.1.1 by Stuart Bishop
New database baseline
19064
CREATE INDEX messageapproval__posted_by__idx ON messageapproval USING btree (posted_by);
19065
7675.1121.53 by Stuart Bishop
New baseline
19066
4990.1.1 by Stuart Bishop
New database baseline
19067
CREATE INDEX messageapproval__posted_message__idx ON messageapproval USING btree (posted_message);
19068
7675.1121.53 by Stuart Bishop
New baseline
19069
3691.17.3 by Stuart Bishop
New database baseline
19070
CREATE INDEX messagechunk_blob_idx ON messagechunk USING btree (blob) WHERE (blob IS NOT NULL);
19071
7675.1121.53 by Stuart Bishop
New baseline
19072
19073
CREATE INDEX messagechunk_fti ON messagechunk USING gist (fti);
19074
19075
19076
CREATE INDEX milestone_dateexpected_name_sort ON milestone USING btree (milestone_sort_key(dateexpected, name));
19077
3691.17.3 by Stuart Bishop
New database baseline
19078
7675.395.118 by Stuart Bishop
New database baseline from production
19079
CREATE INDEX mirror__owner__idx ON mirror USING btree (owner);
19080
7675.1121.53 by Stuart Bishop
New baseline
19081
5529.1.3 by Stuart Bishop
New database schema baseline
19082
CREATE UNIQUE INDEX mirrordistroarchseries_uniq ON mirrordistroarchseries USING btree (distribution_mirror, distroarchseries, component, pocket);
3691.17.3 by Stuart Bishop
New database baseline
19083
7675.1121.53 by Stuart Bishop
New baseline
19084
5529.1.3 by Stuart Bishop
New database schema baseline
19085
CREATE UNIQUE INDEX mirrordistroseriessource_uniq ON mirrordistroseriessource USING btree (distribution_mirror, distroseries, component, pocket);
3691.17.3 by Stuart Bishop
New database baseline
19086
7675.1121.53 by Stuart Bishop
New baseline
19087
3691.17.3 by Stuart Bishop
New database baseline
19088
CREATE INDEX mirrorproberecord__date_created__idx ON mirrorproberecord USING btree (date_created);
19089
7675.1121.53 by Stuart Bishop
New baseline
19090
3691.17.3 by Stuart Bishop
New database baseline
19091
CREATE INDEX mirrorproberecord__distribution_mirror__date_created__idx ON mirrorproberecord USING btree (distribution_mirror, date_created);
19092
7675.1121.53 by Stuart Bishop
New baseline
19093
3691.17.3 by Stuart Bishop
New database baseline
19094
CREATE INDEX mirrorproberecord__log_file__idx ON mirrorproberecord USING btree (log_file) WHERE (log_file IS NOT NULL);
19095
7675.1121.53 by Stuart Bishop
New baseline
19096
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19097
CREATE INDEX oauthaccesstoken__consumer__idx ON oauthaccesstoken USING btree (consumer);
19098
7675.1121.53 by Stuart Bishop
New baseline
19099
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19100
CREATE INDEX oauthaccesstoken__date_expires__idx ON oauthaccesstoken USING btree (date_expires) WHERE (date_expires IS NOT NULL);
19101
7675.1121.53 by Stuart Bishop
New baseline
19102
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19103
CREATE INDEX oauthaccesstoken__distribution__sourcepackagename__idx ON oauthaccesstoken USING btree (distribution, sourcepackagename) WHERE (distribution IS NOT NULL);
19104
7675.1121.53 by Stuart Bishop
New baseline
19105
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19106
CREATE INDEX oauthaccesstoken__person__idx ON oauthaccesstoken USING btree (person);
19107
7675.1121.53 by Stuart Bishop
New baseline
19108
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19109
CREATE INDEX oauthaccesstoken__product__idx ON oauthaccesstoken USING btree (product) WHERE (product IS NOT NULL);
19110
7675.1121.53 by Stuart Bishop
New baseline
19111
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19112
CREATE INDEX oauthaccesstoken__project__idx ON oauthaccesstoken USING btree (project) WHERE (project IS NOT NULL);
19113
7675.1121.53 by Stuart Bishop
New baseline
19114
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19115
CREATE INDEX oauthnonce__access_token__idx ON oauthnonce USING btree (access_token);
19116
7675.1121.53 by Stuart Bishop
New baseline
19117
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19118
CREATE INDEX oauthnonce__request_timestamp__idx ON oauthnonce USING btree (request_timestamp);
19119
7675.1121.53 by Stuart Bishop
New baseline
19120
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19121
CREATE INDEX oauthrequesttoken__consumer__idx ON oauthrequesttoken USING btree (consumer);
19122
7675.1121.53 by Stuart Bishop
New baseline
19123
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19124
CREATE INDEX oauthrequesttoken__date_created__idx ON oauthrequesttoken USING btree (date_created);
19125
7675.1121.53 by Stuart Bishop
New baseline
19126
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19127
CREATE INDEX oauthrequesttoken__distribution__sourcepackagename__idx ON oauthrequesttoken USING btree (distribution, sourcepackagename) WHERE (distribution IS NOT NULL);
19128
7675.1121.53 by Stuart Bishop
New baseline
19129
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19130
CREATE INDEX oauthrequesttoken__person__idx ON oauthrequesttoken USING btree (person) WHERE (person IS NOT NULL);
19131
7675.1121.53 by Stuart Bishop
New baseline
19132
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19133
CREATE INDEX oauthrequesttoken__product__idx ON oauthrequesttoken USING btree (product) WHERE (product IS NOT NULL);
19134
7675.1121.53 by Stuart Bishop
New baseline
19135
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19136
CREATE INDEX oauthrequesttoken__project__idx ON oauthrequesttoken USING btree (project) WHERE (project IS NOT NULL);
19137
7675.1121.53 by Stuart Bishop
New baseline
19138
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19139
CREATE UNIQUE INDEX officialbugtag__distribution__tag__key ON officialbugtag USING btree (distribution, tag) WHERE (distribution IS NOT NULL);
19140
7675.1121.53 by Stuart Bishop
New baseline
19141
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19142
CREATE UNIQUE INDEX officialbugtag__product__tag__key ON officialbugtag USING btree (product, tag) WHERE (product IS NOT NULL);
19143
7675.1121.53 by Stuart Bishop
New baseline
19144
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19145
CREATE UNIQUE INDEX officialbugtag__project__tag__key ON officialbugtag USING btree (project, tag) WHERE (product IS NOT NULL);
19146
7675.1121.53 by Stuart Bishop
New baseline
19147
19148
CREATE INDEX openididentifier__account__idx ON openididentifier USING btree (account);
19149
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19150
7675.395.118 by Stuart Bishop
New database baseline from production
19151
CREATE INDEX packagebuild__archive__idx ON packagebuild USING btree (archive);
19152
7675.1121.53 by Stuart Bishop
New baseline
19153
7675.395.118 by Stuart Bishop
New database baseline from production
19154
CREATE UNIQUE INDEX packagebuild__build_farm_job__idx ON packagebuild USING btree (build_farm_job);
19155
7675.1121.53 by Stuart Bishop
New baseline
19156
7675.395.118 by Stuart Bishop
New database baseline from production
19157
CREATE INDEX packagebuild__upload_log__idx ON packagebuild USING btree (upload_log) WHERE (upload_log IS NOT NULL);
19158
7675.1121.53 by Stuart Bishop
New baseline
19159
19160
CREATE UNIQUE INDEX packagecopyjob__job_type__target_ds__id__key ON packagecopyjob USING btree (job_type, target_distroseries, id);
19161
19162
19163
CREATE INDEX packagecopyjob__source ON packagecopyjob USING btree (source_archive);
19164
19165
19166
CREATE INDEX packagecopyjob__target ON packagecopyjob USING btree (target_archive, target_distroseries);
19167
19168
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19169
CREATE INDEX packagecopyrequest__datecreated__idx ON packagecopyrequest USING btree (date_created);
19170
7675.1121.53 by Stuart Bishop
New baseline
19171
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19172
CREATE INDEX packagecopyrequest__requester__idx ON packagecopyrequest USING btree (requester);
19173
7675.1121.53 by Stuart Bishop
New baseline
19174
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19175
CREATE INDEX packagecopyrequest__targetarchive__idx ON packagecopyrequest USING btree (target_archive);
19176
7675.1121.53 by Stuart Bishop
New baseline
19177
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19178
CREATE INDEX packagecopyrequest__targetdistroseries__idx ON packagecopyrequest USING btree (target_distroseries) WHERE (target_distroseries IS NOT NULL);
19179
7675.1121.53 by Stuart Bishop
New baseline
19180
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19181
CREATE INDEX packagediff__diff_content__idx ON packagediff USING btree (diff_content);
19182
7675.1121.53 by Stuart Bishop
New baseline
19183
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19184
CREATE INDEX packagediff__from_source__idx ON packagediff USING btree (from_source);
19185
7675.1121.53 by Stuart Bishop
New baseline
19186
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19187
CREATE INDEX packagediff__requester__idx ON packagediff USING btree (requester);
19188
7675.1121.53 by Stuart Bishop
New baseline
19189
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19190
CREATE INDEX packagediff__status__idx ON packagediff USING btree (status);
19191
7675.1121.53 by Stuart Bishop
New baseline
19192
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19193
CREATE INDEX packagediff__to_source__idx ON packagediff USING btree (to_source);
3691.17.3 by Stuart Bishop
New database baseline
19194
7675.1121.53 by Stuart Bishop
New baseline
19195
7675.395.118 by Stuart Bishop
New database baseline from production
19196
CREATE INDEX packageset__distroseries__idx ON packageset USING btree (distroseries);
19197
7675.1121.53 by Stuart Bishop
New baseline
19198
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19199
CREATE INDEX packageset__owner__idx ON packageset USING btree (owner);
19200
7675.1121.53 by Stuart Bishop
New baseline
19201
7675.395.118 by Stuart Bishop
New database baseline from production
19202
CREATE INDEX packageset__packagesetgroup__idx ON packageset USING btree (packagesetgroup);
19203
7675.1121.53 by Stuart Bishop
New baseline
19204
7675.395.118 by Stuart Bishop
New database baseline from production
19205
CREATE INDEX packagesetgroup__owner__idx ON packagesetgroup USING btree (owner);
19206
7675.1121.53 by Stuart Bishop
New baseline
19207
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19208
CREATE INDEX packagesetinclusion__child__idx ON packagesetinclusion USING btree (child);
19209
7675.1121.53 by Stuart Bishop
New baseline
19210
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19211
CREATE INDEX packagesetsources__sourcepackagename__idx ON packagesetsources USING btree (sourcepackagename);
19212
7675.1121.53 by Stuart Bishop
New baseline
19213
19214
CREATE INDEX packageupload__archive__distroseries__status__idx ON packageupload USING btree (archive, distroseries, status);
19215
19216
4990.1.1 by Stuart Bishop
New database baseline
19217
CREATE INDEX packageupload__changesfile__idx ON packageupload USING btree (changesfile);
19218
7675.1121.53 by Stuart Bishop
New baseline
19219
5529.1.3 by Stuart Bishop
New database schema baseline
19220
CREATE INDEX packageupload__distroseries__key ON packageupload USING btree (distroseries);
4990.1.1 by Stuart Bishop
New database baseline
19221
7675.1121.53 by Stuart Bishop
New baseline
19222
5529.1.3 by Stuart Bishop
New database schema baseline
19223
CREATE INDEX packageupload__distroseries__status__idx ON packageupload USING btree (distroseries, status);
4990.1.1 by Stuart Bishop
New database baseline
19224
7675.1121.53 by Stuart Bishop
New baseline
19225
19226
CREATE INDEX packageupload__package_copy_job__idx ON packageupload USING btree (package_copy_job) WHERE (package_copy_job IS NOT NULL);
19227
19228
4990.1.1 by Stuart Bishop
New database baseline
19229
CREATE INDEX packageupload__signing_key__idx ON packageupload USING btree (signing_key);
19230
7675.1121.53 by Stuart Bishop
New baseline
19231
4990.1.1 by Stuart Bishop
New database baseline
19232
CREATE INDEX packageuploadbuild__build__idx ON packageuploadbuild USING btree (build);
19233
7675.1121.53 by Stuart Bishop
New baseline
19234
4990.1.1 by Stuart Bishop
New database baseline
19235
CREATE INDEX packageuploadcustom__libraryfilealias__idx ON packageuploadcustom USING btree (libraryfilealias);
19236
7675.1121.53 by Stuart Bishop
New baseline
19237
4990.1.1 by Stuart Bishop
New database baseline
19238
CREATE INDEX packageuploadcustom__packageupload__idx ON packageuploadcustom USING btree (packageupload);
19239
7675.1121.53 by Stuart Bishop
New baseline
19240
4990.1.1 by Stuart Bishop
New database baseline
19241
CREATE INDEX packageuploadsource__sourcepackagerelease__idx ON packageuploadsource USING btree (sourcepackagerelease);
19242
3691.17.3 by Stuart Bishop
New database baseline
19243
7675.395.118 by Stuart Bishop
New database baseline from production
19244
CREATE INDEX packaging__owner__idx ON packaging USING btree (owner);
19245
7675.1121.53 by Stuart Bishop
New baseline
19246
3691.17.3 by Stuart Bishop
New database baseline
19247
CREATE INDEX packaging_sourcepackagename_idx ON packaging USING btree (sourcepackagename);
19248
7675.1121.53 by Stuart Bishop
New baseline
19249
19250
CREATE INDEX packagingjob__job__idx ON packagingjob USING btree (job);
19251
19252
19253
CREATE INDEX packagingjob__potemplate__idx ON packagingjob USING btree (potemplate);
19254
19255
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19256
CREATE INDEX parsedapachelog__first_line__idx ON parsedapachelog USING btree (first_line);
19257
7675.1121.53 by Stuart Bishop
New baseline
19258
19259
CREATE INDEX person__displayname__idx ON person USING btree (lower(displayname));
19260
19261
4990.1.1 by Stuart Bishop
New database baseline
19262
CREATE INDEX person__icon__idx ON person USING btree (icon) WHERE (icon IS NOT NULL);
19263
7675.1121.53 by Stuart Bishop
New baseline
19264
4990.1.1 by Stuart Bishop
New database baseline
19265
CREATE INDEX person__logo__idx ON person USING btree (logo) WHERE (logo IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19266
7675.1121.53 by Stuart Bishop
New baseline
19267
4212.1.1 by Stuart Bishop
New database baseline
19268
CREATE INDEX person__merged__idx ON person USING btree (merged) WHERE (merged IS NOT NULL);
19269
7675.1121.53 by Stuart Bishop
New baseline
19270
4990.1.1 by Stuart Bishop
New database baseline
19271
CREATE INDEX person__mugshot__idx ON person USING btree (mugshot) WHERE (mugshot IS NOT NULL);
19272
7675.1121.53 by Stuart Bishop
New baseline
19273
7675.395.118 by Stuart Bishop
New database baseline from production
19274
CREATE INDEX person__registrant__idx ON person USING btree (registrant);
19275
7675.1121.53 by Stuart Bishop
New baseline
19276
4212.1.1 by Stuart Bishop
New database baseline
19277
CREATE INDEX person__teamowner__idx ON person USING btree (teamowner) WHERE (teamowner IS NOT NULL);
19278
7675.1121.53 by Stuart Bishop
New baseline
19279
3691.17.3 by Stuart Bishop
New database baseline
19280
CREATE INDEX person_datecreated_idx ON person USING btree (datecreated);
19281
7675.1121.53 by Stuart Bishop
New baseline
19282
19283
CREATE INDEX person_fti ON person USING gist (fti);
19284
3691.17.3 by Stuart Bishop
New database baseline
19285
19286
CREATE INDEX person_sorting_idx ON person USING btree (person_sort_key(displayname, name));
19287
7675.1121.53 by Stuart Bishop
New baseline
19288
7675.395.118 by Stuart Bishop
New database baseline from production
19289
CREATE INDEX personlocation__last_modified_by__idx ON personlocation USING btree (last_modified_by);
19290
7675.1121.53 by Stuart Bishop
New baseline
19291
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19292
CREATE INDEX personnotification__date_emailed__idx ON personnotification USING btree (date_emailed);
19293
7675.1121.53 by Stuart Bishop
New baseline
19294
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19295
CREATE INDEX personnotification__person__idx ON personnotification USING btree (person);
19296
7675.1121.53 by Stuart Bishop
New baseline
19297
19298
CREATE INDEX persontransferjob__major_person__idx ON persontransferjob USING btree (major_person);
19299
19300
19301
CREATE INDEX persontransferjob__minor_person__idx ON persontransferjob USING btree (minor_person);
19302
19303
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19304
CREATE INDEX pillarname__alias_for__idx ON pillarname USING btree (alias_for) WHERE (alias_for IS NOT NULL);
19305
7675.1121.53 by Stuart Bishop
New baseline
19306
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19307
CREATE UNIQUE INDEX pillarname__distribution__key ON pillarname USING btree (distribution) WHERE (distribution IS NOT NULL);
19308
7675.1121.53 by Stuart Bishop
New baseline
19309
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19310
CREATE UNIQUE INDEX pillarname__product__key ON pillarname USING btree (product) WHERE (product IS NOT NULL);
19311
7675.1121.53 by Stuart Bishop
New baseline
19312
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19313
CREATE UNIQUE INDEX pillarname__project__key ON pillarname USING btree (project) WHERE (project IS NOT NULL);
19314
7675.1121.53 by Stuart Bishop
New baseline
19315
7675.395.118 by Stuart Bishop
New database baseline from production
19316
CREATE INDEX pocketchroot__chroot__idx ON pocketchroot USING btree (chroot);
19317
3691.17.3 by Stuart Bishop
New database baseline
19318
7675.395.118 by Stuart Bishop
New database baseline from production
19319
CREATE INDEX poexportrequest__person__idx ON poexportrequest USING btree (person);
19320
7675.1121.53 by Stuart Bishop
New baseline
19321
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19322
CREATE UNIQUE INDEX poexportrequest_duplicate_key ON poexportrequest USING btree (potemplate, person, format, (COALESCE(pofile, (-1))));
3691.17.3 by Stuart Bishop
New database baseline
19323
7675.1121.53 by Stuart Bishop
New baseline
19324
7675.395.118 by Stuart Bishop
New database baseline from production
19325
CREATE INDEX pofile__from_sourcepackagename__idx ON pofile USING btree (from_sourcepackagename) WHERE (from_sourcepackagename IS NOT NULL);
19326
7675.1121.53 by Stuart Bishop
New baseline
19327
19328
CREATE UNIQUE INDEX pofile__potemplate__language__idx ON pofile USING btree (potemplate, language);
19329
19330
5529.1.3 by Stuart Bishop
New database schema baseline
19331
CREATE UNIQUE INDEX pofile__potemplate__path__key ON pofile USING btree (potemplate, path);
19332
7675.1121.53 by Stuart Bishop
New baseline
19333
4990.1.1 by Stuart Bishop
New database baseline
19334
CREATE UNIQUE INDEX pofile__unreviewed_count__id__key ON pofile USING btree (unreviewed_count, id);
19335
7675.1121.53 by Stuart Bishop
New baseline
19336
3691.17.3 by Stuart Bishop
New database baseline
19337
CREATE INDEX pofile_datecreated_idx ON pofile USING btree (datecreated);
19338
7675.1121.53 by Stuart Bishop
New baseline
19339
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19340
CREATE INDEX pofile_language_idx ON pofile USING btree (language);
3691.17.3 by Stuart Bishop
New database baseline
19341
7675.1121.53 by Stuart Bishop
New baseline
19342
3691.17.3 by Stuart Bishop
New database baseline
19343
CREATE INDEX pofile_lasttranslator_idx ON pofile USING btree (lasttranslator);
19344
7675.1121.53 by Stuart Bishop
New baseline
19345
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19346
CREATE INDEX pofile_owner_idx ON pofile USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19347
19348
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19349
CREATE INDEX pofiletranslator__date_last_touched__idx ON pofiletranslator USING btree (date_last_touched);
19350
7675.1121.53 by Stuart Bishop
New baseline
19351
5529.1.3 by Stuart Bishop
New database schema baseline
19352
CREATE INDEX pofiletranslator__latest_message__idx ON pofiletranslator USING btree (latest_message);
19353
7675.1121.53 by Stuart Bishop
New baseline
19354
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19355
CREATE INDEX pofiletranslator__pofile__idx ON pofiletranslator USING btree (pofile);
19356
7675.1121.53 by Stuart Bishop
New baseline
19357
3691.17.3 by Stuart Bishop
New database baseline
19358
CREATE INDEX polloption_poll_idx ON polloption USING btree (poll);
19359
7675.1121.53 by Stuart Bishop
New baseline
19360
3691.17.3 by Stuart Bishop
New database baseline
19361
CREATE UNIQUE INDEX pomsgid_msgid_key ON pomsgid USING btree (sha1(msgid));
19362
7675.1121.53 by Stuart Bishop
New baseline
19363
3691.17.3 by Stuart Bishop
New database baseline
19364
CREATE INDEX potemplate__date_last_updated__idx ON potemplate USING btree (date_last_updated);
19365
7675.1121.53 by Stuart Bishop
New baseline
19366
5529.1.3 by Stuart Bishop
New database schema baseline
19367
CREATE UNIQUE INDEX potemplate__distroseries__sourcepackagename__name__key ON potemplate USING btree (distroseries, sourcepackagename, name);
19368
7675.1121.53 by Stuart Bishop
New baseline
19369
5529.1.3 by Stuart Bishop
New database schema baseline
19370
CREATE INDEX potemplate__name__idx ON potemplate USING btree (name);
19371
7675.1121.53 by Stuart Bishop
New baseline
19372
5529.1.3 by Stuart Bishop
New database schema baseline
19373
CREATE UNIQUE INDEX potemplate__productseries__name__key ON potemplate USING btree (productseries, name);
19374
7675.1121.53 by Stuart Bishop
New baseline
19375
4212.1.1 by Stuart Bishop
New database baseline
19376
CREATE INDEX potemplate__source_file__idx ON potemplate USING btree (source_file) WHERE (source_file IS NOT NULL);
19377
7675.1121.53 by Stuart Bishop
New baseline
19378
3691.17.3 by Stuart Bishop
New database baseline
19379
CREATE INDEX potemplate_languagepack_idx ON potemplate USING btree (languagepack);
19380
7675.1121.53 by Stuart Bishop
New baseline
19381
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19382
CREATE INDEX potemplate_owner_idx ON potemplate USING btree (owner);
19383
7675.1121.53 by Stuart Bishop
New baseline
19384
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19385
CREATE INDEX potmsgset__context__msgid_singular__msgid_plural__idx ON potmsgset USING btree (context, msgid_singular, msgid_plural) WHERE ((context IS NOT NULL) AND (msgid_plural IS NOT NULL));
19386
7675.1121.53 by Stuart Bishop
New baseline
19387
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19388
CREATE INDEX potmsgset__context__msgid_singular__no_msgid_plural__idx ON potmsgset USING btree (context, msgid_singular) WHERE ((context IS NOT NULL) AND (msgid_plural IS NULL));
19389
7675.1121.53 by Stuart Bishop
New baseline
19390
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19391
CREATE INDEX potmsgset__no_context__msgid_singular__msgid_plural__idx ON potmsgset USING btree (msgid_singular, msgid_plural) WHERE ((context IS NULL) AND (msgid_plural IS NOT NULL));
19392
7675.1121.53 by Stuart Bishop
New baseline
19393
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19394
CREATE INDEX potmsgset__no_context__msgid_singular__no_msgid_plural__idx ON potmsgset USING btree (msgid_singular) WHERE ((context IS NULL) AND (msgid_plural IS NULL));
3691.17.3 by Stuart Bishop
New database baseline
19395
7675.1121.53 by Stuart Bishop
New baseline
19396
19397
CREATE INDEX potmsgset__potemplate__idx ON potmsgset USING btree (potemplate) WHERE (potemplate IS NOT NULL);
19398
19399
5529.1.3 by Stuart Bishop
New database schema baseline
19400
CREATE INDEX potmsgset_primemsgid_idx ON potmsgset USING btree (msgid_singular);
3691.17.3 by Stuart Bishop
New database baseline
19401
19402
19403
CREATE UNIQUE INDEX potranslation_translation_key ON potranslation USING btree (sha1(translation));
19404
7675.1121.53 by Stuart Bishop
New baseline
19405
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19406
CREATE INDEX previewdiff__diff__idx ON previewdiff USING btree (diff);
19407
7675.1121.53 by Stuart Bishop
New baseline
19408
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19409
CREATE INDEX product__bug_supervisor__idx ON product USING btree (bug_supervisor) WHERE (bug_supervisor IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19410
7675.1121.53 by Stuart Bishop
New baseline
19411
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19412
CREATE INDEX product__driver__idx ON product USING btree (driver) WHERE (driver IS NOT NULL);
19413
7675.1121.53 by Stuart Bishop
New baseline
19414
4990.1.1 by Stuart Bishop
New database baseline
19415
CREATE INDEX product__icon__idx ON product USING btree (icon) WHERE (icon IS NOT NULL);
19416
7675.1121.53 by Stuart Bishop
New baseline
19417
4990.1.1 by Stuart Bishop
New database baseline
19418
CREATE INDEX product__logo__idx ON product USING btree (logo) WHERE (logo IS NOT NULL);
19419
7675.1121.53 by Stuart Bishop
New baseline
19420
4990.1.1 by Stuart Bishop
New database baseline
19421
CREATE INDEX product__mugshot__idx ON product USING btree (mugshot) WHERE (mugshot IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19422
7675.1121.53 by Stuart Bishop
New baseline
19423
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19424
CREATE INDEX product__registrant__idx ON product USING btree (registrant);
19425
7675.1121.53 by Stuart Bishop
New baseline
19426
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19427
CREATE INDEX product__security_contact__idx ON product USING btree (security_contact) WHERE (security_contact IS NOT NULL);
19428
7675.1121.53 by Stuart Bishop
New baseline
19429
3691.17.3 by Stuart Bishop
New database baseline
19430
CREATE INDEX product_active_idx ON product USING btree (active);
19431
7675.1121.53 by Stuart Bishop
New baseline
19432
19433
CREATE INDEX product_fti ON product USING gist (fti);
19434
3691.17.3 by Stuart Bishop
New database baseline
19435
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19436
CREATE INDEX product_owner_idx ON product USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19437
7675.1121.53 by Stuart Bishop
New baseline
19438
3691.17.3 by Stuart Bishop
New database baseline
19439
CREATE INDEX product_project_idx ON product USING btree (project);
19440
7675.1121.53 by Stuart Bishop
New baseline
19441
3691.17.3 by Stuart Bishop
New database baseline
19442
CREATE INDEX product_translationgroup_idx ON product USING btree (translationgroup);
19443
7675.1121.53 by Stuart Bishop
New baseline
19444
5529.1.3 by Stuart Bishop
New database schema baseline
19445
CREATE INDEX productlicense__license__idx ON productlicense USING btree (license);
19446
7675.1121.53 by Stuart Bishop
New baseline
19447
3691.17.3 by Stuart Bishop
New database baseline
19448
CREATE INDEX productrelease_datecreated_idx ON productrelease USING btree (datecreated);
19449
7675.1121.53 by Stuart Bishop
New baseline
19450
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19451
CREATE INDEX productrelease_owner_idx ON productrelease USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19452
7675.1121.53 by Stuart Bishop
New baseline
19453
7675.395.118 by Stuart Bishop
New database baseline from production
19454
CREATE INDEX productreleasefile__libraryfile__idx ON productreleasefile USING btree (libraryfile);
19455
7675.1121.53 by Stuart Bishop
New baseline
19456
5529.1.3 by Stuart Bishop
New database schema baseline
19457
CREATE INDEX productreleasefile__signature__idx ON productreleasefile USING btree (signature) WHERE (signature IS NOT NULL);
19458
7675.1121.53 by Stuart Bishop
New baseline
19459
4990.1.1 by Stuart Bishop
New database baseline
19460
CREATE INDEX productreleasefile__uploader__idx ON productreleasefile USING btree (uploader);
19461
7675.1121.53 by Stuart Bishop
New baseline
19462
19463
CREATE INDEX productreleasefile_fti ON productreleasefile USING gist (fti);
19464
4990.1.1 by Stuart Bishop
New database baseline
19465
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19466
CREATE INDEX productseries__branch__idx ON productseries USING btree (branch) WHERE (branch IS NOT NULL);
19467
7675.1121.53 by Stuart Bishop
New baseline
19468
7675.395.118 by Stuart Bishop
New database baseline from production
19469
CREATE INDEX productseries__driver__idx ON productseries USING btree (driver);
19470
7675.1121.53 by Stuart Bishop
New baseline
19471
7675.395.118 by Stuart Bishop
New database baseline from production
19472
CREATE INDEX productseries__owner__idx ON productseries USING btree (owner);
19473
7675.1121.53 by Stuart Bishop
New baseline
19474
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19475
CREATE INDEX productseries__translations_branch__idx ON productseries USING btree (translations_branch);
19476
7675.1121.53 by Stuart Bishop
New baseline
19477
3691.17.3 by Stuart Bishop
New database baseline
19478
CREATE INDEX productseries_datecreated_idx ON productseries USING btree (datecreated);
19479
7675.1121.53 by Stuart Bishop
New baseline
19480
19481
CREATE INDEX productseries_name_sort ON productseries USING btree (version_sort_key(name));
19482
19483
7675.395.118 by Stuart Bishop
New database baseline from production
19484
CREATE INDEX project__driver__idx ON project USING btree (driver);
19485
7675.1121.53 by Stuart Bishop
New baseline
19486
4990.1.1 by Stuart Bishop
New database baseline
19487
CREATE INDEX project__icon__idx ON project USING btree (icon) WHERE (icon IS NOT NULL);
19488
7675.1121.53 by Stuart Bishop
New baseline
19489
4990.1.1 by Stuart Bishop
New database baseline
19490
CREATE INDEX project__logo__idx ON project USING btree (logo) WHERE (logo IS NOT NULL);
19491
7675.1121.53 by Stuart Bishop
New baseline
19492
4990.1.1 by Stuart Bishop
New database baseline
19493
CREATE INDEX project__mugshot__idx ON project USING btree (mugshot) WHERE (mugshot IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19494
7675.1121.53 by Stuart Bishop
New baseline
19495
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19496
CREATE INDEX project__registrant__idx ON project USING btree (registrant);
19497
7675.1121.53 by Stuart Bishop
New baseline
19498
19499
CREATE INDEX project_fti ON project USING gist (fti);
19500
3691.17.3 by Stuart Bishop
New database baseline
19501
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19502
CREATE INDEX project_owner_idx ON project USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19503
7675.1121.53 by Stuart Bishop
New baseline
19504
3691.17.3 by Stuart Bishop
New database baseline
19505
CREATE INDEX project_translationgroup_idx ON project USING btree (translationgroup);
19506
7675.1121.53 by Stuart Bishop
New baseline
19507
19508
CREATE UNIQUE INDEX publisherconfig__distribution__idx ON publisherconfig USING btree (distribution);
19509
3691.17.3 by Stuart Bishop
New database baseline
19510
4212.1.1 by Stuart Bishop
New database baseline
19511
CREATE INDEX question__answerer__idx ON question USING btree (answerer);
19512
7675.1121.53 by Stuart Bishop
New baseline
19513
4212.1.1 by Stuart Bishop
New database baseline
19514
CREATE INDEX question__assignee__idx ON question USING btree (assignee);
19515
7675.1121.53 by Stuart Bishop
New baseline
19516
4212.1.1 by Stuart Bishop
New database baseline
19517
CREATE INDEX question__distribution__sourcepackagename__idx ON question USING btree (distribution, sourcepackagename);
19518
7675.1121.53 by Stuart Bishop
New baseline
19519
4212.1.1 by Stuart Bishop
New database baseline
19520
CREATE INDEX question__distro__datecreated__idx ON question USING btree (distribution, datecreated);
19521
7675.1121.53 by Stuart Bishop
New baseline
19522
4990.1.1 by Stuart Bishop
New database baseline
19523
CREATE INDEX question__faq__idx ON question USING btree (faq) WHERE (faq IS NOT NULL);
4212.1.1 by Stuart Bishop
New database baseline
19524
7675.1121.53 by Stuart Bishop
New baseline
19525
7675.395.118 by Stuart Bishop
New database baseline from production
19526
CREATE INDEX question__owner__idx ON question USING btree (owner);
4212.1.1 by Stuart Bishop
New database baseline
19527
7675.1121.53 by Stuart Bishop
New baseline
19528
4212.1.1 by Stuart Bishop
New database baseline
19529
CREATE INDEX question__product__datecreated__idx ON question USING btree (product, datecreated);
19530
7675.1121.53 by Stuart Bishop
New baseline
19531
4212.1.1 by Stuart Bishop
New database baseline
19532
CREATE INDEX question__product__idx ON question USING btree (product);
19533
7675.1121.53 by Stuart Bishop
New baseline
19534
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19535
CREATE INDEX question__status__datecreated__idx ON question USING btree (status, datecreated);
19536
7675.1121.53 by Stuart Bishop
New baseline
19537
19538
CREATE INDEX question_fti ON question USING gist (fti);
19539
4990.1.1 by Stuart Bishop
New database baseline
19540
4212.1.1 by Stuart Bishop
New database baseline
19541
CREATE INDEX questionbug__question__idx ON questionbug USING btree (question);
19542
7675.1121.53 by Stuart Bishop
New baseline
19543
19544
CREATE INDEX questionjob__question__idx ON questionjob USING btree (question);
19545
19546
19547
CREATE INDEX questionmessage__owner__idx ON questionmessage USING btree (owner);
19548
19549
4212.1.1 by Stuart Bishop
New database baseline
19550
CREATE INDEX questionmessage__question__idx ON questionmessage USING btree (question);
19551
7675.1121.53 by Stuart Bishop
New baseline
19552
4212.1.1 by Stuart Bishop
New database baseline
19553
CREATE INDEX questionreopening__answerer__idx ON questionreopening USING btree (answerer);
19554
7675.1121.53 by Stuart Bishop
New baseline
19555
4212.1.1 by Stuart Bishop
New database baseline
19556
CREATE INDEX questionreopening__datecreated__idx ON questionreopening USING btree (datecreated);
19557
7675.1121.53 by Stuart Bishop
New baseline
19558
4212.1.1 by Stuart Bishop
New database baseline
19559
CREATE INDEX questionreopening__question__idx ON questionreopening USING btree (question);
19560
7675.1121.53 by Stuart Bishop
New baseline
19561
4212.1.1 by Stuart Bishop
New database baseline
19562
CREATE INDEX questionreopening__reopener__idx ON questionreopening USING btree (reopener);
19563
7675.1121.53 by Stuart Bishop
New baseline
19564
4212.1.1 by Stuart Bishop
New database baseline
19565
CREATE INDEX questionsubscription__subscriber__idx ON questionsubscription USING btree (person);
19566
3691.17.3 by Stuart Bishop
New database baseline
19567
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19568
CREATE INDEX revision__gpgkey__idx ON revision USING btree (gpgkey) WHERE (gpgkey IS NOT NULL);
19569
7675.1121.53 by Stuart Bishop
New baseline
19570
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19571
CREATE INDEX revision__karma_allocated__idx ON revision USING btree (karma_allocated) WHERE (karma_allocated IS FALSE);
19572
7675.1121.53 by Stuart Bishop
New baseline
19573
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19574
CREATE INDEX revision__revision_author__idx ON revision USING btree (revision_author);
19575
7675.1121.53 by Stuart Bishop
New baseline
19576
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19577
CREATE INDEX revision__revision_date__idx ON revision USING btree (revision_date);
19578
7675.1121.53 by Stuart Bishop
New baseline
19579
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19580
CREATE INDEX revisionauthor__email__idx ON revisionauthor USING btree (email);
19581
7675.1121.53 by Stuart Bishop
New baseline
19582
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19583
CREATE INDEX revisionauthor__lower_email__idx ON revisionauthor USING btree (lower(email));
19584
7675.1121.53 by Stuart Bishop
New baseline
19585
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19586
CREATE INDEX revisionauthor__person__idx ON revisionauthor USING btree (person);
3691.17.3 by Stuart Bishop
New database baseline
19587
7675.1121.53 by Stuart Bishop
New baseline
19588
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19589
CREATE UNIQUE INDEX revisioncache__distroseries__sourcepackagename__revision__priva ON revisioncache USING btree (distroseries, sourcepackagename, revision, private) WHERE (distroseries IS NOT NULL);
19590
7675.1121.53 by Stuart Bishop
New baseline
19591
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19592
CREATE UNIQUE INDEX revisioncache__product__revision__private__key ON revisioncache USING btree (product, revision, private) WHERE (product IS NOT NULL);
19593
7675.1121.53 by Stuart Bishop
New baseline
19594
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19595
CREATE INDEX revisioncache__revision__idx ON revisioncache USING btree (revision);
19596
7675.1121.53 by Stuart Bishop
New baseline
19597
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19598
CREATE INDEX revisioncache__revision_author__idx ON revisioncache USING btree (revision_author);
19599
7675.1121.53 by Stuart Bishop
New baseline
19600
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19601
CREATE INDEX revisioncache__revision_date__idx ON revisioncache USING btree (revision_date);
19602
7675.1121.53 by Stuart Bishop
New baseline
19603
7675.395.118 by Stuart Bishop
New database baseline from production
19604
CREATE INDEX sbpph__dateremoved__idx ON binarypackagepublishinghistory USING btree (dateremoved) WHERE (dateremoved IS NOT NULL);
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19605
7675.1121.53 by Stuart Bishop
New baseline
19606
4212.1.1 by Stuart Bishop
New database baseline
19607
CREATE INDEX scriptactivity__name__date_started__idx ON scriptactivity USING btree (name, date_started);
19608
7675.1121.53 by Stuart Bishop
New baseline
19609
7675.395.118 by Stuart Bishop
New database baseline from production
19610
CREATE INDEX securebinarypackagepublishinghistory__archive__status__idx ON binarypackagepublishinghistory USING btree (archive, status);
19611
7675.1121.53 by Stuart Bishop
New baseline
19612
7675.395.118 by Stuart Bishop
New database baseline from production
19613
CREATE INDEX securebinarypackagepublishinghistory__distroarchseries__idx ON binarypackagepublishinghistory USING btree (distroarchseries);
19614
7675.1121.53 by Stuart Bishop
New baseline
19615
7675.395.118 by Stuart Bishop
New database baseline from production
19616
CREATE INDEX securebinarypackagepublishinghistory__removed_by__idx ON binarypackagepublishinghistory USING btree (removed_by) WHERE (removed_by IS NOT NULL);
19617
7675.1121.53 by Stuart Bishop
New baseline
19618
7675.395.118 by Stuart Bishop
New database baseline from production
19619
CREATE INDEX securebinarypackagepublishinghistory__supersededby__idx ON binarypackagepublishinghistory USING btree (supersededby);
19620
7675.1121.53 by Stuart Bishop
New baseline
19621
7675.395.118 by Stuart Bishop
New database baseline from production
19622
CREATE INDEX securebinarypackagepublishinghistory_binarypackagerelease_idx ON binarypackagepublishinghistory USING btree (binarypackagerelease);
19623
7675.1121.53 by Stuart Bishop
New baseline
19624
7675.395.118 by Stuart Bishop
New database baseline from production
19625
CREATE INDEX securebinarypackagepublishinghistory_component_idx ON binarypackagepublishinghistory USING btree (component);
19626
7675.1121.53 by Stuart Bishop
New baseline
19627
7675.395.118 by Stuart Bishop
New database baseline from production
19628
CREATE INDEX securebinarypackagepublishinghistory_pocket_idx ON binarypackagepublishinghistory USING btree (pocket);
19629
7675.1121.53 by Stuart Bishop
New baseline
19630
7675.395.118 by Stuart Bishop
New database baseline from production
19631
CREATE INDEX securebinarypackagepublishinghistory_section_idx ON binarypackagepublishinghistory USING btree (section);
19632
7675.1121.53 by Stuart Bishop
New baseline
19633
7675.395.118 by Stuart Bishop
New database baseline from production
19634
CREATE INDEX securebinarypackagepublishinghistory_status_idx ON binarypackagepublishinghistory USING btree (status);
19635
7675.1121.53 by Stuart Bishop
New baseline
19636
7675.395.118 by Stuart Bishop
New database baseline from production
19637
CREATE INDEX securesourcepackagepublishinghistory__archive__status__idx ON sourcepackagepublishinghistory USING btree (archive, status);
19638
7675.1121.53 by Stuart Bishop
New baseline
19639
7675.395.118 by Stuart Bishop
New database baseline from production
19640
CREATE INDEX securesourcepackagepublishinghistory__distroseries__idx ON sourcepackagepublishinghistory USING btree (distroseries);
19641
7675.1121.53 by Stuart Bishop
New baseline
19642
7675.395.118 by Stuart Bishop
New database baseline from production
19643
CREATE INDEX securesourcepackagepublishinghistory__removed_by__idx ON sourcepackagepublishinghistory USING btree (removed_by) WHERE (removed_by IS NOT NULL);
19644
7675.1121.53 by Stuart Bishop
New baseline
19645
7675.395.118 by Stuart Bishop
New database baseline from production
19646
CREATE INDEX securesourcepackagepublishinghistory_component_idx ON sourcepackagepublishinghistory USING btree (component);
19647
7675.1121.53 by Stuart Bishop
New baseline
19648
7675.395.118 by Stuart Bishop
New database baseline from production
19649
CREATE INDEX securesourcepackagepublishinghistory_pocket_idx ON sourcepackagepublishinghistory USING btree (pocket);
19650
7675.1121.53 by Stuart Bishop
New baseline
19651
7675.395.118 by Stuart Bishop
New database baseline from production
19652
CREATE INDEX securesourcepackagepublishinghistory_section_idx ON sourcepackagepublishinghistory USING btree (section);
19653
7675.1121.53 by Stuart Bishop
New baseline
19654
7675.395.118 by Stuart Bishop
New database baseline from production
19655
CREATE INDEX securesourcepackagepublishinghistory_sourcepackagerelease_idx ON sourcepackagepublishinghistory USING btree (sourcepackagerelease);
19656
7675.1121.53 by Stuart Bishop
New baseline
19657
7675.395.118 by Stuart Bishop
New database baseline from production
19658
CREATE INDEX securesourcepackagepublishinghistory_status_idx ON sourcepackagepublishinghistory USING btree (status);
3691.17.3 by Stuart Bishop
New database baseline
19659
7675.1121.53 by Stuart Bishop
New baseline
19660
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19661
CREATE INDEX seriessourcepackagebranch__branch__idx ON seriessourcepackagebranch USING btree (branch);
19662
7675.1121.53 by Stuart Bishop
New baseline
19663
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19664
CREATE INDEX seriessourcepackagebranch__registrant__key ON seriessourcepackagebranch USING btree (registrant);
19665
3691.17.3 by Stuart Bishop
New database baseline
19666
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19667
CREATE INDEX signedcodeofconduct_owner_idx ON signedcodeofconduct USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19668
7675.1121.53 by Stuart Bishop
New baseline
19669
19670
CREATE INDEX sourcepackagepublishinghistory__ancestor__idx ON sourcepackagepublishinghistory USING btree (ancestor);
19671
19672
19673
CREATE INDEX sourcepackagepublishinghistory__creator__idx ON sourcepackagepublishinghistory USING btree (creator) WHERE (creator IS NOT NULL);
19674
19675
19676
CREATE INDEX sourcepackagepublishinghistory__sourcepackagename__idx ON sourcepackagepublishinghistory USING btree (sourcepackagename);
19677
19678
7675.395.118 by Stuart Bishop
New database baseline from production
19679
CREATE INDEX sourcepackagerecipe__daily_build_archive__idx ON sourcepackagerecipe USING btree (daily_build_archive);
19680
7675.1121.53 by Stuart Bishop
New baseline
19681
7675.395.118 by Stuart Bishop
New database baseline from production
19682
CREATE INDEX sourcepackagerecipe__is_stale__build_daily__idx ON sourcepackagerecipe USING btree (is_stale, build_daily);
19683
7675.1121.53 by Stuart Bishop
New baseline
19684
7675.395.118 by Stuart Bishop
New database baseline from production
19685
CREATE INDEX sourcepackagerecipe__registrant__idx ON sourcepackagerecipe USING btree (registrant);
19686
7675.1121.53 by Stuart Bishop
New baseline
19687
7675.395.118 by Stuart Bishop
New database baseline from production
19688
CREATE INDEX sourcepackagerecipebuild__distroseries__idx ON sourcepackagerecipebuild USING btree (distroseries);
19689
7675.1121.53 by Stuart Bishop
New baseline
19690
7675.395.118 by Stuart Bishop
New database baseline from production
19691
CREATE INDEX sourcepackagerecipebuild__manifest__idx ON sourcepackagerecipebuild USING btree (manifest);
19692
7675.1121.53 by Stuart Bishop
New baseline
19693
7675.395.118 by Stuart Bishop
New database baseline from production
19694
CREATE INDEX sourcepackagerecipebuild__recipe__idx ON sourcepackagerecipebuild USING btree (recipe);
19695
7675.1121.53 by Stuart Bishop
New baseline
19696
7675.395.118 by Stuart Bishop
New database baseline from production
19697
CREATE INDEX sourcepackagerecipebuild__requester__idx ON sourcepackagerecipebuild USING btree (requester);
19698
7675.1121.53 by Stuart Bishop
New baseline
19699
7675.395.118 by Stuart Bishop
New database baseline from production
19700
CREATE INDEX sourcepackagerecipedata__base_branch__idx ON sourcepackagerecipedata USING btree (base_branch);
19701
7675.1121.53 by Stuart Bishop
New baseline
19702
7675.395.118 by Stuart Bishop
New database baseline from production
19703
CREATE UNIQUE INDEX sourcepackagerecipedata__sourcepackage_recipe__key ON sourcepackagerecipedata USING btree (sourcepackage_recipe) WHERE (sourcepackage_recipe IS NOT NULL);
19704
7675.1121.53 by Stuart Bishop
New baseline
19705
7675.395.118 by Stuart Bishop
New database baseline from production
19706
CREATE UNIQUE INDEX sourcepackagerecipedata__sourcepackage_recipe_build__key ON sourcepackagerecipedata USING btree (sourcepackage_recipe_build) WHERE (sourcepackage_recipe_build IS NOT NULL);
19707
7675.1121.53 by Stuart Bishop
New baseline
19708
7675.395.118 by Stuart Bishop
New database baseline from production
19709
CREATE INDEX sourcepackagerecipedatainstruction__branch__idx ON sourcepackagerecipedatainstruction USING btree (branch);
19710
7675.1121.53 by Stuart Bishop
New baseline
19711
7675.395.118 by Stuart Bishop
New database baseline from production
19712
CREATE INDEX sourcepackagerelease__changelog__idx ON sourcepackagerelease USING btree (changelog);
19713
7675.1121.53 by Stuart Bishop
New baseline
19714
7675.395.118 by Stuart Bishop
New database baseline from production
19715
CREATE INDEX sourcepackagerelease__sourcepackage_recipe_build__idx ON sourcepackagerelease USING btree (sourcepackage_recipe_build);
19716
7675.1121.53 by Stuart Bishop
New baseline
19717
4990.1.1 by Stuart Bishop
New database baseline
19718
CREATE INDEX sourcepackagerelease__upload_archive__idx ON sourcepackagerelease USING btree (upload_archive);
19719
7675.1121.53 by Stuart Bishop
New baseline
19720
19721
CREATE INDEX sourcepackagerelease__version__idx ON sourcepackagerelease USING btree (version);
19722
19723
3691.17.3 by Stuart Bishop
New database baseline
19724
CREATE INDEX sourcepackagerelease_creator_idx ON sourcepackagerelease USING btree (creator);
19725
7675.1121.53 by Stuart Bishop
New baseline
19726
3691.17.3 by Stuart Bishop
New database baseline
19727
CREATE INDEX sourcepackagerelease_maintainer_idx ON sourcepackagerelease USING btree (maintainer);
19728
7675.1121.53 by Stuart Bishop
New baseline
19729
3691.17.3 by Stuart Bishop
New database baseline
19730
CREATE INDEX sourcepackagerelease_sourcepackagename_idx ON sourcepackagerelease USING btree (sourcepackagename);
19731
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19732
3691.17.3 by Stuart Bishop
New database baseline
19733
CREATE INDEX sourcepackagereleasefile_libraryfile_idx ON sourcepackagereleasefile USING btree (libraryfile);
19734
7675.1121.53 by Stuart Bishop
New baseline
19735
3691.17.3 by Stuart Bishop
New database baseline
19736
CREATE INDEX sourcepackagereleasefile_sourcepackagerelease_idx ON sourcepackagereleasefile USING btree (sourcepackagerelease);
19737
7675.1121.53 by Stuart Bishop
New baseline
19738
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19739
CREATE INDEX specification__completer__idx ON specification USING btree (completer);
19740
7675.1121.53 by Stuart Bishop
New baseline
19741
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19742
CREATE INDEX specification__goal_decider__idx ON specification USING btree (goal_decider);
19743
7675.1121.53 by Stuart Bishop
New baseline
19744
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19745
CREATE INDEX specification__goal_proposer__idx ON specification USING btree (goal_proposer);
19746
7675.1121.53 by Stuart Bishop
New baseline
19747
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19748
CREATE INDEX specification__starter__idx ON specification USING btree (starter);
19749
7675.1121.53 by Stuart Bishop
New baseline
19750
3691.17.3 by Stuart Bishop
New database baseline
19751
CREATE INDEX specification_approver_idx ON specification USING btree (approver);
19752
7675.1121.53 by Stuart Bishop
New baseline
19753
3691.17.3 by Stuart Bishop
New database baseline
19754
CREATE INDEX specification_assignee_idx ON specification USING btree (assignee);
19755
7675.1121.53 by Stuart Bishop
New baseline
19756
3691.17.3 by Stuart Bishop
New database baseline
19757
CREATE INDEX specification_datecreated_idx ON specification USING btree (datecreated);
19758
7675.1121.53 by Stuart Bishop
New baseline
19759
3691.17.3 by Stuart Bishop
New database baseline
19760
CREATE INDEX specification_drafter_idx ON specification USING btree (drafter);
19761
7675.1121.53 by Stuart Bishop
New baseline
19762
19763
CREATE INDEX specification_fti ON specification USING gist (fti);
19764
3691.17.3 by Stuart Bishop
New database baseline
19765
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19766
CREATE INDEX specification_owner_idx ON specification USING btree (owner);
3691.17.3 by Stuart Bishop
New database baseline
19767
7675.1121.53 by Stuart Bishop
New baseline
19768
5529.1.3 by Stuart Bishop
New database schema baseline
19769
CREATE INDEX specificationbranch__registrant__idx ON specificationbranch USING btree (registrant);
19770
7675.1121.53 by Stuart Bishop
New baseline
19771
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19772
CREATE INDEX specificationbranch__specification__idx ON specificationbranch USING btree (specification);
19773
7675.1121.53 by Stuart Bishop
New baseline
19774
3691.17.3 by Stuart Bishop
New database baseline
19775
CREATE INDEX specificationbug_bug_idx ON specificationbug USING btree (bug);
19776
7675.1121.53 by Stuart Bishop
New baseline
19777
3691.17.3 by Stuart Bishop
New database baseline
19778
CREATE INDEX specificationbug_specification_idx ON specificationbug USING btree (specification);
19779
7675.1121.53 by Stuart Bishop
New baseline
19780
3691.17.3 by Stuart Bishop
New database baseline
19781
CREATE INDEX specificationdependency_dependency_idx ON specificationdependency USING btree (dependency);
19782
7675.1121.53 by Stuart Bishop
New baseline
19783
3691.17.3 by Stuart Bishop
New database baseline
19784
CREATE INDEX specificationdependency_specification_idx ON specificationdependency USING btree (specification);
19785
7675.1121.53 by Stuart Bishop
New baseline
19786
3691.17.3 by Stuart Bishop
New database baseline
19787
CREATE INDEX specificationfeedback_requester_idx ON specificationfeedback USING btree (requester);
19788
7675.1121.53 by Stuart Bishop
New baseline
19789
3691.17.3 by Stuart Bishop
New database baseline
19790
CREATE INDEX specificationfeedback_reviewer_idx ON specificationfeedback USING btree (reviewer);
19791
7675.1121.53 by Stuart Bishop
New baseline
19792
3691.17.3 by Stuart Bishop
New database baseline
19793
CREATE INDEX specificationsubscription_specification_idx ON specificationsubscription USING btree (specification);
19794
7675.1121.53 by Stuart Bishop
New baseline
19795
3691.17.3 by Stuart Bishop
New database baseline
19796
CREATE INDEX specificationsubscription_subscriber_idx ON specificationsubscription USING btree (person);
19797
7675.1121.53 by Stuart Bishop
New baseline
19798
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19799
CREATE INDEX sprint__driver__idx ON sprint USING btree (driver);
19800
7675.1121.53 by Stuart Bishop
New baseline
19801
4990.1.1 by Stuart Bishop
New database baseline
19802
CREATE INDEX sprint__icon__idx ON sprint USING btree (icon) WHERE (icon IS NOT NULL);
19803
7675.1121.53 by Stuart Bishop
New baseline
19804
4990.1.1 by Stuart Bishop
New database baseline
19805
CREATE INDEX sprint__logo__idx ON sprint USING btree (logo) WHERE (logo IS NOT NULL);
19806
7675.1121.53 by Stuart Bishop
New baseline
19807
4990.1.1 by Stuart Bishop
New database baseline
19808
CREATE INDEX sprint__mugshot__idx ON sprint USING btree (mugshot) WHERE (mugshot IS NOT NULL);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19809
7675.1121.53 by Stuart Bishop
New baseline
19810
7675.395.118 by Stuart Bishop
New database baseline from production
19811
CREATE INDEX sprint__owner__idx ON sprint USING btree (owner);
19812
7675.1121.53 by Stuart Bishop
New baseline
19813
3691.17.3 by Stuart Bishop
New database baseline
19814
CREATE INDEX sprint_datecreated_idx ON sprint USING btree (datecreated);
19815
7675.1121.53 by Stuart Bishop
New baseline
19816
3691.17.3 by Stuart Bishop
New database baseline
19817
CREATE INDEX sprintattendance_sprint_idx ON sprintattendance USING btree (sprint);
19818
7675.1121.53 by Stuart Bishop
New baseline
19819
3691.17.3 by Stuart Bishop
New database baseline
19820
CREATE INDEX sprintspec_sprint_idx ON sprintspecification USING btree (sprint);
19821
7675.1121.53 by Stuart Bishop
New baseline
19822
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19823
CREATE INDEX sprintspecification__decider__idx ON sprintspecification USING btree (decider);
19824
7675.1121.53 by Stuart Bishop
New baseline
19825
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19826
CREATE INDEX sprintspecification__registrant__idx ON sprintspecification USING btree (registrant);
3691.17.3 by Stuart Bishop
New database baseline
19827
7675.1121.53 by Stuart Bishop
New baseline
19828
3691.17.3 by Stuart Bishop
New database baseline
19829
CREATE INDEX sshkey_person_key ON sshkey USING btree (person);
19830
7675.1121.53 by Stuart Bishop
New baseline
19831
19832
CREATE UNIQUE INDEX structuralsubscription__distribution__sourcepackagename__subscr ON structuralsubscription USING btree (distribution, sourcepackagename, subscriber) WHERE ((distribution IS NOT NULL) AND (sourcepackagename IS NOT NULL));
19833
19834
19835
CREATE UNIQUE INDEX structuralsubscription__distribution__subscriber__key ON structuralsubscription USING btree (distribution, subscriber) WHERE ((distribution IS NOT NULL) AND (sourcepackagename IS NULL));
19836
19837
19838
CREATE UNIQUE INDEX structuralsubscription__distroseries__subscriber__key ON structuralsubscription USING btree (distroseries, subscriber) WHERE (distroseries IS NOT NULL);
19839
19840
19841
CREATE UNIQUE INDEX structuralsubscription__milestone__subscriber__key ON structuralsubscription USING btree (milestone, subscriber) WHERE (milestone IS NOT NULL);
19842
19843
19844
CREATE UNIQUE INDEX structuralsubscription__product__subscriber__key ON structuralsubscription USING btree (product, subscriber) WHERE (product IS NOT NULL);
19845
19846
19847
CREATE UNIQUE INDEX structuralsubscription__productseries__subscriber__key ON structuralsubscription USING btree (productseries, subscriber) WHERE (productseries IS NOT NULL);
19848
19849
19850
CREATE UNIQUE INDEX structuralsubscription__project__subscriber__key ON structuralsubscription USING btree (project, subscriber) WHERE (project IS NOT NULL);
19851
5529.1.3 by Stuart Bishop
New database schema baseline
19852
19853
CREATE INDEX structuralsubscription__subscribed_by__idx ON structuralsubscription USING btree (subscribed_by);
19854
7675.1121.53 by Stuart Bishop
New baseline
19855
5529.1.3 by Stuart Bishop
New database schema baseline
19856
CREATE INDEX structuralsubscription__subscriber__idx ON structuralsubscription USING btree (subscriber);
19857
7675.1121.53 by Stuart Bishop
New baseline
19858
19859
CREATE INDEX subunitstream__branch_created__idx ON subunitstream USING btree (branch, date_created);
19860
19861
19862
CREATE INDEX subunitstream__stream__idx ON subunitstream USING btree (stream);
19863
19864
19865
CREATE INDEX subunitstream__uploader_created__idx ON subunitstream USING btree (uploader, date_created);
19866
19867
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19868
CREATE INDEX teammembership__acknowledged_by__idx ON teammembership USING btree (acknowledged_by) WHERE (acknowledged_by IS NOT NULL);
19869
7675.1121.53 by Stuart Bishop
New baseline
19870
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19871
CREATE INDEX teammembership__last_changed_by__idx ON teammembership USING btree (last_changed_by) WHERE (last_changed_by IS NOT NULL);
19872
7675.1121.53 by Stuart Bishop
New baseline
19873
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19874
CREATE INDEX teammembership__proposed_by__idx ON teammembership USING btree (proposed_by) WHERE (proposed_by IS NOT NULL);
19875
7675.1121.53 by Stuart Bishop
New baseline
19876
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19877
CREATE INDEX teammembership__reviewed_by__idx ON teammembership USING btree (reviewed_by) WHERE (reviewed_by IS NOT NULL);
19878
7675.1121.53 by Stuart Bishop
New baseline
19879
7675.395.118 by Stuart Bishop
New database baseline from production
19880
CREATE INDEX teammembership__team__idx ON teammembership USING btree (team);
19881
7675.1121.53 by Stuart Bishop
New baseline
19882
3691.17.3 by Stuart Bishop
New database baseline
19883
CREATE INDEX teamparticipation_person_idx ON teamparticipation USING btree (person);
19884
4212.1.1 by Stuart Bishop
New database baseline
19885
ALTER TABLE teamparticipation CLUSTER ON teamparticipation_person_idx;
3691.17.3 by Stuart Bishop
New database baseline
19886
7675.1121.53 by Stuart Bishop
New baseline
19887
19888
CREATE INDEX tm__potmsgset__language__not_used__idx ON translationmessage USING btree (potmsgset, language) WHERE (NOT ((is_current_ubuntu IS TRUE) AND (is_current_upstream IS TRUE)));
19889
19890
19891
CREATE UNIQUE INDEX tm__potmsgset__language__shared__ubuntu__key ON translationmessage USING btree (potmsgset, language) WHERE ((is_current_ubuntu IS TRUE) AND (potemplate IS NULL));
19892
19893
19894
CREATE UNIQUE INDEX tm__potmsgset__language__shared__upstream__key ON translationmessage USING btree (potmsgset, language) WHERE ((is_current_upstream IS TRUE) AND (potemplate IS NULL));
19895
19896
19897
CREATE UNIQUE INDEX tm__potmsgset__template__language__diverged__ubuntu__key ON translationmessage USING btree (potmsgset, potemplate, language) WHERE ((is_current_ubuntu IS TRUE) AND (potemplate IS NOT NULL));
19898
19899
19900
CREATE UNIQUE INDEX tm__potmsgset__template__language__diverged__upstream__key ON translationmessage USING btree (potmsgset, potemplate, language) WHERE ((is_current_upstream IS TRUE) AND (potemplate IS NOT NULL));
19901
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19902
7675.395.118 by Stuart Bishop
New database baseline from production
19903
CREATE INDEX translationgroup__owner__idx ON translationgroup USING btree (owner);
19904
7675.1121.53 by Stuart Bishop
New baseline
19905
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19906
CREATE INDEX translationimportqueueentry__content__idx ON translationimportqueueentry USING btree (content) WHERE (content IS NOT NULL);
19907
7675.1121.53 by Stuart Bishop
New baseline
19908
5529.1.3 by Stuart Bishop
New database schema baseline
19909
CREATE INDEX translationimportqueueentry__context__path__idx ON translationimportqueueentry USING btree (distroseries, sourcepackagename, productseries, path);
19910
7675.1121.53 by Stuart Bishop
New baseline
19911
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19912
CREATE UNIQUE INDEX translationimportqueueentry__entry_per_importer__unq ON translationimportqueueentry USING btree (importer, path, (COALESCE(potemplate, (-1))), (COALESCE(distroseries, (-1))), (COALESCE(sourcepackagename, (-1))), (COALESCE(productseries, (-1))));
4990.1.1 by Stuart Bishop
New database baseline
19913
7675.1121.53 by Stuart Bishop
New baseline
19914
7675.395.118 by Stuart Bishop
New database baseline from production
19915
CREATE INDEX translationimportqueueentry__path__idx ON translationimportqueueentry USING btree (path);
19916
7675.1121.53 by Stuart Bishop
New baseline
19917
7675.395.118 by Stuart Bishop
New database baseline from production
19918
CREATE INDEX translationimportqueueentry__pofile__idx ON translationimportqueueentry USING btree (pofile) WHERE (pofile IS NOT NULL);
19919
7675.1121.53 by Stuart Bishop
New baseline
19920
7675.395.118 by Stuart Bishop
New database baseline from production
19921
CREATE INDEX translationimportqueueentry__potemplate__idx ON translationimportqueueentry USING btree (potemplate) WHERE (potemplate IS NOT NULL);
19922
7675.1121.53 by Stuart Bishop
New baseline
19923
7675.395.118 by Stuart Bishop
New database baseline from production
19924
CREATE INDEX translationimportqueueentry__productseries__idx ON translationimportqueueentry USING btree (productseries) WHERE (productseries IS NOT NULL);
19925
7675.1121.53 by Stuart Bishop
New baseline
19926
7675.395.118 by Stuart Bishop
New database baseline from production
19927
CREATE INDEX translationimportqueueentry__sourcepackagename__idx ON translationimportqueueentry USING btree (sourcepackagename) WHERE (sourcepackagename IS NOT NULL);
19928
7675.1121.53 by Stuart Bishop
New baseline
19929
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
19930
CREATE UNIQUE INDEX translationimportqueueentry__status__dateimported__id__idx ON translationimportqueueentry USING btree (status, dateimported, id);
19931
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19932
5529.1.3 by Stuart Bishop
New database schema baseline
19933
CREATE INDEX translationmessage__msgstr0__idx ON translationmessage USING btree (msgstr0);
19934
7675.1121.53 by Stuart Bishop
New baseline
19935
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19936
CREATE INDEX translationmessage__msgstr1__idx ON translationmessage USING btree (msgstr1) WHERE (msgstr1 IS NOT NULL);
19937
7675.1121.53 by Stuart Bishop
New baseline
19938
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19939
CREATE INDEX translationmessage__msgstr2__idx ON translationmessage USING btree (msgstr2) WHERE (msgstr2 IS NOT NULL);
19940
7675.1121.53 by Stuart Bishop
New baseline
19941
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19942
CREATE INDEX translationmessage__msgstr3__idx ON translationmessage USING btree (msgstr3) WHERE (msgstr3 IS NOT NULL);
19943
7675.1121.53 by Stuart Bishop
New baseline
19944
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19945
CREATE INDEX translationmessage__msgstr4__idx ON translationmessage USING btree (msgstr4) WHERE (msgstr4 IS NOT NULL);
19946
7675.1121.53 by Stuart Bishop
New baseline
19947
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19948
CREATE INDEX translationmessage__msgstr5__idx ON translationmessage USING btree (msgstr5) WHERE (msgstr5 IS NOT NULL);
19949
7675.1121.53 by Stuart Bishop
New baseline
19950
19951
CREATE INDEX translationmessage__potemplate__idx ON translationmessage USING btree (potemplate) WHERE (potemplate IS NOT NULL);
19952
5529.1.3 by Stuart Bishop
New database schema baseline
19953
19954
CREATE INDEX translationmessage__potmsgset__idx ON translationmessage USING btree (potmsgset);
19955
7675.1121.53 by Stuart Bishop
New baseline
19956
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19957
CREATE INDEX translationmessage__potmsgset__language__idx ON translationmessage USING btree (potmsgset, language);
5529.1.3 by Stuart Bishop
New database schema baseline
19958
7675.1121.53 by Stuart Bishop
New baseline
19959
5529.1.3 by Stuart Bishop
New database schema baseline
19960
CREATE INDEX translationmessage__reviewer__idx ON translationmessage USING btree (reviewer);
19961
7675.1121.53 by Stuart Bishop
New baseline
19962
5529.1.3 by Stuart Bishop
New database schema baseline
19963
CREATE INDEX translationmessage__submitter__idx ON translationmessage USING btree (submitter);
19964
7675.1121.53 by Stuart Bishop
New baseline
19965
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19966
CREATE UNIQUE INDEX translationtemplateitem__potemplate__potmsgset__key ON translationtemplateitem USING btree (potemplate, potmsgset);
19967
7675.1121.53 by Stuart Bishop
New baseline
19968
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19969
CREATE INDEX translationtemplateitem__potemplate__sequence__idx ON translationtemplateitem USING btree (potemplate, sequence);
19970
7675.1121.53 by Stuart Bishop
New baseline
19971
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19972
CREATE UNIQUE INDEX translationtemplateitem__potemplate__sequence__key ON translationtemplateitem USING btree (potemplate, sequence) WHERE (sequence > 0);
19973
7675.1121.53 by Stuart Bishop
New baseline
19974
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19975
CREATE INDEX translationtemplateitem__potmsgset__idx ON translationtemplateitem USING btree (potmsgset);
19976
7675.1121.53 by Stuart Bishop
New baseline
19977
19978
CREATE INDEX translationtemplatesbuild__branch__idx ON translationtemplatesbuild USING btree (branch);
19979
19980
19981
CREATE INDEX translationtemplatesbuild__build_farm_job__idx ON translationtemplatesbuild USING btree (build_farm_job);
19982
19983
7675.395.118 by Stuart Bishop
New database baseline from production
19984
CREATE INDEX translator__translator__idx ON translator USING btree (translator);
19985
7675.1121.53 by Stuart Bishop
New baseline
19986
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19987
CREATE INDEX usertouseremail__recipient__idx ON usertouseremail USING btree (recipient);
19988
7675.1121.53 by Stuart Bishop
New baseline
19989
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
19990
CREATE INDEX usertouseremail__sender__date_sent__idx ON usertouseremail USING btree (sender, date_sent);
19991
7675.1121.53 by Stuart Bishop
New baseline
19992
7675.395.118 by Stuart Bishop
New database baseline from production
19993
CREATE INDEX vote__person__idx ON vote USING btree (person);
19994
7675.1121.53 by Stuart Bishop
New baseline
19995
3691.17.3 by Stuart Bishop
New database baseline
19996
CREATE INDEX votecast_poll_idx ON votecast USING btree (poll);
19997
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
19998
3691.17.3 by Stuart Bishop
New database baseline
19999
CREATE INDEX wikiname_person_idx ON wikiname USING btree (person);
20000
4212.1.1 by Stuart Bishop
New database baseline
20001
7675.395.118 by Stuart Bishop
New database baseline from production
20002
CREATE TRIGGER bug_latest_patch_uploaded_on_delete_t
20003
    AFTER DELETE ON bugattachment
20004
    FOR EACH ROW
20005
    EXECUTE PROCEDURE bug_update_latest_patch_uploaded_on_delete();
20006
7675.1121.53 by Stuart Bishop
New baseline
20007
7675.395.118 by Stuart Bishop
New database baseline from production
20008
CREATE TRIGGER bug_latest_patch_uploaded_on_insert_update_t
20009
    AFTER INSERT OR UPDATE ON bugattachment
20010
    FOR EACH ROW
20011
    EXECUTE PROCEDURE bug_update_latest_patch_uploaded_on_insert_update();
20012
7675.1121.53 by Stuart Bishop
New baseline
20013
20014
CREATE TRIGGER bug_maintain_bug_summary_trigger
20015
    AFTER DELETE OR UPDATE ON bug
20016
    FOR EACH ROW
20017
    EXECUTE PROCEDURE bug_maintain_bug_summary();
20018
20019
20020
CREATE TRIGGER bug_to_bugtask_heat
20021
    AFTER UPDATE ON bug
20022
    FOR EACH ROW
20023
    EXECUTE PROCEDURE bug_update_heat_copy_to_bugtask();
20024
20025
20026
CREATE TRIGGER bugmessage__owner__mirror
20027
    AFTER INSERT OR UPDATE ON bugmessage
20028
    FOR EACH ROW
20029
    EXECUTE PROCEDURE bugmessage_copy_owner_from_message();
20030
20031
20032
CREATE TRIGGER bugsubscription_maintain_bug_summary_after_trigger
20033
    AFTER INSERT OR DELETE OR UPDATE ON bugsubscription
20034
    FOR EACH ROW
20035
    EXECUTE PROCEDURE bugsubscription_maintain_bug_summary();
20036
20037
20038
CREATE TRIGGER bugsubscription_maintain_bug_summary_before_trigger
20039
    BEFORE INSERT OR DELETE OR UPDATE ON bugsubscription
20040
    FOR EACH ROW
20041
    EXECUTE PROCEDURE bugsubscription_maintain_bug_summary();
20042
20043
20044
CREATE TRIGGER bugtag_maintain_bug_summary_after_trigger
20045
    AFTER INSERT OR DELETE OR UPDATE ON bugtag
20046
    FOR EACH ROW
20047
    EXECUTE PROCEDURE bugtag_maintain_bug_summary();
20048
20049
20050
CREATE TRIGGER bugtag_maintain_bug_summary_before_trigger
20051
    BEFORE INSERT OR DELETE OR UPDATE ON bugtag
20052
    FOR EACH ROW
20053
    EXECUTE PROCEDURE bugtag_maintain_bug_summary();
20054
20055
20056
CREATE TRIGGER bugtask_maintain_bug_summary_after_trigger
20057
    AFTER INSERT OR DELETE OR UPDATE ON bugtask
20058
    FOR EACH ROW
20059
    EXECUTE PROCEDURE bugtask_maintain_bug_summary();
20060
20061
20062
CREATE TRIGGER bugtask_maintain_bug_summary_before_trigger
20063
    BEFORE INSERT OR DELETE OR UPDATE ON bugtask
20064
    FOR EACH ROW
20065
    EXECUTE PROCEDURE bugtask_maintain_bug_summary();
20066
20067
20068
CREATE TRIGGER lp_mirror_openididentifier_del_t
20069
    AFTER DELETE ON openididentifier
20070
    FOR EACH ROW
20071
    EXECUTE PROCEDURE lp_mirror_openididentifier_del();
20072
20073
20074
CREATE TRIGGER lp_mirror_openididentifier_ins_t
20075
    AFTER INSERT ON openididentifier
20076
    FOR EACH ROW
20077
    EXECUTE PROCEDURE lp_mirror_openididentifier_ins();
20078
20079
20080
CREATE TRIGGER lp_mirror_openididentifier_upd_t
20081
    AFTER UPDATE ON openididentifier
20082
    FOR EACH ROW
20083
    EXECUTE PROCEDURE lp_mirror_openididentifier_upd();
20084
7675.395.118 by Stuart Bishop
New database baseline from production
20085
20086
CREATE TRIGGER lp_mirror_person_del_t
20087
    AFTER DELETE ON person
20088
    FOR EACH ROW
20089
    EXECUTE PROCEDURE lp_mirror_del();
20090
7675.1121.53 by Stuart Bishop
New baseline
20091
7675.395.118 by Stuart Bishop
New database baseline from production
20092
CREATE TRIGGER lp_mirror_person_ins_t
20093
    AFTER INSERT ON person
20094
    FOR EACH ROW
20095
    EXECUTE PROCEDURE lp_mirror_person_ins();
20096
7675.1121.53 by Stuart Bishop
New baseline
20097
7675.395.118 by Stuart Bishop
New database baseline from production
20098
CREATE TRIGGER lp_mirror_person_upd_t
20099
    AFTER UPDATE ON person
20100
    FOR EACH ROW
20101
    EXECUTE PROCEDURE lp_mirror_person_upd();
20102
7675.1121.53 by Stuart Bishop
New baseline
20103
7675.395.118 by Stuart Bishop
New database baseline from production
20104
CREATE TRIGGER lp_mirror_personlocation_del_t
20105
    AFTER DELETE ON teamparticipation
20106
    FOR EACH ROW
20107
    EXECUTE PROCEDURE lp_mirror_del();
20108
7675.1121.53 by Stuart Bishop
New baseline
20109
7675.395.118 by Stuart Bishop
New database baseline from production
20110
CREATE TRIGGER lp_mirror_personlocation_ins_t
20111
    AFTER INSERT ON personlocation
20112
    FOR EACH ROW
20113
    EXECUTE PROCEDURE lp_mirror_personlocation_ins();
20114
7675.1121.53 by Stuart Bishop
New baseline
20115
7675.395.118 by Stuart Bishop
New database baseline from production
20116
CREATE TRIGGER lp_mirror_personlocation_upd_t
20117
    AFTER UPDATE ON personlocation
20118
    FOR EACH ROW
20119
    EXECUTE PROCEDURE lp_mirror_personlocation_upd();
20120
7675.1121.53 by Stuart Bishop
New baseline
20121
7675.395.118 by Stuart Bishop
New database baseline from production
20122
CREATE TRIGGER lp_mirror_teamparticipation_del_t
20123
    AFTER DELETE ON teamparticipation
20124
    FOR EACH ROW
20125
    EXECUTE PROCEDURE lp_mirror_del();
20126
7675.1121.53 by Stuart Bishop
New baseline
20127
7675.395.118 by Stuart Bishop
New database baseline from production
20128
CREATE TRIGGER lp_mirror_teamparticipation_ins_t
20129
    AFTER INSERT ON teamparticipation
20130
    FOR EACH ROW
20131
    EXECUTE PROCEDURE lp_mirror_teamparticipation_ins();
20132
7675.1121.53 by Stuart Bishop
New baseline
20133
7675.395.118 by Stuart Bishop
New database baseline from production
20134
CREATE TRIGGER lp_mirror_teamparticipation_upd_t
20135
    AFTER UPDATE ON teamparticipation
20136
    FOR EACH ROW
20137
    EXECUTE PROCEDURE lp_mirror_teamparticipation_upd();
20138
7675.1121.53 by Stuart Bishop
New baseline
20139
20140
CREATE TRIGGER maintain_branch_transitive_privacy_t
20141
    AFTER INSERT OR UPDATE ON branch
20142
    FOR EACH ROW
20143
    EXECUTE PROCEDURE maintain_transitively_private();
20144
20145
20146
CREATE TRIGGER message__owner__mirror
20147
    AFTER UPDATE ON message
20148
    FOR EACH ROW
20149
    EXECUTE PROCEDURE message_copy_owner_to_bugmessage();
20150
20151
20152
CREATE TRIGGER message__owner__mirror__questionmessage
20153
    AFTER UPDATE ON message
20154
    FOR EACH ROW
20155
    EXECUTE PROCEDURE message_copy_owner_to_questionmessage();
20156
20157
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20158
CREATE TRIGGER mv_branch_distribution_update_t
20159
    AFTER UPDATE ON distribution
20160
    FOR EACH ROW
20161
    EXECUTE PROCEDURE mv_branch_distribution_update();
20162
7675.1121.53 by Stuart Bishop
New baseline
20163
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20164
CREATE TRIGGER mv_branch_distroseries_update_t
20165
    AFTER UPDATE ON distroseries
20166
    FOR EACH ROW
20167
    EXECUTE PROCEDURE mv_branch_distroseries_update();
20168
7675.1121.53 by Stuart Bishop
New baseline
20169
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20170
CREATE TRIGGER mv_branch_person_update_t
20171
    AFTER UPDATE ON person
20172
    FOR EACH ROW
20173
    EXECUTE PROCEDURE mv_branch_person_update();
20174
7675.1121.53 by Stuart Bishop
New baseline
20175
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20176
CREATE TRIGGER mv_branch_product_update_t
20177
    AFTER UPDATE ON product
20178
    FOR EACH ROW
20179
    EXECUTE PROCEDURE mv_branch_product_update();
20180
7675.1121.53 by Stuart Bishop
New baseline
20181
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20182
CREATE TRIGGER mv_pillarname_distribution_t
20183
    AFTER INSERT OR UPDATE ON distribution
20184
    FOR EACH ROW
20185
    EXECUTE PROCEDURE mv_pillarname_distribution();
20186
7675.1121.53 by Stuart Bishop
New baseline
20187
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20188
CREATE TRIGGER mv_pillarname_product_t
20189
    AFTER INSERT OR UPDATE ON product
20190
    FOR EACH ROW
20191
    EXECUTE PROCEDURE mv_pillarname_product();
20192
7675.1121.53 by Stuart Bishop
New baseline
20193
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20194
CREATE TRIGGER mv_pillarname_project_t
20195
    AFTER INSERT OR UPDATE ON project
20196
    FOR EACH ROW
20197
    EXECUTE PROCEDURE mv_pillarname_project();
20198
7675.1121.53 by Stuart Bishop
New baseline
20199
5529.1.3 by Stuart Bishop
New database schema baseline
20200
CREATE TRIGGER mv_pofiletranslator_translationmessage
20201
    AFTER INSERT OR DELETE OR UPDATE ON translationmessage
20202
    FOR EACH ROW
20203
    EXECUTE PROCEDURE mv_pofiletranslator_translationmessage();
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20204
7675.1121.53 by Stuart Bishop
New baseline
20205
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20206
CREATE TRIGGER packageset_deleted_trig
20207
    BEFORE DELETE ON packageset
20208
    FOR EACH ROW
20209
    EXECUTE PROCEDURE packageset_deleted_trig();
20210
7675.1121.53 by Stuart Bishop
New baseline
20211
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20212
CREATE TRIGGER packageset_inserted_trig
20213
    AFTER INSERT ON packageset
20214
    FOR EACH ROW
20215
    EXECUTE PROCEDURE packageset_inserted_trig();
20216
7675.1121.53 by Stuart Bishop
New baseline
20217
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20218
CREATE TRIGGER packagesetinclusion_deleted_trig
20219
    BEFORE DELETE ON packagesetinclusion
20220
    FOR EACH ROW
20221
    EXECUTE PROCEDURE packagesetinclusion_deleted_trig();
20222
7675.1121.53 by Stuart Bishop
New baseline
20223
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20224
CREATE TRIGGER packagesetinclusion_inserted_trig
20225
    AFTER INSERT ON packagesetinclusion
20226
    FOR EACH ROW
20227
    EXECUTE PROCEDURE packagesetinclusion_inserted_trig();
20228
7675.1121.53 by Stuart Bishop
New baseline
20229
20230
CREATE TRIGGER questionmessage__owner__mirror
20231
    AFTER INSERT OR UPDATE ON questionmessage
20232
    FOR EACH ROW
20233
    EXECUTE PROCEDURE questionmessage_copy_owner_from_message();
20234
20235
5529.1.3 by Stuart Bishop
New database schema baseline
20236
CREATE TRIGGER set_bug_message_count_t
20237
    AFTER INSERT OR DELETE OR UPDATE ON bugmessage
20238
    FOR EACH ROW
20239
    EXECUTE PROCEDURE set_bug_message_count();
20240
7675.1121.53 by Stuart Bishop
New baseline
20241
5529.1.3 by Stuart Bishop
New database schema baseline
20242
CREATE TRIGGER set_bug_number_of_duplicates_t
20243
    AFTER INSERT OR DELETE OR UPDATE ON bug
20244
    FOR EACH ROW
20245
    EXECUTE PROCEDURE set_bug_number_of_duplicates();
20246
7675.1121.53 by Stuart Bishop
New baseline
20247
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20248
CREATE TRIGGER set_bug_users_affected_count_t
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20249
    AFTER INSERT OR DELETE OR UPDATE ON bugaffectsperson
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20250
    FOR EACH ROW
20251
    EXECUTE PROCEDURE set_bug_users_affected_count();
20252
7675.1121.53 by Stuart Bishop
New baseline
20253
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20254
CREATE TRIGGER set_bugtask_date_milestone_set_t
20255
    AFTER INSERT OR UPDATE ON bugtask
20256
    FOR EACH ROW
20257
    EXECUTE PROCEDURE set_bugtask_date_milestone_set();
20258
7675.1121.53 by Stuart Bishop
New baseline
20259
4990.1.1 by Stuart Bishop
New database baseline
20260
CREATE TRIGGER set_date_last_message_t
20261
    AFTER INSERT OR DELETE OR UPDATE ON bugmessage
20262
    FOR EACH ROW
20263
    EXECUTE PROCEDURE set_bug_date_last_message();
20264
7675.1121.53 by Stuart Bishop
New baseline
20265
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20266
CREATE TRIGGER set_date_status_set_t
20267
    BEFORE UPDATE ON account
20268
    FOR EACH ROW
20269
    EXECUTE PROCEDURE set_date_status_set();
20270
3691.17.3 by Stuart Bishop
New database baseline
20271
20272
CREATE TRIGGER tsvectorupdate
20273
    BEFORE INSERT OR UPDATE ON binarypackagerelease
20274
    FOR EACH ROW
20275
    EXECUTE PROCEDURE ts2.ftiupdate('summary', 'b', 'description', 'c');
20276
7675.1121.53 by Stuart Bishop
New baseline
20277
3691.17.3 by Stuart Bishop
New database baseline
20278
CREATE TRIGGER tsvectorupdate
20279
    BEFORE INSERT OR UPDATE ON cve
20280
    FOR EACH ROW
20281
    EXECUTE PROCEDURE ts2.ftiupdate('sequence', 'a', 'description', 'b');
20282
7675.1121.53 by Stuart Bishop
New baseline
20283
3691.17.3 by Stuart Bishop
New database baseline
20284
CREATE TRIGGER tsvectorupdate
5529.1.3 by Stuart Bishop
New database schema baseline
20285
    BEFORE INSERT OR UPDATE ON distroseriespackagecache
3691.17.3 by Stuart Bishop
New database baseline
20286
    FOR EACH ROW
20287
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'summaries', 'b', 'descriptions', 'c');
20288
7675.1121.53 by Stuart Bishop
New baseline
20289
3691.17.3 by Stuart Bishop
New database baseline
20290
CREATE TRIGGER tsvectorupdate
20291
    BEFORE INSERT OR UPDATE ON message
20292
    FOR EACH ROW
20293
    EXECUTE PROCEDURE ts2.ftiupdate('subject', 'b');
20294
7675.1121.53 by Stuart Bishop
New baseline
20295
3691.17.3 by Stuart Bishop
New database baseline
20296
CREATE TRIGGER tsvectorupdate
20297
    BEFORE INSERT OR UPDATE ON messagechunk
20298
    FOR EACH ROW
20299
    EXECUTE PROCEDURE ts2.ftiupdate('content', 'c');
20300
7675.1121.53 by Stuart Bishop
New baseline
20301
3691.17.3 by Stuart Bishop
New database baseline
20302
CREATE TRIGGER tsvectorupdate
20303
    BEFORE INSERT OR UPDATE ON product
20304
    FOR EACH ROW
20305
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'displayname', 'a', 'title', 'b', 'summary', 'c', 'description', 'd');
20306
7675.1121.53 by Stuart Bishop
New baseline
20307
3691.17.3 by Stuart Bishop
New database baseline
20308
CREATE TRIGGER tsvectorupdate
20309
    BEFORE INSERT OR UPDATE ON project
20310
    FOR EACH ROW
20311
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'displayname', 'a', 'title', 'b', 'summary', 'c', 'description', 'd');
20312
20313
20314
CREATE TRIGGER tsvectorupdate
4212.1.1 by Stuart Bishop
New database baseline
20315
    BEFORE INSERT OR UPDATE ON question
3691.17.3 by Stuart Bishop
New database baseline
20316
    FOR EACH ROW
20317
    EXECUTE PROCEDURE ts2.ftiupdate('title', 'a', 'description', 'b', 'whiteboard', 'b');
20318
7675.1121.53 by Stuart Bishop
New baseline
20319
3691.17.3 by Stuart Bishop
New database baseline
20320
CREATE TRIGGER tsvectorupdate
20321
    BEFORE INSERT OR UPDATE ON bug
20322
    FOR EACH ROW
20323
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'title', 'b', 'description', 'd');
20324
7675.1121.53 by Stuart Bishop
New baseline
20325
3691.17.3 by Stuart Bishop
New database baseline
20326
CREATE TRIGGER tsvectorupdate
20327
    BEFORE INSERT OR UPDATE ON person
20328
    FOR EACH ROW
20329
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'displayname', 'a');
20330
7675.1121.53 by Stuart Bishop
New baseline
20331
3691.17.3 by Stuart Bishop
New database baseline
20332
CREATE TRIGGER tsvectorupdate
20333
    BEFORE INSERT OR UPDATE ON specification
20334
    FOR EACH ROW
20335
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'title', 'a', 'summary', 'b', 'whiteboard', 'd');
20336
7675.1121.53 by Stuart Bishop
New baseline
20337
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20338
CREATE TRIGGER tsvectorupdate
20339
    BEFORE INSERT OR UPDATE ON distribution
20340
    FOR EACH ROW
20341
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'displayname', 'a', 'title', 'b', 'summary', 'c', 'description', 'd');
20342
7675.1121.53 by Stuart Bishop
New baseline
20343
4990.1.1 by Stuart Bishop
New database baseline
20344
CREATE TRIGGER tsvectorupdate
20345
    BEFORE INSERT OR UPDATE ON distributionsourcepackagecache
20346
    FOR EACH ROW
20347
    EXECUTE PROCEDURE ts2.ftiupdate('name', 'a', 'binpkgnames', 'b', 'binpkgsummaries', 'c', 'binpkgdescriptions', 'd', 'changelog', 'd');
20348
7675.1121.53 by Stuart Bishop
New baseline
20349
4990.1.1 by Stuart Bishop
New database baseline
20350
CREATE TRIGGER tsvectorupdate
20351
    BEFORE INSERT OR UPDATE ON productreleasefile
20352
    FOR EACH ROW
20353
    EXECUTE PROCEDURE ts2.ftiupdate('description', 'd');
20354
7675.1121.53 by Stuart Bishop
New baseline
20355
4990.1.1 by Stuart Bishop
New database baseline
20356
CREATE TRIGGER tsvectorupdate
20357
    BEFORE INSERT OR UPDATE ON faq
20358
    FOR EACH ROW
20359
    EXECUTE PROCEDURE ts2.ftiupdate('title', 'a', 'tags', 'b', 'content', 'd');
20360
7675.1121.53 by Stuart Bishop
New baseline
20361
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20362
CREATE TRIGGER tsvectorupdate
20363
    BEFORE INSERT OR UPDATE ON archive
20364
    FOR EACH ROW
20365
    EXECUTE PROCEDURE ts2.ftiupdate('description', 'a', 'package_description_cache', 'b');
20366
7675.1121.53 by Stuart Bishop
New baseline
20367
20368
CREATE TRIGGER tsvectorupdate
20369
    BEFORE INSERT OR UPDATE ON bugtask
20370
    FOR EACH ROW
20371
    EXECUTE PROCEDURE ts2.ftiupdate('targetnamecache', 'b');
20372
20373
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20374
CREATE TRIGGER update_branch_name_cache_t
20375
    BEFORE INSERT OR UPDATE ON branch
20376
    FOR EACH ROW
20377
    EXECUTE PROCEDURE update_branch_name_cache();
20378
7675.1121.53 by Stuart Bishop
New baseline
20379
3691.17.3 by Stuart Bishop
New database baseline
20380
CREATE TRIGGER you_are_your_own_member
20381
    AFTER INSERT ON person
20382
    FOR EACH ROW
20383
    EXECUTE PROCEDURE you_are_your_own_member();
20384
7675.1121.53 by Stuart Bishop
New baseline
20385
3691.17.3 by Stuart Bishop
New database baseline
20386
ALTER TABLE ONLY processor
20387
    ADD CONSTRAINT "$1" FOREIGN KEY (family) REFERENCES processorfamily(id);
20388
7675.1121.53 by Stuart Bishop
New baseline
20389
3691.17.3 by Stuart Bishop
New database baseline
20390
ALTER TABLE ONLY builder
20391
    ADD CONSTRAINT "$1" FOREIGN KEY (processor) REFERENCES processor(id);
20392
7675.1121.53 by Stuart Bishop
New baseline
20393
3691.17.3 by Stuart Bishop
New database baseline
20394
ALTER TABLE ONLY distribution
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20395
    ADD CONSTRAINT "$1" FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20396
7675.1121.53 by Stuart Bishop
New baseline
20397
3691.17.3 by Stuart Bishop
New database baseline
20398
ALTER TABLE ONLY libraryfilealias
20399
    ADD CONSTRAINT "$1" FOREIGN KEY (content) REFERENCES libraryfilecontent(id);
20400
7675.1121.53 by Stuart Bishop
New baseline
20401
3691.17.3 by Stuart Bishop
New database baseline
20402
ALTER TABLE ONLY productreleasefile
20403
    ADD CONSTRAINT "$1" FOREIGN KEY (productrelease) REFERENCES productrelease(id);
20404
7675.1121.53 by Stuart Bishop
New baseline
20405
3691.17.3 by Stuart Bishop
New database baseline
20406
ALTER TABLE ONLY spokenin
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20407
    ADD CONSTRAINT "$1" FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
20408
20409
20410
ALTER TABLE ONLY bugsubscription
20411
    ADD CONSTRAINT "$1" FOREIGN KEY (person) REFERENCES person(id);
20412
7675.1121.53 by Stuart Bishop
New baseline
20413
3691.17.3 by Stuart Bishop
New database baseline
20414
ALTER TABLE ONLY bugactivity
20415
    ADD CONSTRAINT "$1" FOREIGN KEY (bug) REFERENCES bug(id);
20416
7675.1121.53 by Stuart Bishop
New baseline
20417
3691.17.3 by Stuart Bishop
New database baseline
20418
ALTER TABLE ONLY sshkey
20419
    ADD CONSTRAINT "$1" FOREIGN KEY (person) REFERENCES person(id);
20420
20421
20422
ALTER TABLE ONLY polloption
20423
    ADD CONSTRAINT "$1" FOREIGN KEY (poll) REFERENCES poll(id);
20424
7675.1121.53 by Stuart Bishop
New baseline
20425
3691.17.3 by Stuart Bishop
New database baseline
20426
ALTER TABLE ONLY product
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20427
    ADD CONSTRAINT "$1" FOREIGN KEY (bug_supervisor) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20428
20429
20430
ALTER TABLE ONLY country
20431
    ADD CONSTRAINT "$1" FOREIGN KEY (continent) REFERENCES continent(id);
20432
7675.1121.53 by Stuart Bishop
New baseline
20433
7675.395.118 by Stuart Bishop
New database baseline from production
20434
ALTER TABLE ONLY sourcepackagereleasefile
20435
    ADD CONSTRAINT "$1" FOREIGN KEY (sourcepackagerelease) REFERENCES sourcepackagerelease(id) ON DELETE CASCADE;
20436
7675.1121.53 by Stuart Bishop
New baseline
20437
3691.17.3 by Stuart Bishop
New database baseline
20438
ALTER TABLE ONLY builder
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20439
    ADD CONSTRAINT "$2" FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20440
7675.1121.53 by Stuart Bishop
New baseline
20441
3691.17.3 by Stuart Bishop
New database baseline
20442
ALTER TABLE ONLY productreleasefile
20443
    ADD CONSTRAINT "$2" FOREIGN KEY (libraryfile) REFERENCES libraryfilealias(id);
20444
7675.1121.53 by Stuart Bishop
New baseline
20445
3691.17.3 by Stuart Bishop
New database baseline
20446
ALTER TABLE ONLY sourcepackagereleasefile
20447
    ADD CONSTRAINT "$2" FOREIGN KEY (libraryfile) REFERENCES libraryfilealias(id);
20448
7675.1121.53 by Stuart Bishop
New baseline
20449
3691.17.3 by Stuart Bishop
New database baseline
20450
ALTER TABLE ONLY spokenin
20451
    ADD CONSTRAINT "$2" FOREIGN KEY (country) REFERENCES country(id);
20452
20453
20454
ALTER TABLE ONLY bugsubscription
20455
    ADD CONSTRAINT "$2" FOREIGN KEY (bug) REFERENCES bug(id);
20456
7675.1121.53 by Stuart Bishop
New baseline
20457
3691.17.3 by Stuart Bishop
New database baseline
20458
ALTER TABLE ONLY buildqueue
20459
    ADD CONSTRAINT "$2" FOREIGN KEY (builder) REFERENCES builder(id);
20460
7675.1121.53 by Stuart Bishop
New baseline
20461
3691.17.3 by Stuart Bishop
New database baseline
20462
ALTER TABLE ONLY distribution
20463
    ADD CONSTRAINT "$2" FOREIGN KEY (members) REFERENCES person(id);
20464
20465
20466
ALTER TABLE ONLY distribution
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20467
    ADD CONSTRAINT "$3" FOREIGN KEY (bug_supervisor) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20468
7675.1121.53 by Stuart Bishop
New baseline
20469
3691.17.3 by Stuart Bishop
New database baseline
20470
ALTER TABLE ONLY pofile
20471
    ADD CONSTRAINT "$3" FOREIGN KEY (from_sourcepackagename) REFERENCES sourcepackagename(id);
20472
7675.1121.53 by Stuart Bishop
New baseline
20473
20474
ALTER TABLE ONLY accesspolicy
20475
    ADD CONSTRAINT accesspolicy_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
20476
20477
20478
ALTER TABLE ONLY accesspolicy
20479
    ADD CONSTRAINT accesspolicy_product_fkey FOREIGN KEY (product) REFERENCES product(id);
20480
20481
20482
ALTER TABLE ONLY accesspolicyartifact
20483
    ADD CONSTRAINT accesspolicyartifact_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
20484
20485
20486
ALTER TABLE ONLY accesspolicyartifact
20487
    ADD CONSTRAINT accesspolicyartifact_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
20488
20489
20490
ALTER TABLE ONLY accesspolicyartifact
20491
    ADD CONSTRAINT accesspolicyartifact_policy_fkey FOREIGN KEY (policy) REFERENCES accesspolicy(id);
20492
20493
20494
ALTER TABLE ONLY accesspolicygrant
20495
    ADD CONSTRAINT accesspolicygrant_artifact_fkey FOREIGN KEY (artifact) REFERENCES accesspolicyartifact(id);
20496
20497
20498
ALTER TABLE ONLY accesspolicygrant
20499
    ADD CONSTRAINT accesspolicygrant_grantee_fkey FOREIGN KEY (grantee) REFERENCES person(id);
20500
20501
20502
ALTER TABLE ONLY accesspolicygrant
20503
    ADD CONSTRAINT accesspolicygrant_grantor_fkey FOREIGN KEY (grantor) REFERENCES person(id);
20504
20505
20506
ALTER TABLE ONLY accesspolicygrant
20507
    ADD CONSTRAINT accesspolicygrant_policy_fkey FOREIGN KEY (policy) REFERENCES accesspolicy(id);
20508
3691.17.3 by Stuart Bishop
New database baseline
20509
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20510
ALTER TABLE ONLY accountpassword
20511
    ADD CONSTRAINT accountpassword_account_fkey FOREIGN KEY (account) REFERENCES account(id) ON DELETE CASCADE;
20512
7675.1121.53 by Stuart Bishop
New baseline
20513
3691.17.3 by Stuart Bishop
New database baseline
20514
ALTER TABLE ONLY karma
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20515
    ADD CONSTRAINT action_fkey FOREIGN KEY (action) REFERENCES karmaaction(id);
3691.17.3 by Stuart Bishop
New database baseline
20516
7675.1121.53 by Stuart Bishop
New baseline
20517
5529.1.3 by Stuart Bishop
New database schema baseline
20518
ALTER TABLE ONLY announcement
20519
    ADD CONSTRAINT announcement_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
20520
7675.1121.53 by Stuart Bishop
New baseline
20521
5529.1.3 by Stuart Bishop
New database schema baseline
20522
ALTER TABLE ONLY announcement
20523
    ADD CONSTRAINT announcement_product_fkey FOREIGN KEY (product) REFERENCES product(id);
20524
7675.1121.53 by Stuart Bishop
New baseline
20525
5529.1.3 by Stuart Bishop
New database schema baseline
20526
ALTER TABLE ONLY announcement
20527
    ADD CONSTRAINT announcement_project_fkey FOREIGN KEY (project) REFERENCES project(id);
20528
7675.1121.53 by Stuart Bishop
New baseline
20529
5529.1.3 by Stuart Bishop
New database schema baseline
20530
ALTER TABLE ONLY announcement
20531
    ADD CONSTRAINT announcement_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20532
7675.1121.53 by Stuart Bishop
New baseline
20533
4212.1.1 by Stuart Bishop
New database baseline
20534
ALTER TABLE ONLY answercontact
20535
    ADD CONSTRAINT answercontact__distribution__fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
20536
7675.1121.53 by Stuart Bishop
New baseline
20537
4212.1.1 by Stuart Bishop
New database baseline
20538
ALTER TABLE ONLY answercontact
20539
    ADD CONSTRAINT answercontact__person__fkey FOREIGN KEY (person) REFERENCES person(id);
20540
7675.1121.53 by Stuart Bishop
New baseline
20541
4212.1.1 by Stuart Bishop
New database baseline
20542
ALTER TABLE ONLY answercontact
20543
    ADD CONSTRAINT answercontact__product__fkey FOREIGN KEY (product) REFERENCES product(id);
20544
7675.1121.53 by Stuart Bishop
New baseline
20545
4212.1.1 by Stuart Bishop
New database baseline
20546
ALTER TABLE ONLY answercontact
20547
    ADD CONSTRAINT answercontact__sourcepackagename__fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
20548
7675.1121.53 by Stuart Bishop
New baseline
20549
7675.395.118 by Stuart Bishop
New database baseline from production
20550
ALTER TABLE ONLY apportjob
20551
    ADD CONSTRAINT apportjob_blob_fkey FOREIGN KEY (blob) REFERENCES temporaryblobstorage(id);
20552
7675.1121.53 by Stuart Bishop
New baseline
20553
7675.395.118 by Stuart Bishop
New database baseline from production
20554
ALTER TABLE ONLY apportjob
20555
    ADD CONSTRAINT apportjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
20556
7675.1121.53 by Stuart Bishop
New baseline
20557
4990.1.1 by Stuart Bishop
New database baseline
20558
ALTER TABLE ONLY archive
20559
    ADD CONSTRAINT archive__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
20560
7675.1121.53 by Stuart Bishop
New baseline
20561
4990.1.1 by Stuart Bishop
New database baseline
20562
ALTER TABLE ONLY archive
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20563
    ADD CONSTRAINT archive__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
20564
7675.1121.53 by Stuart Bishop
New baseline
20565
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20566
ALTER TABLE ONLY archive
20567
    ADD CONSTRAINT archive_signing_key_fkey FOREIGN KEY (signing_key) REFERENCES gpgkey(id);
20568
7675.1121.53 by Stuart Bishop
New baseline
20569
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20570
ALTER TABLE ONLY archivearch
7675.395.118 by Stuart Bishop
New database baseline from production
20571
    ADD CONSTRAINT archivearch__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20572
7675.1121.53 by Stuart Bishop
New baseline
20573
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20574
ALTER TABLE ONLY archivearch
20575
    ADD CONSTRAINT archivearch__processorfamily__fk FOREIGN KEY (processorfamily) REFERENCES processorfamily(id);
20576
7675.1121.53 by Stuart Bishop
New baseline
20577
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20578
ALTER TABLE ONLY archiveauthtoken
7675.395.118 by Stuart Bishop
New database baseline from production
20579
    ADD CONSTRAINT archiveauthtoken__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20580
7675.1121.53 by Stuart Bishop
New baseline
20581
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20582
ALTER TABLE ONLY archiveauthtoken
20583
    ADD CONSTRAINT archiveauthtoken_person_fkey FOREIGN KEY (person) REFERENCES person(id);
20584
7675.1121.53 by Stuart Bishop
New baseline
20585
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20586
ALTER TABLE ONLY archivedependency
7675.395.118 by Stuart Bishop
New database baseline from production
20587
    ADD CONSTRAINT archivedependency__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
20588
7675.1121.53 by Stuart Bishop
New baseline
20589
7675.395.118 by Stuart Bishop
New database baseline from production
20590
ALTER TABLE ONLY archivedependency
20591
    ADD CONSTRAINT archivedependency__dependency__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20592
7675.1121.53 by Stuart Bishop
New baseline
20593
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20594
ALTER TABLE ONLY archivedependency
20595
    ADD CONSTRAINT archivedependency_component_fkey FOREIGN KEY (component) REFERENCES component(id);
20596
7675.1121.53 by Stuart Bishop
New baseline
20597
7675.395.118 by Stuart Bishop
New database baseline from production
20598
ALTER TABLE ONLY archivejob
20599
    ADD CONSTRAINT archivejob__archive__fk FOREIGN KEY (archive) REFERENCES archive(id);
20600
7675.1121.53 by Stuart Bishop
New baseline
20601
7675.395.118 by Stuart Bishop
New database baseline from production
20602
ALTER TABLE ONLY archivejob
20603
    ADD CONSTRAINT archivejob__job__fk FOREIGN KEY (job) REFERENCES job(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20604
7675.1121.53 by Stuart Bishop
New baseline
20605
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20606
ALTER TABLE ONLY archivepermission
7675.395.118 by Stuart Bishop
New database baseline from production
20607
    ADD CONSTRAINT archivepermission__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20608
7675.1121.53 by Stuart Bishop
New baseline
20609
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20610
ALTER TABLE ONLY archivepermission
20611
    ADD CONSTRAINT archivepermission__component__fk FOREIGN KEY (component) REFERENCES component(id);
20612
7675.1121.53 by Stuart Bishop
New baseline
20613
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20614
ALTER TABLE ONLY archivepermission
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20615
    ADD CONSTRAINT archivepermission__packageset__fk FOREIGN KEY (packageset) REFERENCES packageset(id);
20616
7675.1121.53 by Stuart Bishop
New baseline
20617
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20618
ALTER TABLE ONLY archivepermission
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20619
    ADD CONSTRAINT archivepermission__person__fk FOREIGN KEY (person) REFERENCES person(id);
20620
7675.1121.53 by Stuart Bishop
New baseline
20621
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20622
ALTER TABLE ONLY archivepermission
20623
    ADD CONSTRAINT archivepermission__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
20624
7675.1121.53 by Stuart Bishop
New baseline
20625
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20626
ALTER TABLE ONLY archivesubscriber
7675.395.118 by Stuart Bishop
New database baseline from production
20627
    ADD CONSTRAINT archivesubscriber__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20628
7675.1121.53 by Stuart Bishop
New baseline
20629
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20630
ALTER TABLE ONLY archivesubscriber
20631
    ADD CONSTRAINT archivesubscriber_cancelled_by_fkey FOREIGN KEY (cancelled_by) REFERENCES person(id);
20632
7675.1121.53 by Stuart Bishop
New baseline
20633
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20634
ALTER TABLE ONLY archivesubscriber
20635
    ADD CONSTRAINT archivesubscriber_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20636
7675.1121.53 by Stuart Bishop
New baseline
20637
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20638
ALTER TABLE ONLY archivesubscriber
20639
    ADD CONSTRAINT archivesubscriber_subscriber_fkey FOREIGN KEY (subscriber) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20640
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20641
7675.395.118 by Stuart Bishop
New database baseline from production
20642
ALTER TABLE ONLY binarypackagebuild
20643
    ADD CONSTRAINT binarypackagebuild__distro_arch_series__fk FOREIGN KEY (distro_arch_series) REFERENCES distroarchseries(id);
20644
7675.1121.53 by Stuart Bishop
New baseline
20645
7675.395.118 by Stuart Bishop
New database baseline from production
20646
ALTER TABLE ONLY binarypackagebuild
20647
    ADD CONSTRAINT binarypackagebuild__package_build__fk FOREIGN KEY (package_build) REFERENCES packagebuild(id);
20648
7675.1121.53 by Stuart Bishop
New baseline
20649
7675.395.118 by Stuart Bishop
New database baseline from production
20650
ALTER TABLE ONLY binarypackagebuild
20651
    ADD CONSTRAINT binarypackagebuild__source_package_release__fk FOREIGN KEY (source_package_release) REFERENCES sourcepackagerelease(id);
20652
7675.1121.53 by Stuart Bishop
New baseline
20653
3691.17.3 by Stuart Bishop
New database baseline
20654
ALTER TABLE ONLY binarypackagefile
7675.395.118 by Stuart Bishop
New database baseline from production
20655
    ADD CONSTRAINT binarypackagefile_binarypackagerelease_fk FOREIGN KEY (binarypackagerelease) REFERENCES binarypackagerelease(id) ON DELETE CASCADE;
3691.17.3 by Stuart Bishop
New database baseline
20656
7675.1121.53 by Stuart Bishop
New baseline
20657
3691.17.3 by Stuart Bishop
New database baseline
20658
ALTER TABLE ONLY binarypackagefile
20659
    ADD CONSTRAINT binarypackagefile_libraryfile_fk FOREIGN KEY (libraryfile) REFERENCES libraryfilealias(id);
20660
7675.1121.53 by Stuart Bishop
New baseline
20661
20662
ALTER TABLE ONLY binarypackagepublishinghistory
20663
    ADD CONSTRAINT binarypackagepublishinghistory_binarypackagename_fkey FOREIGN KEY (binarypackagename) REFERENCES binarypackagename(id);
20664
20665
7675.395.118 by Stuart Bishop
New database baseline from production
20666
ALTER TABLE ONLY binarypackagepublishinghistory
20667
    ADD CONSTRAINT binarypackagepublishinghistory_supersededby_fk FOREIGN KEY (supersededby) REFERENCES binarypackagebuild(id);
20668
7675.1121.53 by Stuart Bishop
New baseline
20669
3691.17.3 by Stuart Bishop
New database baseline
20670
ALTER TABLE ONLY binarypackagerelease
20671
    ADD CONSTRAINT binarypackagerelease_binarypackagename_fk FOREIGN KEY (binarypackagename) REFERENCES binarypackagename(id);
20672
7675.1121.53 by Stuart Bishop
New baseline
20673
3691.17.3 by Stuart Bishop
New database baseline
20674
ALTER TABLE ONLY binarypackagerelease
7675.395.118 by Stuart Bishop
New database baseline from production
20675
    ADD CONSTRAINT binarypackagerelease_build_fk FOREIGN KEY (build) REFERENCES binarypackagebuild(id) ON DELETE CASCADE;
3691.17.3 by Stuart Bishop
New database baseline
20676
7675.1121.53 by Stuart Bishop
New baseline
20677
3691.17.3 by Stuart Bishop
New database baseline
20678
ALTER TABLE ONLY binarypackagerelease
20679
    ADD CONSTRAINT binarypackagerelease_component_fk FOREIGN KEY (component) REFERENCES component(id);
20680
7675.1121.53 by Stuart Bishop
New baseline
20681
3691.17.3 by Stuart Bishop
New database baseline
20682
ALTER TABLE ONLY binarypackagerelease
7675.395.118 by Stuart Bishop
New database baseline from production
20683
    ADD CONSTRAINT binarypackagerelease_debug_package_fkey FOREIGN KEY (debug_package) REFERENCES binarypackagerelease(id);
20684
7675.1121.53 by Stuart Bishop
New baseline
20685
7675.395.118 by Stuart Bishop
New database baseline from production
20686
ALTER TABLE ONLY binarypackagerelease
3691.17.3 by Stuart Bishop
New database baseline
20687
    ADD CONSTRAINT binarypackagerelease_section_fk FOREIGN KEY (section) REFERENCES section(id);
20688
7675.1121.53 by Stuart Bishop
New baseline
20689
20690
ALTER TABLE ONLY binarypackagereleasecontents
20691
    ADD CONSTRAINT binarypackagereleasecontents_binarypackagepath_fkey FOREIGN KEY (binarypackagepath) REFERENCES binarypackagepath(id);
20692
20693
20694
ALTER TABLE ONLY binarypackagereleasecontents
20695
    ADD CONSTRAINT binarypackagereleasecontents_binarypackagerelease_fkey FOREIGN KEY (binarypackagerelease) REFERENCES binarypackagerelease(id);
20696
20697
7675.395.118 by Stuart Bishop
New database baseline from production
20698
ALTER TABLE ONLY binarypackagereleasedownloadcount
20699
    ADD CONSTRAINT binarypackagereleasedownloadcount_archive_fkey FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
20700
7675.1121.53 by Stuart Bishop
New baseline
20701
7675.395.118 by Stuart Bishop
New database baseline from production
20702
ALTER TABLE ONLY binarypackagereleasedownloadcount
20703
    ADD CONSTRAINT binarypackagereleasedownloadcount_binary_package_release_fkey FOREIGN KEY (binary_package_release) REFERENCES binarypackagerelease(id);
20704
7675.1121.53 by Stuart Bishop
New baseline
20705
7675.395.118 by Stuart Bishop
New database baseline from production
20706
ALTER TABLE ONLY binarypackagereleasedownloadcount
20707
    ADD CONSTRAINT binarypackagereleasedownloadcount_country_fkey FOREIGN KEY (country) REFERENCES country(id);
20708
7675.1121.53 by Stuart Bishop
New baseline
20709
20710
ALTER TABLE ONLY branch
20711
    ADD CONSTRAINT branch_access_policy_fkey FOREIGN KEY (access_policy) REFERENCES accesspolicy(id);
20712
3691.17.3 by Stuart Bishop
New database baseline
20713
20714
ALTER TABLE ONLY branch
20715
    ADD CONSTRAINT branch_author_fk FOREIGN KEY (author) REFERENCES person(id);
20716
7675.1121.53 by Stuart Bishop
New baseline
20717
3691.17.3 by Stuart Bishop
New database baseline
20718
ALTER TABLE ONLY branch
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20719
    ADD CONSTRAINT branch_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
20720
7675.1121.53 by Stuart Bishop
New baseline
20721
20722
ALTER TABLE ONLY incrementaldiff
20723
    ADD CONSTRAINT branch_merge_proposal_fk FOREIGN KEY (branch_merge_proposal) REFERENCES branchmergeproposal(id) ON DELETE CASCADE;
20724
20725
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20726
ALTER TABLE ONLY branch
7675.1121.53 by Stuart Bishop
New baseline
20727
    ADD CONSTRAINT branch_merge_queue_fkey FOREIGN KEY (merge_queue) REFERENCES branchmergequeue(id);
20728
5529.1.3 by Stuart Bishop
New database schema baseline
20729
20730
ALTER TABLE ONLY branch
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20731
    ADD CONSTRAINT branch_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20732
7675.1121.53 by Stuart Bishop
New baseline
20733
3691.17.3 by Stuart Bishop
New database baseline
20734
ALTER TABLE ONLY branch
20735
    ADD CONSTRAINT branch_product_fk FOREIGN KEY (product) REFERENCES product(id);
20736
7675.1121.53 by Stuart Bishop
New baseline
20737
5529.1.3 by Stuart Bishop
New database schema baseline
20738
ALTER TABLE ONLY branch
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20739
    ADD CONSTRAINT branch_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20740
7675.1121.53 by Stuart Bishop
New baseline
20741
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20742
ALTER TABLE ONLY branch
5529.1.3 by Stuart Bishop
New database schema baseline
20743
    ADD CONSTRAINT branch_reviewer_fkey FOREIGN KEY (reviewer) REFERENCES person(id);
20744
7675.1121.53 by Stuart Bishop
New baseline
20745
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20746
ALTER TABLE ONLY branch
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20747
    ADD CONSTRAINT branch_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
20748
7675.1121.53 by Stuart Bishop
New baseline
20749
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20750
ALTER TABLE ONLY branch
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20751
    ADD CONSTRAINT branch_stacked_on_fkey FOREIGN KEY (stacked_on) REFERENCES branch(id);
20752
7675.1121.53 by Stuart Bishop
New baseline
20753
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20754
ALTER TABLE ONLY branchjob
20755
    ADD CONSTRAINT branchjob_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
20756
7675.1121.53 by Stuart Bishop
New baseline
20757
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20758
ALTER TABLE ONLY branchjob
20759
    ADD CONSTRAINT branchjob_job_fkey FOREIGN KEY (job) REFERENCES job(id) ON DELETE CASCADE;
20760
7675.1121.53 by Stuart Bishop
New baseline
20761
4990.1.1 by Stuart Bishop
New database baseline
20762
ALTER TABLE ONLY branchmergeproposal
20763
    ADD CONSTRAINT branchmergeproposal_dependent_branch_fkey FOREIGN KEY (dependent_branch) REFERENCES branch(id);
20764
7675.1121.53 by Stuart Bishop
New baseline
20765
4990.1.1 by Stuart Bishop
New database baseline
20766
ALTER TABLE ONLY branchmergeproposal
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20767
    ADD CONSTRAINT branchmergeproposal_merge_diff_fkey FOREIGN KEY (merge_diff) REFERENCES previewdiff(id);
20768
7675.1121.53 by Stuart Bishop
New baseline
20769
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20770
ALTER TABLE ONLY branchmergeproposal
5529.1.3 by Stuart Bishop
New database schema baseline
20771
    ADD CONSTRAINT branchmergeproposal_merge_log_file_fkey FOREIGN KEY (merge_log_file) REFERENCES libraryfilealias(id);
20772
7675.1121.53 by Stuart Bishop
New baseline
20773
5529.1.3 by Stuart Bishop
New database schema baseline
20774
ALTER TABLE ONLY branchmergeproposal
4990.1.1 by Stuart Bishop
New database baseline
20775
    ADD CONSTRAINT branchmergeproposal_merge_reporter_fkey FOREIGN KEY (merge_reporter) REFERENCES person(id);
20776
7675.1121.53 by Stuart Bishop
New baseline
20777
4990.1.1 by Stuart Bishop
New database baseline
20778
ALTER TABLE ONLY branchmergeproposal
5529.1.3 by Stuart Bishop
New database schema baseline
20779
    ADD CONSTRAINT branchmergeproposal_merger_fkey FOREIGN KEY (merger) REFERENCES person(id);
20780
7675.1121.53 by Stuart Bishop
New baseline
20781
5529.1.3 by Stuart Bishop
New database schema baseline
20782
ALTER TABLE ONLY branchmergeproposal
20783
    ADD CONSTRAINT branchmergeproposal_queuer_fkey FOREIGN KEY (queuer) REFERENCES person(id);
20784
7675.1121.53 by Stuart Bishop
New baseline
20785
5529.1.3 by Stuart Bishop
New database schema baseline
20786
ALTER TABLE ONLY branchmergeproposal
4990.1.1 by Stuart Bishop
New database baseline
20787
    ADD CONSTRAINT branchmergeproposal_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20788
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20789
20790
ALTER TABLE ONLY branchmergeproposal
5529.1.3 by Stuart Bishop
New database schema baseline
20791
    ADD CONSTRAINT branchmergeproposal_reviewer_fkey FOREIGN KEY (reviewer) REFERENCES person(id);
20792
7675.1121.53 by Stuart Bishop
New baseline
20793
5529.1.3 by Stuart Bishop
New database schema baseline
20794
ALTER TABLE ONLY branchmergeproposal
4990.1.1 by Stuart Bishop
New database baseline
20795
    ADD CONSTRAINT branchmergeproposal_source_branch_fkey FOREIGN KEY (source_branch) REFERENCES branch(id);
20796
7675.1121.53 by Stuart Bishop
New baseline
20797
4990.1.1 by Stuart Bishop
New database baseline
20798
ALTER TABLE ONLY branchmergeproposal
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20799
    ADD CONSTRAINT branchmergeproposal_superseded_by_fkey FOREIGN KEY (superseded_by) REFERENCES branchmergeproposal(id);
20800
7675.1121.53 by Stuart Bishop
New baseline
20801
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20802
ALTER TABLE ONLY branchmergeproposal
4990.1.1 by Stuart Bishop
New database baseline
20803
    ADD CONSTRAINT branchmergeproposal_target_branch_fkey FOREIGN KEY (target_branch) REFERENCES branch(id);
3691.17.3 by Stuart Bishop
New database baseline
20804
7675.1121.53 by Stuart Bishop
New baseline
20805
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20806
ALTER TABLE ONLY branchmergeproposaljob
20807
    ADD CONSTRAINT branchmergeproposaljob_branch_merge_proposal_fkey FOREIGN KEY (branch_merge_proposal) REFERENCES branchmergeproposal(id);
20808
7675.1121.53 by Stuart Bishop
New baseline
20809
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20810
ALTER TABLE ONLY branchmergeproposaljob
20811
    ADD CONSTRAINT branchmergeproposaljob_job_fkey FOREIGN KEY (job) REFERENCES job(id) ON DELETE CASCADE;
20812
7675.1121.53 by Stuart Bishop
New baseline
20813
20814
ALTER TABLE ONLY branchmergequeue
20815
    ADD CONSTRAINT branchmergequeue_owner_fkey FOREIGN KEY (owner) REFERENCES person(id);
20816
20817
20818
ALTER TABLE ONLY branchmergequeue
20819
    ADD CONSTRAINT branchmergequeue_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20820
5529.1.3 by Stuart Bishop
New database schema baseline
20821
4212.1.1 by Stuart Bishop
New database baseline
20822
ALTER TABLE ONLY branchrevision
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20823
    ADD CONSTRAINT branchrevision__branch__fk FOREIGN KEY (branch) REFERENCES branch(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
4212.1.1 by Stuart Bishop
New database baseline
20824
7675.1121.53 by Stuart Bishop
New baseline
20825
4212.1.1 by Stuart Bishop
New database baseline
20826
ALTER TABLE ONLY branchrevision
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20827
    ADD CONSTRAINT branchrevision__revision__fk FOREIGN KEY (revision) REFERENCES revision(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
4212.1.1 by Stuart Bishop
New database baseline
20828
7675.1121.53 by Stuart Bishop
New baseline
20829
3691.17.3 by Stuart Bishop
New database baseline
20830
ALTER TABLE ONLY branchsubscription
20831
    ADD CONSTRAINT branchsubscription_branch_fk FOREIGN KEY (branch) REFERENCES branch(id);
20832
7675.1121.53 by Stuart Bishop
New baseline
20833
3691.17.3 by Stuart Bishop
New database baseline
20834
ALTER TABLE ONLY branchsubscription
20835
    ADD CONSTRAINT branchsubscription_person_fk FOREIGN KEY (person) REFERENCES person(id);
20836
7675.1121.53 by Stuart Bishop
New baseline
20837
7675.395.118 by Stuart Bishop
New database baseline from production
20838
ALTER TABLE ONLY branchsubscription
20839
    ADD CONSTRAINT branchsubscription_subscribed_by_fkey FOREIGN KEY (subscribed_by) REFERENCES person(id);
20840
7675.1121.53 by Stuart Bishop
New baseline
20841
4990.1.1 by Stuart Bishop
New database baseline
20842
ALTER TABLE ONLY branchvisibilitypolicy
20843
    ADD CONSTRAINT branchvisibilitypolicy_product_fkey FOREIGN KEY (product) REFERENCES product(id);
20844
7675.1121.53 by Stuart Bishop
New baseline
20845
4990.1.1 by Stuart Bishop
New database baseline
20846
ALTER TABLE ONLY branchvisibilitypolicy
20847
    ADD CONSTRAINT branchvisibilitypolicy_project_fkey FOREIGN KEY (project) REFERENCES project(id);
20848
7675.1121.53 by Stuart Bishop
New baseline
20849
4990.1.1 by Stuart Bishop
New database baseline
20850
ALTER TABLE ONLY branchvisibilitypolicy
20851
    ADD CONSTRAINT branchvisibilitypolicy_team_fkey FOREIGN KEY (team) REFERENCES person(id);
20852
7675.1121.53 by Stuart Bishop
New baseline
20853
4990.1.1 by Stuart Bishop
New database baseline
20854
ALTER TABLE ONLY bug
20855
    ADD CONSTRAINT bug__who_made_private__fk FOREIGN KEY (who_made_private) REFERENCES person(id);
20856
7675.1121.53 by Stuart Bishop
New baseline
20857
20858
ALTER TABLE ONLY bug
20859
    ADD CONSTRAINT bug_access_policy_fkey FOREIGN KEY (access_policy) REFERENCES accesspolicy(id);
20860
20861
3691.17.3 by Stuart Bishop
New database baseline
20862
ALTER TABLE ONLY bug
20863
    ADD CONSTRAINT bug_duplicateof_fk FOREIGN KEY (duplicateof) REFERENCES bug(id);
20864
7675.1121.53 by Stuart Bishop
New baseline
20865
3691.17.3 by Stuart Bishop
New database baseline
20866
ALTER TABLE ONLY bug
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20867
    ADD CONSTRAINT bug_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
20868
7675.1121.53 by Stuart Bishop
New baseline
20869
7675.395.118 by Stuart Bishop
New database baseline from production
20870
ALTER TABLE ONLY bugactivity
20871
    ADD CONSTRAINT bugactivity__person__fk FOREIGN KEY (person) REFERENCES person(id);
20872
7675.1121.53 by Stuart Bishop
New baseline
20873
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20874
ALTER TABLE ONLY bugaffectsperson
20875
    ADD CONSTRAINT bugaffectsperson_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
20876
7675.1121.53 by Stuart Bishop
New baseline
20877
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20878
ALTER TABLE ONLY bugaffectsperson
20879
    ADD CONSTRAINT bugaffectsperson_person_fkey FOREIGN KEY (person) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
20880
7675.1121.53 by Stuart Bishop
New baseline
20881
3691.17.3 by Stuart Bishop
New database baseline
20882
ALTER TABLE ONLY bugattachment
20883
    ADD CONSTRAINT bugattachment_bug_fk FOREIGN KEY (bug) REFERENCES bug(id);
20884
7675.1121.53 by Stuart Bishop
New baseline
20885
3691.17.3 by Stuart Bishop
New database baseline
20886
ALTER TABLE ONLY bugattachment
20887
    ADD CONSTRAINT bugattachment_libraryfile_fk FOREIGN KEY (libraryfile) REFERENCES libraryfilealias(id);
20888
7675.1121.53 by Stuart Bishop
New baseline
20889
3691.17.3 by Stuart Bishop
New database baseline
20890
ALTER TABLE ONLY bugattachment
20891
    ADD CONSTRAINT bugattachment_message_fk FOREIGN KEY (message) REFERENCES message(id);
20892
7675.1121.53 by Stuart Bishop
New baseline
20893
3691.17.3 by Stuart Bishop
New database baseline
20894
ALTER TABLE ONLY bugbranch
20895
    ADD CONSTRAINT bugbranch_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
20896
7675.1121.53 by Stuart Bishop
New baseline
20897
3691.17.3 by Stuart Bishop
New database baseline
20898
ALTER TABLE ONLY bugbranch
20899
    ADD CONSTRAINT bugbranch_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
20900
7675.1121.53 by Stuart Bishop
New baseline
20901
3691.17.3 by Stuart Bishop
New database baseline
20902
ALTER TABLE ONLY bugbranch
20903
    ADD CONSTRAINT bugbranch_fixed_in_revision_fkey FOREIGN KEY (revision_hint) REFERENCES revision(id);
20904
7675.1121.53 by Stuart Bishop
New baseline
20905
5529.1.3 by Stuart Bishop
New database schema baseline
20906
ALTER TABLE ONLY bugbranch
20907
    ADD CONSTRAINT bugbranch_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
20908
7675.1121.53 by Stuart Bishop
New baseline
20909
3691.17.3 by Stuart Bishop
New database baseline
20910
ALTER TABLE ONLY bugcve
20911
    ADD CONSTRAINT bugcve_bug_fk FOREIGN KEY (bug) REFERENCES bug(id);
20912
7675.1121.53 by Stuart Bishop
New baseline
20913
3691.17.3 by Stuart Bishop
New database baseline
20914
ALTER TABLE ONLY bugcve
20915
    ADD CONSTRAINT bugcve_cve_fk FOREIGN KEY (cve) REFERENCES cve(id);
20916
7675.1121.53 by Stuart Bishop
New baseline
20917
7675.395.118 by Stuart Bishop
New database baseline from production
20918
ALTER TABLE ONLY bugjob
20919
    ADD CONSTRAINT bugjob_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
20920
7675.1121.53 by Stuart Bishop
New baseline
20921
7675.395.118 by Stuart Bishop
New database baseline from production
20922
ALTER TABLE ONLY bugjob
20923
    ADD CONSTRAINT bugjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
20924
7675.1121.53 by Stuart Bishop
New baseline
20925
3691.17.3 by Stuart Bishop
New database baseline
20926
ALTER TABLE ONLY bugmessage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20927
    ADD CONSTRAINT bugmessage__bug__fk FOREIGN KEY (bug) REFERENCES bug(id);
20928
7675.1121.53 by Stuart Bishop
New baseline
20929
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20930
ALTER TABLE ONLY bugmessage
4990.1.1 by Stuart Bishop
New database baseline
20931
    ADD CONSTRAINT bugmessage_bugwatch_fkey FOREIGN KEY (bugwatch) REFERENCES bugwatch(id);
20932
7675.1121.53 by Stuart Bishop
New baseline
20933
4990.1.1 by Stuart Bishop
New database baseline
20934
ALTER TABLE ONLY bugmessage
3691.17.3 by Stuart Bishop
New database baseline
20935
    ADD CONSTRAINT bugmessage_message_fk FOREIGN KEY (message) REFERENCES message(id);
20936
7675.1121.53 by Stuart Bishop
New baseline
20937
20938
ALTER TABLE ONLY bugmute
20939
    ADD CONSTRAINT bugmute_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id) ON DELETE CASCADE;
20940
20941
20942
ALTER TABLE ONLY bugmute
20943
    ADD CONSTRAINT bugmute_person_fkey FOREIGN KEY (person) REFERENCES person(id) ON DELETE CASCADE;
20944
20945
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20946
ALTER TABLE ONLY bugnomination
20947
    ADD CONSTRAINT bugnomination__bug__fk FOREIGN KEY (bug) REFERENCES bug(id);
20948
7675.1121.53 by Stuart Bishop
New baseline
20949
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20950
ALTER TABLE ONLY bugnomination
20951
    ADD CONSTRAINT bugnomination__decider__fk FOREIGN KEY (decider) REFERENCES person(id);
20952
7675.1121.53 by Stuart Bishop
New baseline
20953
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20954
ALTER TABLE ONLY bugnomination
5529.1.3 by Stuart Bishop
New database schema baseline
20955
    ADD CONSTRAINT bugnomination__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20956
7675.1121.53 by Stuart Bishop
New baseline
20957
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20958
ALTER TABLE ONLY bugnomination
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
20959
    ADD CONSTRAINT bugnomination__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20960
7675.1121.53 by Stuart Bishop
New baseline
20961
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
20962
ALTER TABLE ONLY bugnomination
20963
    ADD CONSTRAINT bugnomination__productseries__fk FOREIGN KEY (productseries) REFERENCES productseries(id);
20964
7675.1121.53 by Stuart Bishop
New baseline
20965
20966
ALTER TABLE ONLY bugnotification
20967
    ADD CONSTRAINT bugnotification_activity_fkey FOREIGN KEY (activity) REFERENCES bugactivity(id);
20968
20969
3691.17.3 by Stuart Bishop
New database baseline
20970
ALTER TABLE ONLY bugnotification
20971
    ADD CONSTRAINT bugnotification_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
20972
7675.1121.53 by Stuart Bishop
New baseline
20973
3691.17.3 by Stuart Bishop
New database baseline
20974
ALTER TABLE ONLY bugnotification
20975
    ADD CONSTRAINT bugnotification_message_fkey FOREIGN KEY (message) REFERENCES message(id);
20976
7675.1121.53 by Stuart Bishop
New baseline
20977
7675.395.118 by Stuart Bishop
New database baseline from production
20978
ALTER TABLE ONLY bugnotificationarchive
20979
    ADD CONSTRAINT bugnotificationarchive__bug__fk FOREIGN KEY (bug) REFERENCES bug(id);
20980
7675.1121.53 by Stuart Bishop
New baseline
20981
7675.395.118 by Stuart Bishop
New database baseline from production
20982
ALTER TABLE ONLY bugnotificationarchive
20983
    ADD CONSTRAINT bugnotificationarchive__message__fk FOREIGN KEY (message) REFERENCES message(id);
20984
7675.1121.53 by Stuart Bishop
New baseline
20985
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20986
ALTER TABLE ONLY bugnotificationattachment
7675.395.118 by Stuart Bishop
New database baseline from production
20987
    ADD CONSTRAINT bugnotificationattachment__bug_notification__fk FOREIGN KEY (bug_notification) REFERENCES bugnotification(id) ON DELETE CASCADE;
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20988
7675.1121.53 by Stuart Bishop
New baseline
20989
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
20990
ALTER TABLE ONLY bugnotificationattachment
20991
    ADD CONSTRAINT bugnotificationattachment_message_fkey FOREIGN KEY (message) REFERENCES message(id);
20992
7675.1121.53 by Stuart Bishop
New baseline
20993
20994
ALTER TABLE ONLY bugnotificationfilter
20995
    ADD CONSTRAINT bugnotificationfilter_bug_notification_fkey FOREIGN KEY (bug_notification) REFERENCES bugnotification(id) ON DELETE CASCADE;
20996
20997
20998
ALTER TABLE ONLY bugnotificationfilter
20999
    ADD CONSTRAINT bugnotificationfilter_bug_subscription_filter_fkey FOREIGN KEY (bug_subscription_filter) REFERENCES bugsubscriptionfilter(id) ON DELETE CASCADE;
21000
21001
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21002
ALTER TABLE ONLY bugnotificationrecipient
7675.395.118 by Stuart Bishop
New database baseline from production
21003
    ADD CONSTRAINT bugnotificationrecipient__bug_notification__fk FOREIGN KEY (bug_notification) REFERENCES bugnotification(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21004
7675.1121.53 by Stuart Bishop
New baseline
21005
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21006
ALTER TABLE ONLY bugnotificationrecipient
21007
    ADD CONSTRAINT bugnotificationrecipient_person_fkey FOREIGN KEY (person) REFERENCES person(id);
21008
7675.1121.53 by Stuart Bishop
New baseline
21009
7675.395.118 by Stuart Bishop
New database baseline from production
21010
ALTER TABLE ONLY bugnotificationrecipientarchive
21011
    ADD CONSTRAINT bugnotificationrecipientarchive__bug_notification__fk FOREIGN KEY (bug_notification) REFERENCES bugnotificationarchive(id);
21012
7675.1121.53 by Stuart Bishop
New baseline
21013
7675.395.118 by Stuart Bishop
New database baseline from production
21014
ALTER TABLE ONLY bugnotificationrecipientarchive
21015
    ADD CONSTRAINT bugnotificationrecipientarchive__person__fk FOREIGN KEY (person) REFERENCES person(id);
21016
3691.17.3 by Stuart Bishop
New database baseline
21017
5529.1.3 by Stuart Bishop
New database schema baseline
21018
ALTER TABLE ONLY bugsubscription
21019
    ADD CONSTRAINT bugsubscription_subscribed_by_fkey FOREIGN KEY (subscribed_by) REFERENCES person(id);
21020
7675.1121.53 by Stuart Bishop
New baseline
21021
21022
ALTER TABLE ONLY bugsubscriptionfilter
21023
    ADD CONSTRAINT bugsubscriptionfilter__structuralsubscription__fk FOREIGN KEY (structuralsubscription) REFERENCES structuralsubscription(id) ON DELETE CASCADE;
21024
21025
21026
ALTER TABLE ONLY bugsubscriptionfilterimportance
21027
    ADD CONSTRAINT bugsubscriptionfilterimportance_filter_fkey FOREIGN KEY (filter) REFERENCES bugsubscriptionfilter(id);
21028
21029
21030
ALTER TABLE ONLY bugsubscriptionfiltermute
21031
    ADD CONSTRAINT bugsubscriptionfiltermute_filter_fkey FOREIGN KEY (filter) REFERENCES bugsubscriptionfilter(id) ON DELETE CASCADE;
21032
21033
21034
ALTER TABLE ONLY bugsubscriptionfiltermute
21035
    ADD CONSTRAINT bugsubscriptionfiltermute_person_fkey FOREIGN KEY (person) REFERENCES person(id) ON DELETE CASCADE;
21036
21037
21038
ALTER TABLE ONLY bugsubscriptionfilterstatus
21039
    ADD CONSTRAINT bugsubscriptionfilterstatus_filter_fkey FOREIGN KEY (filter) REFERENCES bugsubscriptionfilter(id);
21040
21041
21042
ALTER TABLE ONLY bugsubscriptionfiltertag
21043
    ADD CONSTRAINT bugsubscriptionfiltertag_filter_fkey FOREIGN KEY (filter) REFERENCES bugsubscriptionfilter(id);
21044
21045
21046
ALTER TABLE ONLY bugsummary
21047
    ADD CONSTRAINT bugsummary_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id) ON DELETE CASCADE;
21048
21049
21050
ALTER TABLE ONLY bugsummary
21051
    ADD CONSTRAINT bugsummary_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id) ON DELETE CASCADE;
21052
21053
21054
ALTER TABLE ONLY bugsummary
21055
    ADD CONSTRAINT bugsummary_milestone_fkey FOREIGN KEY (milestone) REFERENCES milestone(id) ON DELETE CASCADE;
21056
21057
21058
ALTER TABLE ONLY bugsummary
21059
    ADD CONSTRAINT bugsummary_product_fkey FOREIGN KEY (product) REFERENCES product(id) ON DELETE CASCADE;
21060
21061
21062
ALTER TABLE ONLY bugsummary
21063
    ADD CONSTRAINT bugsummary_productseries_fkey FOREIGN KEY (productseries) REFERENCES productseries(id) ON DELETE CASCADE;
21064
21065
21066
ALTER TABLE ONLY bugsummary
21067
    ADD CONSTRAINT bugsummary_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id) ON DELETE CASCADE;
21068
21069
21070
ALTER TABLE ONLY bugsummaryjournal
21071
    ADD CONSTRAINT bugsummaryjournal_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id) ON DELETE CASCADE;
21072
21073
21074
ALTER TABLE ONLY bugsummaryjournal
21075
    ADD CONSTRAINT bugsummaryjournal_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id) ON DELETE CASCADE;
21076
21077
21078
ALTER TABLE ONLY bugsummaryjournal
21079
    ADD CONSTRAINT bugsummaryjournal_milestone_fkey FOREIGN KEY (milestone) REFERENCES milestone(id) ON DELETE CASCADE;
21080
21081
21082
ALTER TABLE ONLY bugsummaryjournal
21083
    ADD CONSTRAINT bugsummaryjournal_product_fkey FOREIGN KEY (product) REFERENCES product(id) ON DELETE CASCADE;
21084
21085
21086
ALTER TABLE ONLY bugsummaryjournal
21087
    ADD CONSTRAINT bugsummaryjournal_productseries_fkey FOREIGN KEY (productseries) REFERENCES productseries(id) ON DELETE CASCADE;
21088
21089
21090
ALTER TABLE ONLY bugsummaryjournal
21091
    ADD CONSTRAINT bugsummaryjournal_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id) ON DELETE CASCADE;
21092
21093
21094
ALTER TABLE ONLY bugsummary
21095
    ADD CONSTRAINT bugsummaryjournal_viewed_by_fkey FOREIGN KEY (viewed_by) REFERENCES person(id) ON DELETE CASCADE;
21096
21097
5529.1.3 by Stuart Bishop
New database schema baseline
21098
ALTER TABLE ONLY bugtask
21099
    ADD CONSTRAINT bugtask__assignee__fk FOREIGN KEY (assignee) REFERENCES person(id);
21100
7675.1121.53 by Stuart Bishop
New baseline
21101
5529.1.3 by Stuart Bishop
New database schema baseline
21102
ALTER TABLE ONLY bugtask
21103
    ADD CONSTRAINT bugtask__binarypackagename__fk FOREIGN KEY (binarypackagename) REFERENCES binarypackagename(id);
21104
7675.1121.53 by Stuart Bishop
New baseline
21105
5529.1.3 by Stuart Bishop
New database schema baseline
21106
ALTER TABLE ONLY bugtask
21107
    ADD CONSTRAINT bugtask__bug__fk FOREIGN KEY (bug) REFERENCES bug(id);
21108
7675.1121.53 by Stuart Bishop
New baseline
21109
5529.1.3 by Stuart Bishop
New database schema baseline
21110
ALTER TABLE ONLY bugtask
21111
    ADD CONSTRAINT bugtask__bugwatch__fk FOREIGN KEY (bugwatch) REFERENCES bugwatch(id);
21112
7675.1121.53 by Stuart Bishop
New baseline
21113
5529.1.3 by Stuart Bishop
New database schema baseline
21114
ALTER TABLE ONLY bugtask
21115
    ADD CONSTRAINT bugtask__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21116
7675.1121.53 by Stuart Bishop
New baseline
21117
5529.1.3 by Stuart Bishop
New database schema baseline
21118
ALTER TABLE ONLY bugtask
21119
    ADD CONSTRAINT bugtask__distribution__milestone__fk FOREIGN KEY (distribution, milestone) REFERENCES milestone(distribution, id);
21120
7675.1121.53 by Stuart Bishop
New baseline
21121
5529.1.3 by Stuart Bishop
New database schema baseline
21122
ALTER TABLE ONLY bugtask
21123
    ADD CONSTRAINT bugtask__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21124
7675.1121.53 by Stuart Bishop
New baseline
21125
5529.1.3 by Stuart Bishop
New database schema baseline
21126
ALTER TABLE ONLY bugtask
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21127
    ADD CONSTRAINT bugtask__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
5529.1.3 by Stuart Bishop
New database schema baseline
21128
7675.1121.53 by Stuart Bishop
New baseline
21129
5529.1.3 by Stuart Bishop
New database schema baseline
21130
ALTER TABLE ONLY bugtask
21131
    ADD CONSTRAINT bugtask__product__fk FOREIGN KEY (product) REFERENCES product(id);
21132
7675.1121.53 by Stuart Bishop
New baseline
21133
5529.1.3 by Stuart Bishop
New database schema baseline
21134
ALTER TABLE ONLY bugtask
21135
    ADD CONSTRAINT bugtask__product__milestone__fk FOREIGN KEY (product, milestone) REFERENCES milestone(product, id);
21136
7675.1121.53 by Stuart Bishop
New baseline
21137
5529.1.3 by Stuart Bishop
New database schema baseline
21138
ALTER TABLE ONLY bugtask
21139
    ADD CONSTRAINT bugtask__productseries__fk FOREIGN KEY (productseries) REFERENCES productseries(id);
21140
7675.1121.53 by Stuart Bishop
New baseline
21141
5529.1.3 by Stuart Bishop
New database schema baseline
21142
ALTER TABLE ONLY bugtask
21143
    ADD CONSTRAINT bugtask__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
3691.17.3 by Stuart Bishop
New database baseline
21144
7675.1121.53 by Stuart Bishop
New baseline
21145
3691.17.3 by Stuart Bishop
New database baseline
21146
ALTER TABLE ONLY bugtracker
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21147
    ADD CONSTRAINT bugtracker_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21148
7675.1121.53 by Stuart Bishop
New baseline
21149
5529.1.3 by Stuart Bishop
New database schema baseline
21150
ALTER TABLE ONLY bugtrackeralias
21151
    ADD CONSTRAINT bugtrackeralias__bugtracker__fk FOREIGN KEY (bugtracker) REFERENCES bugtracker(id);
21152
7675.1121.53 by Stuart Bishop
New baseline
21153
21154
ALTER TABLE ONLY bugtrackercomponent
21155
    ADD CONSTRAINT bugtrackercomponent_component_group_fkey FOREIGN KEY (component_group) REFERENCES bugtrackercomponentgroup(id);
21156
21157
21158
ALTER TABLE ONLY bugtrackercomponent
21159
    ADD CONSTRAINT bugtrackercomponent_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21160
21161
21162
ALTER TABLE ONLY bugtrackercomponent
21163
    ADD CONSTRAINT bugtrackercomponent_source_package_name_fkey FOREIGN KEY (source_package_name) REFERENCES sourcepackagename(id);
21164
21165
21166
ALTER TABLE ONLY bugtrackercomponentgroup
21167
    ADD CONSTRAINT bugtrackercomponentgroup_bug_tracker_fkey FOREIGN KEY (bug_tracker) REFERENCES bugtracker(id);
21168
21169
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21170
ALTER TABLE ONLY bugtrackerperson
21171
    ADD CONSTRAINT bugtrackerperson_bugtracker_fkey FOREIGN KEY (bugtracker) REFERENCES bugtracker(id);
21172
7675.1121.53 by Stuart Bishop
New baseline
21173
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21174
ALTER TABLE ONLY bugtrackerperson
21175
    ADD CONSTRAINT bugtrackerperson_person_fkey FOREIGN KEY (person) REFERENCES person(id);
21176
7675.1121.53 by Stuart Bishop
New baseline
21177
3691.17.3 by Stuart Bishop
New database baseline
21178
ALTER TABLE ONLY bugwatch
21179
    ADD CONSTRAINT bugwatch_bug_fk FOREIGN KEY (bug) REFERENCES bug(id);
21180
7675.1121.53 by Stuart Bishop
New baseline
21181
3691.17.3 by Stuart Bishop
New database baseline
21182
ALTER TABLE ONLY bugwatch
21183
    ADD CONSTRAINT bugwatch_bugtracker_fk FOREIGN KEY (bugtracker) REFERENCES bugtracker(id);
21184
7675.1121.53 by Stuart Bishop
New baseline
21185
3691.17.3 by Stuart Bishop
New database baseline
21186
ALTER TABLE ONLY bugwatch
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21187
    ADD CONSTRAINT bugwatch_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21188
7675.1121.53 by Stuart Bishop
New baseline
21189
7675.395.118 by Stuart Bishop
New database baseline from production
21190
ALTER TABLE ONLY bugwatchactivity
21191
    ADD CONSTRAINT bugwatchactivity_bug_watch_fkey FOREIGN KEY (bug_watch) REFERENCES bugwatch(id);
21192
7675.1121.53 by Stuart Bishop
New baseline
21193
7675.395.118 by Stuart Bishop
New database baseline from production
21194
ALTER TABLE ONLY buildfarmjob
21195
    ADD CONSTRAINT buildfarmjob__builder__fk FOREIGN KEY (builder) REFERENCES builder(id);
21196
7675.1121.53 by Stuart Bishop
New baseline
21197
7675.395.118 by Stuart Bishop
New database baseline from production
21198
ALTER TABLE ONLY buildfarmjob
21199
    ADD CONSTRAINT buildfarmjob__log__fk FOREIGN KEY (log) REFERENCES libraryfilealias(id);
21200
7675.1121.53 by Stuart Bishop
New baseline
21201
7675.395.118 by Stuart Bishop
New database baseline from production
21202
ALTER TABLE ONLY buildfarmjob
21203
    ADD CONSTRAINT buildfarmjob__processor__fk FOREIGN KEY (processor) REFERENCES processor(id);
21204
7675.1121.53 by Stuart Bishop
New baseline
21205
7675.395.118 by Stuart Bishop
New database baseline from production
21206
ALTER TABLE ONLY buildpackagejob
21207
    ADD CONSTRAINT buildpackagejob__job__fk FOREIGN KEY (job) REFERENCES job(id);
21208
7675.1121.53 by Stuart Bishop
New baseline
21209
7675.395.118 by Stuart Bishop
New database baseline from production
21210
ALTER TABLE ONLY buildpackagejob
21211
    ADD CONSTRAINT buildpackagejob_build_fk FOREIGN KEY (build) REFERENCES binarypackagebuild(id);
21212
7675.1121.53 by Stuart Bishop
New baseline
21213
7675.395.118 by Stuart Bishop
New database baseline from production
21214
ALTER TABLE ONLY buildqueue
21215
    ADD CONSTRAINT buildqueue__job__fk FOREIGN KEY (job) REFERENCES job(id);
21216
7675.1121.53 by Stuart Bishop
New baseline
21217
7675.395.118 by Stuart Bishop
New database baseline from production
21218
ALTER TABLE ONLY buildqueue
21219
    ADD CONSTRAINT buildqueue__processor__fk FOREIGN KEY (processor) REFERENCES processor(id);
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21220
7675.1121.53 by Stuart Bishop
New baseline
21221
4990.1.1 by Stuart Bishop
New database baseline
21222
ALTER TABLE ONLY codeimport
21223
    ADD CONSTRAINT codeimport_assignee_fkey FOREIGN KEY (assignee) REFERENCES person(id);
21224
7675.1121.53 by Stuart Bishop
New baseline
21225
4990.1.1 by Stuart Bishop
New database baseline
21226
ALTER TABLE ONLY codeimport
21227
    ADD CONSTRAINT codeimport_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
21228
7675.1121.53 by Stuart Bishop
New baseline
21229
4990.1.1 by Stuart Bishop
New database baseline
21230
ALTER TABLE ONLY codeimport
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21231
    ADD CONSTRAINT codeimport_owner_fkey FOREIGN KEY (owner) REFERENCES person(id);
4990.1.1 by Stuart Bishop
New database baseline
21232
7675.1121.53 by Stuart Bishop
New baseline
21233
4990.1.1 by Stuart Bishop
New database baseline
21234
ALTER TABLE ONLY codeimport
21235
    ADD CONSTRAINT codeimport_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
21236
7675.1121.53 by Stuart Bishop
New baseline
21237
4990.1.1 by Stuart Bishop
New database baseline
21238
ALTER TABLE ONLY codeimportevent
21239
    ADD CONSTRAINT codeimportevent__code_import__fk FOREIGN KEY (code_import) REFERENCES codeimport(id) ON DELETE CASCADE;
21240
7675.1121.53 by Stuart Bishop
New baseline
21241
4990.1.1 by Stuart Bishop
New database baseline
21242
ALTER TABLE ONLY codeimportevent
21243
    ADD CONSTRAINT codeimportevent__machine__fk FOREIGN KEY (machine) REFERENCES codeimportmachine(id);
21244
7675.1121.53 by Stuart Bishop
New baseline
21245
4990.1.1 by Stuart Bishop
New database baseline
21246
ALTER TABLE ONLY codeimportevent
21247
    ADD CONSTRAINT codeimportevent__person__fk FOREIGN KEY (person) REFERENCES person(id);
21248
7675.1121.53 by Stuart Bishop
New baseline
21249
4990.1.1 by Stuart Bishop
New database baseline
21250
ALTER TABLE ONLY codeimporteventdata
21251
    ADD CONSTRAINT codeimporteventdata__event__fk FOREIGN KEY (event) REFERENCES codeimportevent(id) ON DELETE CASCADE;
21252
7675.1121.53 by Stuart Bishop
New baseline
21253
4990.1.1 by Stuart Bishop
New database baseline
21254
ALTER TABLE ONLY codeimportjob
21255
    ADD CONSTRAINT codeimportjob__code_import__fk FOREIGN KEY (code_import) REFERENCES codeimport(id);
21256
7675.1121.53 by Stuart Bishop
New baseline
21257
4990.1.1 by Stuart Bishop
New database baseline
21258
ALTER TABLE ONLY codeimportjob
21259
    ADD CONSTRAINT codeimportjob__machine__fk FOREIGN KEY (machine) REFERENCES codeimportmachine(id);
21260
7675.1121.53 by Stuart Bishop
New baseline
21261
4990.1.1 by Stuart Bishop
New database baseline
21262
ALTER TABLE ONLY codeimportjob
21263
    ADD CONSTRAINT codeimportjob__requesting_user__fk FOREIGN KEY (requesting_user) REFERENCES person(id);
21264
7675.1121.53 by Stuart Bishop
New baseline
21265
4990.1.1 by Stuart Bishop
New database baseline
21266
ALTER TABLE ONLY codeimportresult
21267
    ADD CONSTRAINT codeimportresult__code_import__fk FOREIGN KEY (code_import) REFERENCES codeimport(id) ON DELETE CASCADE;
21268
7675.1121.53 by Stuart Bishop
New baseline
21269
4990.1.1 by Stuart Bishop
New database baseline
21270
ALTER TABLE ONLY codeimportresult
21271
    ADD CONSTRAINT codeimportresult__log_file__fk FOREIGN KEY (log_file) REFERENCES libraryfilealias(id);
21272
7675.1121.53 by Stuart Bishop
New baseline
21273
4990.1.1 by Stuart Bishop
New database baseline
21274
ALTER TABLE ONLY codeimportresult
21275
    ADD CONSTRAINT codeimportresult__machine__fk FOREIGN KEY (machine) REFERENCES codeimportmachine(id);
21276
7675.1121.53 by Stuart Bishop
New baseline
21277
4990.1.1 by Stuart Bishop
New database baseline
21278
ALTER TABLE ONLY codeimportresult
21279
    ADD CONSTRAINT codeimportresult__requesting_user__fk FOREIGN KEY (requesting_user) REFERENCES person(id);
21280
7675.1121.53 by Stuart Bishop
New baseline
21281
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21282
ALTER TABLE ONLY codereviewmessage
21283
    ADD CONSTRAINT codereviewmessage_branch_merge_proposal_fkey FOREIGN KEY (branch_merge_proposal) REFERENCES branchmergeproposal(id);
21284
7675.1121.53 by Stuart Bishop
New baseline
21285
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21286
ALTER TABLE ONLY codereviewmessage
21287
    ADD CONSTRAINT codereviewmessage_message_fkey FOREIGN KEY (message) REFERENCES message(id);
21288
7675.1121.53 by Stuart Bishop
New baseline
21289
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21290
ALTER TABLE ONLY codereviewvote
21291
    ADD CONSTRAINT codereviewvote_branch_merge_proposal_fkey FOREIGN KEY (branch_merge_proposal) REFERENCES branchmergeproposal(id);
21292
7675.1121.53 by Stuart Bishop
New baseline
21293
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21294
ALTER TABLE ONLY codereviewvote
21295
    ADD CONSTRAINT codereviewvote_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
21296
7675.1121.53 by Stuart Bishop
New baseline
21297
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21298
ALTER TABLE ONLY codereviewvote
21299
    ADD CONSTRAINT codereviewvote_reviewer_fkey FOREIGN KEY (reviewer) REFERENCES person(id);
21300
7675.1121.53 by Stuart Bishop
New baseline
21301
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21302
ALTER TABLE ONLY codereviewvote
21303
    ADD CONSTRAINT codereviewvote_vote_message_fkey FOREIGN KEY (vote_message) REFERENCES codereviewmessage(id);
21304
7675.1121.53 by Stuart Bishop
New baseline
21305
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21306
ALTER TABLE ONLY commercialsubscription
21307
    ADD CONSTRAINT commercialsubscription__product__fk FOREIGN KEY (product) REFERENCES product(id);
21308
7675.1121.53 by Stuart Bishop
New baseline
21309
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21310
ALTER TABLE ONLY commercialsubscription
21311
    ADD CONSTRAINT commercialsubscription__purchaser__fk FOREIGN KEY (purchaser) REFERENCES person(id);
21312
7675.1121.53 by Stuart Bishop
New baseline
21313
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21314
ALTER TABLE ONLY commercialsubscription
21315
    ADD CONSTRAINT commercialsubscription__registrant__fk FOREIGN KEY (registrant) REFERENCES person(id);
21316
7675.1121.53 by Stuart Bishop
New baseline
21317
5529.1.3 by Stuart Bishop
New database schema baseline
21318
ALTER TABLE ONLY componentselection
21319
    ADD CONSTRAINT componentselection__component__fk FOREIGN KEY (component) REFERENCES component(id);
21320
7675.1121.53 by Stuart Bishop
New baseline
21321
5529.1.3 by Stuart Bishop
New database schema baseline
21322
ALTER TABLE ONLY componentselection
21323
    ADD CONSTRAINT componentselection__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21324
7675.1121.53 by Stuart Bishop
New baseline
21325
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21326
ALTER TABLE ONLY customlanguagecode
21327
    ADD CONSTRAINT customlanguagecode_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21328
7675.1121.53 by Stuart Bishop
New baseline
21329
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21330
ALTER TABLE ONLY customlanguagecode
21331
    ADD CONSTRAINT customlanguagecode_language_fkey FOREIGN KEY (language) REFERENCES language(id);
21332
7675.1121.53 by Stuart Bishop
New baseline
21333
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21334
ALTER TABLE ONLY customlanguagecode
21335
    ADD CONSTRAINT customlanguagecode_product_fkey FOREIGN KEY (product) REFERENCES product(id);
21336
7675.1121.53 by Stuart Bishop
New baseline
21337
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21338
ALTER TABLE ONLY customlanguagecode
21339
    ADD CONSTRAINT customlanguagecode_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
21340
7675.1121.53 by Stuart Bishop
New baseline
21341
3691.17.3 by Stuart Bishop
New database baseline
21342
ALTER TABLE ONLY cvereference
21343
    ADD CONSTRAINT cvereference_cve_fk FOREIGN KEY (cve) REFERENCES cve(id);
21344
7675.1121.53 by Stuart Bishop
New baseline
21345
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21346
ALTER TABLE ONLY diff
21347
    ADD CONSTRAINT diff_diff_text_fkey FOREIGN KEY (diff_text) REFERENCES libraryfilealias(id);
21348
7675.1121.53 by Stuart Bishop
New baseline
21349
21350
ALTER TABLE ONLY incrementaldiff
21351
    ADD CONSTRAINT diff_fk FOREIGN KEY (diff) REFERENCES diff(id) ON DELETE CASCADE;
21352
21353
4990.1.1 by Stuart Bishop
New database baseline
21354
ALTER TABLE ONLY distribution
21355
    ADD CONSTRAINT distribution__icon__fk FOREIGN KEY (icon) REFERENCES libraryfilealias(id);
21356
7675.1121.53 by Stuart Bishop
New baseline
21357
4990.1.1 by Stuart Bishop
New database baseline
21358
ALTER TABLE ONLY distribution
21359
    ADD CONSTRAINT distribution__logo__fk FOREIGN KEY (logo) REFERENCES libraryfilealias(id);
21360
7675.1121.53 by Stuart Bishop
New baseline
21361
4990.1.1 by Stuart Bishop
New database baseline
21362
ALTER TABLE ONLY distribution
21363
    ADD CONSTRAINT distribution__mugshot__fk FOREIGN KEY (mugshot) REFERENCES libraryfilealias(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21364
7675.1121.53 by Stuart Bishop
New baseline
21365
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21366
ALTER TABLE ONLY distribution
3691.17.3 by Stuart Bishop
New database baseline
21367
    ADD CONSTRAINT distribution_driver_fk FOREIGN KEY (driver) REFERENCES person(id);
21368
7675.1121.53 by Stuart Bishop
New baseline
21369
3691.17.3 by Stuart Bishop
New database baseline
21370
ALTER TABLE ONLY distribution
4990.1.1 by Stuart Bishop
New database baseline
21371
    ADD CONSTRAINT distribution_language_pack_admin_fkey FOREIGN KEY (language_pack_admin) REFERENCES person(id);
21372
7675.1121.53 by Stuart Bishop
New baseline
21373
4990.1.1 by Stuart Bishop
New database baseline
21374
ALTER TABLE ONLY distribution
3691.17.3 by Stuart Bishop
New database baseline
21375
    ADD CONSTRAINT distribution_mirror_admin_fkey FOREIGN KEY (mirror_admin) REFERENCES person(id);
21376
7675.1121.53 by Stuart Bishop
New baseline
21377
21378
ALTER TABLE ONLY distribution
21379
    ADD CONSTRAINT distribution_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
21380
21381
3691.17.3 by Stuart Bishop
New database baseline
21382
ALTER TABLE ONLY distribution
21383
    ADD CONSTRAINT distribution_security_contact_fkey FOREIGN KEY (security_contact) REFERENCES person(id);
21384
7675.1121.53 by Stuart Bishop
New baseline
21385
3691.17.3 by Stuart Bishop
New database baseline
21386
ALTER TABLE ONLY distribution
5529.1.3 by Stuart Bishop
New database schema baseline
21387
    ADD CONSTRAINT distribution_translation_focus_fkey FOREIGN KEY (translation_focus) REFERENCES distroseries(id);
3691.17.3 by Stuart Bishop
New database baseline
21388
7675.1121.53 by Stuart Bishop
New baseline
21389
3691.17.3 by Stuart Bishop
New database baseline
21390
ALTER TABLE ONLY distribution
21391
    ADD CONSTRAINT distribution_translationgroup_fk FOREIGN KEY (translationgroup) REFERENCES translationgroup(id);
21392
7675.1121.53 by Stuart Bishop
New baseline
21393
3691.17.3 by Stuart Bishop
New database baseline
21394
ALTER TABLE ONLY distribution
21395
    ADD CONSTRAINT distribution_upload_admin_fk FOREIGN KEY (upload_admin) REFERENCES person(id);
21396
7675.1121.53 by Stuart Bishop
New baseline
21397
21398
ALTER TABLE ONLY distributionjob
21399
    ADD CONSTRAINT distributionjob__job__fk FOREIGN KEY (job) REFERENCES job(id);
21400
21401
21402
ALTER TABLE ONLY distributionjob
21403
    ADD CONSTRAINT distributionjob_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21404
21405
21406
ALTER TABLE ONLY distributionjob
21407
    ADD CONSTRAINT distributionjob_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21408
3691.17.3 by Stuart Bishop
New database baseline
21409
21410
ALTER TABLE ONLY distributionmirror
21411
    ADD CONSTRAINT distributionmirror_country_fkey FOREIGN KEY (country) REFERENCES country(id);
21412
7675.1121.53 by Stuart Bishop
New baseline
21413
3691.17.3 by Stuart Bishop
New database baseline
21414
ALTER TABLE ONLY distributionmirror
21415
    ADD CONSTRAINT distributionmirror_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21416
7675.1121.53 by Stuart Bishop
New baseline
21417
3691.17.3 by Stuart Bishop
New database baseline
21418
ALTER TABLE ONLY distributionmirror
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21419
    ADD CONSTRAINT distributionmirror_owner_fkey FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21420
7675.1121.53 by Stuart Bishop
New baseline
21421
5529.1.3 by Stuart Bishop
New database schema baseline
21422
ALTER TABLE ONLY distributionmirror
21423
    ADD CONSTRAINT distributionmirror_reviewer_fkey FOREIGN KEY (reviewer) REFERENCES person(id);
21424
7675.1121.53 by Stuart Bishop
New baseline
21425
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21426
ALTER TABLE ONLY distributionsourcepackage
21427
    ADD CONSTRAINT distributionpackage__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21428
7675.1121.53 by Stuart Bishop
New baseline
21429
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21430
ALTER TABLE ONLY distributionsourcepackage
21431
    ADD CONSTRAINT distributionpackage__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
21432
7675.1121.53 by Stuart Bishop
New baseline
21433
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21434
ALTER TABLE ONLY distributionsourcepackagecache
7675.395.118 by Stuart Bishop
New database baseline from production
21435
    ADD CONSTRAINT distributionsourcepackagecache__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21436
7675.1121.53 by Stuart Bishop
New baseline
21437
3691.17.3 by Stuart Bishop
New database baseline
21438
ALTER TABLE ONLY distributionsourcepackagecache
21439
    ADD CONSTRAINT distributionsourcepackagecache_distribution_fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21440
7675.1121.53 by Stuart Bishop
New baseline
21441
3691.17.3 by Stuart Bishop
New database baseline
21442
ALTER TABLE ONLY distributionsourcepackagecache
21443
    ADD CONSTRAINT distributionsourcepackagecache_sourcepackagename_fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
21444
7675.1121.53 by Stuart Bishop
New baseline
21445
5529.1.3 by Stuart Bishop
New database schema baseline
21446
ALTER TABLE ONLY distroarchseries
21447
    ADD CONSTRAINT distroarchseries__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21448
7675.1121.53 by Stuart Bishop
New baseline
21449
5529.1.3 by Stuart Bishop
New database schema baseline
21450
ALTER TABLE ONLY distroarchseries
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21451
    ADD CONSTRAINT distroarchseries__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
5529.1.3 by Stuart Bishop
New database schema baseline
21452
7675.1121.53 by Stuart Bishop
New baseline
21453
5529.1.3 by Stuart Bishop
New database schema baseline
21454
ALTER TABLE ONLY distroarchseries
21455
    ADD CONSTRAINT distroarchseries__processorfamily__fk FOREIGN KEY (processorfamily) REFERENCES processorfamily(id);
21456
3691.17.3 by Stuart Bishop
New database baseline
21457
5529.1.3 by Stuart Bishop
New database schema baseline
21458
ALTER TABLE ONLY distroseries
21459
    ADD CONSTRAINT distrorelease_parentrelease_fk FOREIGN KEY (parent_series) REFERENCES distroseries(id);
21460
7675.1121.53 by Stuart Bishop
New baseline
21461
5529.1.3 by Stuart Bishop
New database schema baseline
21462
ALTER TABLE ONLY distroserieslanguage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21463
    ADD CONSTRAINT distroreleaselanguage_language_fk FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
21464
7675.1121.53 by Stuart Bishop
New baseline
21465
5529.1.3 by Stuart Bishop
New database schema baseline
21466
ALTER TABLE ONLY distroseries
21467
    ADD CONSTRAINT distroseries__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21468
7675.1121.53 by Stuart Bishop
New baseline
21469
5529.1.3 by Stuart Bishop
New database schema baseline
21470
ALTER TABLE ONLY distroseries
21471
    ADD CONSTRAINT distroseries__driver__fk FOREIGN KEY (driver) REFERENCES person(id);
21472
7675.1121.53 by Stuart Bishop
New baseline
21473
5529.1.3 by Stuart Bishop
New database schema baseline
21474
ALTER TABLE ONLY distroseries
4990.1.1 by Stuart Bishop
New database baseline
21475
    ADD CONSTRAINT distroseries__language_pack_base__fk FOREIGN KEY (language_pack_base) REFERENCES languagepack(id);
21476
7675.1121.53 by Stuart Bishop
New baseline
21477
5529.1.3 by Stuart Bishop
New database schema baseline
21478
ALTER TABLE ONLY distroseries
4990.1.1 by Stuart Bishop
New database baseline
21479
    ADD CONSTRAINT distroseries__language_pack_delta__fk FOREIGN KEY (language_pack_delta) REFERENCES languagepack(id);
21480
7675.1121.53 by Stuart Bishop
New baseline
21481
5529.1.3 by Stuart Bishop
New database schema baseline
21482
ALTER TABLE ONLY distroseries
4990.1.1 by Stuart Bishop
New database baseline
21483
    ADD CONSTRAINT distroseries__language_pack_proposed__fk FOREIGN KEY (language_pack_proposed) REFERENCES languagepack(id);
3691.17.3 by Stuart Bishop
New database baseline
21484
7675.1121.53 by Stuart Bishop
New baseline
21485
5529.1.3 by Stuart Bishop
New database schema baseline
21486
ALTER TABLE ONLY distroseries
21487
    ADD CONSTRAINT distroseries__nominatedarchindep__fk FOREIGN KEY (nominatedarchindep) REFERENCES distroarchseries(id);
21488
21489
21490
ALTER TABLE ONLY distroseries
21491
    ADD CONSTRAINT distroseries__parent_series__fk FOREIGN KEY (parent_series) REFERENCES distroseries(id);
21492
7675.1121.53 by Stuart Bishop
New baseline
21493
21494
ALTER TABLE ONLY distroseries
21495
    ADD CONSTRAINT distroseries__registrant__fk FOREIGN KEY (registrant) REFERENCES person(id);
21496
21497
21498
ALTER TABLE ONLY packagingjob
21499
    ADD CONSTRAINT distroseries_fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21500
21501
21502
ALTER TABLE ONLY distroseriesdifference
21503
    ADD CONSTRAINT distroseriesdifference__derived_series__fk FOREIGN KEY (derived_series) REFERENCES distroseries(id);
21504
21505
21506
ALTER TABLE ONLY distroseriesdifference
21507
    ADD CONSTRAINT distroseriesdifference__package_diff__fk FOREIGN KEY (package_diff) REFERENCES packagediff(id);
21508
21509
21510
ALTER TABLE ONLY distroseriesdifference
21511
    ADD CONSTRAINT distroseriesdifference__parent_package_diff__fk FOREIGN KEY (parent_package_diff) REFERENCES packagediff(id);
21512
21513
21514
ALTER TABLE ONLY distroseriesdifference
21515
    ADD CONSTRAINT distroseriesdifference__parentseries__fk FOREIGN KEY (parent_series) REFERENCES distroseries(id);
21516
21517
21518
ALTER TABLE ONLY distroseriesdifference
21519
    ADD CONSTRAINT distroseriesdifference__source_package_name__fk FOREIGN KEY (source_package_name) REFERENCES sourcepackagename(id);
21520
21521
21522
ALTER TABLE ONLY distroseriesdifferencemessage
21523
    ADD CONSTRAINT distroseriesdifferencemessage__distro_series_difference__fk FOREIGN KEY (distro_series_difference) REFERENCES distroseriesdifference(id);
21524
21525
21526
ALTER TABLE ONLY distroseriesdifferencemessage
21527
    ADD CONSTRAINT distroseriesdifferencemessage__message__fk FOREIGN KEY (message) REFERENCES message(id);
21528
21529
5529.1.3 by Stuart Bishop
New database schema baseline
21530
ALTER TABLE ONLY distroserieslanguage
21531
    ADD CONSTRAINT distroserieslanguage__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21532
7675.1121.53 by Stuart Bishop
New baseline
21533
5529.1.3 by Stuart Bishop
New database schema baseline
21534
ALTER TABLE ONLY distroserieslanguage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21535
    ADD CONSTRAINT distroserieslanguage__language__fk FOREIGN KEY (language) REFERENCES language(id);
21536
7675.1121.53 by Stuart Bishop
New baseline
21537
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21538
ALTER TABLE ONLY distroseriespackagecache
7675.395.118 by Stuart Bishop
New database baseline from production
21539
    ADD CONSTRAINT distroseriespackagecache__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
5529.1.3 by Stuart Bishop
New database schema baseline
21540
7675.1121.53 by Stuart Bishop
New baseline
21541
5529.1.3 by Stuart Bishop
New database schema baseline
21542
ALTER TABLE ONLY distroseriespackagecache
21543
    ADD CONSTRAINT distroseriespackagecache__binarypackagename__fk FOREIGN KEY (binarypackagename) REFERENCES binarypackagename(id);
21544
7675.1121.53 by Stuart Bishop
New baseline
21545
5529.1.3 by Stuart Bishop
New database schema baseline
21546
ALTER TABLE ONLY distroseriespackagecache
21547
    ADD CONSTRAINT distroseriespackagecache__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21548
7675.1121.53 by Stuart Bishop
New baseline
21549
21550
ALTER TABLE ONLY distroseriesparent
21551
    ADD CONSTRAINT distroseriesparent__derivedseries__fk FOREIGN KEY (derived_series) REFERENCES distroseries(id);
21552
21553
21554
ALTER TABLE ONLY distroseriesparent
21555
    ADD CONSTRAINT distroseriesparent__parentseries__fk FOREIGN KEY (parent_series) REFERENCES distroseries(id);
21556
21557
21558
ALTER TABLE ONLY distroseriesparent
21559
    ADD CONSTRAINT distroseriesparent_component_fkey FOREIGN KEY (component) REFERENCES component(id);
21560
21561
3691.17.3 by Stuart Bishop
New database baseline
21562
ALTER TABLE ONLY emailaddress
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21563
    ADD CONSTRAINT emailaddress__account__fk FOREIGN KEY (account) REFERENCES account(id) ON DELETE SET NULL;
21564
7675.1121.53 by Stuart Bishop
New baseline
21565
7675.395.118 by Stuart Bishop
New database baseline from production
21566
ALTER TABLE ONLY emailaddress
21567
    ADD CONSTRAINT emailaddress__person__fk FOREIGN KEY (person) REFERENCES person(id);
21568
7675.1121.53 by Stuart Bishop
New baseline
21569
4990.1.1 by Stuart Bishop
New database baseline
21570
ALTER TABLE ONLY entitlement
21571
    ADD CONSTRAINT entitlement_approved_by_fkey FOREIGN KEY (approved_by) REFERENCES person(id);
21572
7675.1121.53 by Stuart Bishop
New baseline
21573
4990.1.1 by Stuart Bishop
New database baseline
21574
ALTER TABLE ONLY entitlement
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21575
    ADD CONSTRAINT entitlement_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21576
7675.1121.53 by Stuart Bishop
New baseline
21577
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21578
ALTER TABLE ONLY entitlement
4990.1.1 by Stuart Bishop
New database baseline
21579
    ADD CONSTRAINT entitlement_person_fkey FOREIGN KEY (person) REFERENCES person(id);
21580
7675.1121.53 by Stuart Bishop
New baseline
21581
4990.1.1 by Stuart Bishop
New database baseline
21582
ALTER TABLE ONLY entitlement
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21583
    ADD CONSTRAINT entitlement_product_fkey FOREIGN KEY (product) REFERENCES product(id);
21584
7675.1121.53 by Stuart Bishop
New baseline
21585
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21586
ALTER TABLE ONLY entitlement
21587
    ADD CONSTRAINT entitlement_project_fkey FOREIGN KEY (project) REFERENCES project(id);
21588
7675.1121.53 by Stuart Bishop
New baseline
21589
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21590
ALTER TABLE ONLY entitlement
4990.1.1 by Stuart Bishop
New database baseline
21591
    ADD CONSTRAINT entitlement_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
21592
7675.1121.53 by Stuart Bishop
New baseline
21593
4990.1.1 by Stuart Bishop
New database baseline
21594
ALTER TABLE ONLY faq
21595
    ADD CONSTRAINT faq_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21596
7675.1121.53 by Stuart Bishop
New baseline
21597
4990.1.1 by Stuart Bishop
New database baseline
21598
ALTER TABLE ONLY faq
21599
    ADD CONSTRAINT faq_last_updated_by_fkey FOREIGN KEY (last_updated_by) REFERENCES person(id);
21600
7675.1121.53 by Stuart Bishop
New baseline
21601
4990.1.1 by Stuart Bishop
New database baseline
21602
ALTER TABLE ONLY faq
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21603
    ADD CONSTRAINT faq_owner_fkey FOREIGN KEY (owner) REFERENCES person(id);
4990.1.1 by Stuart Bishop
New database baseline
21604
7675.1121.53 by Stuart Bishop
New baseline
21605
4990.1.1 by Stuart Bishop
New database baseline
21606
ALTER TABLE ONLY faq
21607
    ADD CONSTRAINT faq_product_fkey FOREIGN KEY (product) REFERENCES product(id);
21608
7675.1121.53 by Stuart Bishop
New baseline
21609
5529.1.3 by Stuart Bishop
New database schema baseline
21610
ALTER TABLE ONLY featuredproject
21611
    ADD CONSTRAINT featuredproject_pillar_name_fkey FOREIGN KEY (pillar_name) REFERENCES pillarname(id);
21612
7675.1121.53 by Stuart Bishop
New baseline
21613
21614
ALTER TABLE ONLY featureflagchangelogentry
21615
    ADD CONSTRAINT featureflagchangelogentry_person_fkey FOREIGN KEY (person) REFERENCES person(id);
21616
21617
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21618
ALTER TABLE ONLY flatpackagesetinclusion
21619
    ADD CONSTRAINT flatpackagesetinclusion__child__fk FOREIGN KEY (child) REFERENCES packageset(id);
21620
7675.1121.53 by Stuart Bishop
New baseline
21621
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21622
ALTER TABLE ONLY flatpackagesetinclusion
21623
    ADD CONSTRAINT flatpackagesetinclusion__parent__fk FOREIGN KEY (parent) REFERENCES packageset(id);
21624
7675.1121.53 by Stuart Bishop
New baseline
21625
3691.17.3 by Stuart Bishop
New database baseline
21626
ALTER TABLE ONLY gpgkey
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21627
    ADD CONSTRAINT gpgkey_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21628
7675.1121.53 by Stuart Bishop
New baseline
21629
5529.1.3 by Stuart Bishop
New database schema baseline
21630
ALTER TABLE ONLY hwdevice
21631
    ADD CONSTRAINT hwdevice_bus_vendor_id_fkey FOREIGN KEY (bus_vendor_id) REFERENCES hwvendorid(id);
21632
7675.1121.53 by Stuart Bishop
New baseline
21633
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21634
ALTER TABLE ONLY hwdeviceclass
21635
    ADD CONSTRAINT hwdeviceclass_device_fkey FOREIGN KEY (device) REFERENCES hwdevice(id);
21636
7675.1121.53 by Stuart Bishop
New baseline
21637
5529.1.3 by Stuart Bishop
New database schema baseline
21638
ALTER TABLE ONLY hwdevicedriverlink
21639
    ADD CONSTRAINT hwdevicedriverlink_device_fkey FOREIGN KEY (device) REFERENCES hwdevice(id);
21640
7675.1121.53 by Stuart Bishop
New baseline
21641
5529.1.3 by Stuart Bishop
New database schema baseline
21642
ALTER TABLE ONLY hwdevicedriverlink
21643
    ADD CONSTRAINT hwdevicedriverlink_driver_fkey FOREIGN KEY (driver) REFERENCES hwdriver(id);
21644
7675.1121.53 by Stuart Bishop
New baseline
21645
5529.1.3 by Stuart Bishop
New database schema baseline
21646
ALTER TABLE ONLY hwdevicenamevariant
21647
    ADD CONSTRAINT hwdevicenamevariant_device_fkey FOREIGN KEY (device) REFERENCES hwdevice(id);
21648
7675.1121.53 by Stuart Bishop
New baseline
21649
5529.1.3 by Stuart Bishop
New database schema baseline
21650
ALTER TABLE ONLY hwdevicenamevariant
21651
    ADD CONSTRAINT hwdevicenamevariant_vendor_name_fkey FOREIGN KEY (vendor_name) REFERENCES hwvendorname(id);
21652
7675.1121.53 by Stuart Bishop
New baseline
21653
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21654
ALTER TABLE ONLY hwdmihandle
21655
    ADD CONSTRAINT hwdmihandle_submission_fkey FOREIGN KEY (submission) REFERENCES hwsubmission(id);
21656
7675.1121.53 by Stuart Bishop
New baseline
21657
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21658
ALTER TABLE ONLY hwdmivalue
21659
    ADD CONSTRAINT hwdmivalue_handle_fkey FOREIGN KEY (handle) REFERENCES hwdmihandle(id);
21660
7675.1121.53 by Stuart Bishop
New baseline
21661
4990.1.1 by Stuart Bishop
New database baseline
21662
ALTER TABLE ONLY hwsubmission
5529.1.3 by Stuart Bishop
New database schema baseline
21663
    ADD CONSTRAINT hwsubmission__distroarchseries__fk FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
4990.1.1 by Stuart Bishop
New database baseline
21664
7675.1121.53 by Stuart Bishop
New baseline
21665
4990.1.1 by Stuart Bishop
New database baseline
21666
ALTER TABLE ONLY hwsubmission
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21667
    ADD CONSTRAINT hwsubmission__owned__fk FOREIGN KEY (owner) REFERENCES person(id);
4990.1.1 by Stuart Bishop
New database baseline
21668
7675.1121.53 by Stuart Bishop
New baseline
21669
4990.1.1 by Stuart Bishop
New database baseline
21670
ALTER TABLE ONLY hwsubmission
21671
    ADD CONSTRAINT hwsubmission__raw_submission__fk FOREIGN KEY (raw_submission) REFERENCES libraryfilealias(id);
21672
7675.1121.53 by Stuart Bishop
New baseline
21673
4990.1.1 by Stuart Bishop
New database baseline
21674
ALTER TABLE ONLY hwsubmission
21675
    ADD CONSTRAINT hwsubmission__system_fingerprint__fk FOREIGN KEY (system_fingerprint) REFERENCES hwsystemfingerprint(id);
21676
7675.1121.53 by Stuart Bishop
New baseline
21677
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21678
ALTER TABLE ONLY hwsubmissionbug
21679
    ADD CONSTRAINT hwsubmissionbug_bug_fkey FOREIGN KEY (bug) REFERENCES bug(id);
21680
7675.1121.53 by Stuart Bishop
New baseline
21681
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21682
ALTER TABLE ONLY hwsubmissionbug
21683
    ADD CONSTRAINT hwsubmissionbug_submission_fkey FOREIGN KEY (submission) REFERENCES hwsubmission(id);
21684
7675.1121.53 by Stuart Bishop
New baseline
21685
5529.1.3 by Stuart Bishop
New database schema baseline
21686
ALTER TABLE ONLY hwsubmissiondevice
21687
    ADD CONSTRAINT hwsubmissiondevice_device_driver_link_fkey FOREIGN KEY (device_driver_link) REFERENCES hwdevicedriverlink(id);
21688
7675.1121.53 by Stuart Bishop
New baseline
21689
5529.1.3 by Stuart Bishop
New database schema baseline
21690
ALTER TABLE ONLY hwsubmissiondevice
21691
    ADD CONSTRAINT hwsubmissiondevice_parent_fkey FOREIGN KEY (parent) REFERENCES hwsubmissiondevice(id);
21692
7675.1121.53 by Stuart Bishop
New baseline
21693
5529.1.3 by Stuart Bishop
New database schema baseline
21694
ALTER TABLE ONLY hwsubmissiondevice
21695
    ADD CONSTRAINT hwsubmissiondevice_submission_fkey FOREIGN KEY (submission) REFERENCES hwsubmission(id);
21696
7675.1121.53 by Stuart Bishop
New baseline
21697
5529.1.3 by Stuart Bishop
New database schema baseline
21698
ALTER TABLE ONLY hwtestanswer
21699
    ADD CONSTRAINT hwtestanswer__choice__test__fk FOREIGN KEY (test, choice) REFERENCES hwtestanswerchoice(test, id);
21700
7675.1121.53 by Stuart Bishop
New baseline
21701
5529.1.3 by Stuart Bishop
New database schema baseline
21702
ALTER TABLE ONLY hwtestanswer
21703
    ADD CONSTRAINT hwtestanswer_choice_fkey FOREIGN KEY (choice) REFERENCES hwtestanswerchoice(id);
21704
7675.1121.53 by Stuart Bishop
New baseline
21705
5529.1.3 by Stuart Bishop
New database schema baseline
21706
ALTER TABLE ONLY hwtestanswer
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21707
    ADD CONSTRAINT hwtestanswer_language_fkey FOREIGN KEY (language) REFERENCES language(id);
5529.1.3 by Stuart Bishop
New database schema baseline
21708
7675.1121.53 by Stuart Bishop
New baseline
21709
5529.1.3 by Stuart Bishop
New database schema baseline
21710
ALTER TABLE ONLY hwtestanswer
21711
    ADD CONSTRAINT hwtestanswer_submission_fkey FOREIGN KEY (submission) REFERENCES hwsubmission(id);
21712
7675.1121.53 by Stuart Bishop
New baseline
21713
5529.1.3 by Stuart Bishop
New database schema baseline
21714
ALTER TABLE ONLY hwtestanswer
21715
    ADD CONSTRAINT hwtestanswer_test_fkey FOREIGN KEY (test) REFERENCES hwtest(id);
21716
7675.1121.53 by Stuart Bishop
New baseline
21717
5529.1.3 by Stuart Bishop
New database schema baseline
21718
ALTER TABLE ONLY hwtestanswerchoice
21719
    ADD CONSTRAINT hwtestanswerchoice_test_fkey FOREIGN KEY (test) REFERENCES hwtest(id);
21720
7675.1121.53 by Stuart Bishop
New baseline
21721
5529.1.3 by Stuart Bishop
New database schema baseline
21722
ALTER TABLE ONLY hwtestanswercount
21723
    ADD CONSTRAINT hwtestanswercount_choice_fkey FOREIGN KEY (choice) REFERENCES hwtestanswerchoice(id);
21724
7675.1121.53 by Stuart Bishop
New baseline
21725
5529.1.3 by Stuart Bishop
New database schema baseline
21726
ALTER TABLE ONLY hwtestanswercount
21727
    ADD CONSTRAINT hwtestanswercount_distroarchseries_fkey FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
21728
7675.1121.53 by Stuart Bishop
New baseline
21729
5529.1.3 by Stuart Bishop
New database schema baseline
21730
ALTER TABLE ONLY hwtestanswercount
21731
    ADD CONSTRAINT hwtestanswercount_test_fkey FOREIGN KEY (test) REFERENCES hwtest(id);
21732
7675.1121.53 by Stuart Bishop
New baseline
21733
5529.1.3 by Stuart Bishop
New database schema baseline
21734
ALTER TABLE ONLY hwtestanswercountdevice
21735
    ADD CONSTRAINT hwtestanswercountdevice_answer_fkey FOREIGN KEY (answer) REFERENCES hwtestanswercount(id);
21736
7675.1121.53 by Stuart Bishop
New baseline
21737
5529.1.3 by Stuart Bishop
New database schema baseline
21738
ALTER TABLE ONLY hwtestanswercountdevice
21739
    ADD CONSTRAINT hwtestanswercountdevice_device_driver_fkey FOREIGN KEY (device_driver) REFERENCES hwdevicedriverlink(id);
21740
7675.1121.53 by Stuart Bishop
New baseline
21741
5529.1.3 by Stuart Bishop
New database schema baseline
21742
ALTER TABLE ONLY hwtestanswerdevice
21743
    ADD CONSTRAINT hwtestanswerdevice_answer_fkey FOREIGN KEY (answer) REFERENCES hwtestanswer(id);
21744
7675.1121.53 by Stuart Bishop
New baseline
21745
5529.1.3 by Stuart Bishop
New database schema baseline
21746
ALTER TABLE ONLY hwtestanswerdevice
21747
    ADD CONSTRAINT hwtestanswerdevice_device_driver_fkey FOREIGN KEY (device_driver) REFERENCES hwdevicedriverlink(id);
21748
7675.1121.53 by Stuart Bishop
New baseline
21749
5529.1.3 by Stuart Bishop
New database schema baseline
21750
ALTER TABLE ONLY hwvendorid
21751
    ADD CONSTRAINT hwvendorid_vendor_name_fkey FOREIGN KEY (vendor_name) REFERENCES hwvendorname(id);
21752
7675.1121.53 by Stuart Bishop
New baseline
21753
3691.17.3 by Stuart Bishop
New database baseline
21754
ALTER TABLE ONLY ircid
21755
    ADD CONSTRAINT ircid_person_fk FOREIGN KEY (person) REFERENCES person(id);
21756
7675.1121.53 by Stuart Bishop
New baseline
21757
3691.17.3 by Stuart Bishop
New database baseline
21758
ALTER TABLE ONLY jabberid
21759
    ADD CONSTRAINT jabberid_person_fk FOREIGN KEY (person) REFERENCES person(id);
21760
7675.1121.53 by Stuart Bishop
New baseline
21761
21762
ALTER TABLE ONLY packagingjob
21763
    ADD CONSTRAINT job_fk FOREIGN KEY (job) REFERENCES job(id) ON DELETE CASCADE;
21764
21765
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21766
ALTER TABLE ONLY job
21767
    ADD CONSTRAINT job_requester_fkey FOREIGN KEY (requester) REFERENCES person(id);
21768
7675.1121.53 by Stuart Bishop
New baseline
21769
3691.17.3 by Stuart Bishop
New database baseline
21770
ALTER TABLE ONLY karma
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21771
    ADD CONSTRAINT karma_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21772
7675.1121.53 by Stuart Bishop
New baseline
21773
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21774
ALTER TABLE ONLY karma
3691.17.3 by Stuart Bishop
New database baseline
21775
    ADD CONSTRAINT karma_person_fk FOREIGN KEY (person) REFERENCES person(id);
21776
7675.1121.53 by Stuart Bishop
New baseline
21777
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21778
ALTER TABLE ONLY karma
21779
    ADD CONSTRAINT karma_product_fkey FOREIGN KEY (product) REFERENCES product(id);
21780
7675.1121.53 by Stuart Bishop
New baseline
21781
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21782
ALTER TABLE ONLY karma
21783
    ADD CONSTRAINT karma_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
21784
7675.1121.53 by Stuart Bishop
New baseline
21785
3691.17.3 by Stuart Bishop
New database baseline
21786
ALTER TABLE ONLY karmaaction
21787
    ADD CONSTRAINT karmaaction_category_fk FOREIGN KEY (category) REFERENCES karmacategory(id);
21788
7675.1121.53 by Stuart Bishop
New baseline
21789
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21790
ALTER TABLE ONLY karmacache
21791
    ADD CONSTRAINT karmacache_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
21792
7675.1121.53 by Stuart Bishop
New baseline
21793
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21794
ALTER TABLE ONLY karmacache
21795
    ADD CONSTRAINT karmacache_product_fkey FOREIGN KEY (product) REFERENCES product(id);
21796
7675.1121.53 by Stuart Bishop
New baseline
21797
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21798
ALTER TABLE ONLY karmacache
4212.1.1 by Stuart Bishop
New database baseline
21799
    ADD CONSTRAINT karmacache_project_fkey FOREIGN KEY (project) REFERENCES project(id);
21800
7675.1121.53 by Stuart Bishop
New baseline
21801
4212.1.1 by Stuart Bishop
New database baseline
21802
ALTER TABLE ONLY karmacache
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
21803
    ADD CONSTRAINT karmacache_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
21804
7675.1121.53 by Stuart Bishop
New baseline
21805
3691.17.3 by Stuart Bishop
New database baseline
21806
ALTER TABLE ONLY karmatotalcache
21807
    ADD CONSTRAINT karmatotalcache_person_fk FOREIGN KEY (person) REFERENCES person(id) ON DELETE CASCADE;
21808
7675.1121.53 by Stuart Bishop
New baseline
21809
4990.1.1 by Stuart Bishop
New database baseline
21810
ALTER TABLE ONLY languagepack
21811
    ADD CONSTRAINT languagepack__file__fk FOREIGN KEY (file) REFERENCES libraryfilealias(id);
21812
7675.1121.53 by Stuart Bishop
New baseline
21813
4990.1.1 by Stuart Bishop
New database baseline
21814
ALTER TABLE ONLY languagepack
21815
    ADD CONSTRAINT languagepack__updates__fk FOREIGN KEY (updates) REFERENCES languagepack(id);
21816
7675.1121.53 by Stuart Bishop
New baseline
21817
4990.1.1 by Stuart Bishop
New database baseline
21818
ALTER TABLE ONLY languagepack
5529.1.3 by Stuart Bishop
New database schema baseline
21819
    ADD CONSTRAINT languagepackage__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
4990.1.1 by Stuart Bishop
New database baseline
21820
7675.1121.53 by Stuart Bishop
New baseline
21821
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21822
ALTER TABLE ONLY libraryfiledownloadcount
21823
    ADD CONSTRAINT libraryfiledownloadcount__libraryfilealias__fk FOREIGN KEY (libraryfilealias) REFERENCES libraryfilealias(id) ON DELETE CASCADE;
21824
7675.1121.53 by Stuart Bishop
New baseline
21825
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21826
ALTER TABLE ONLY libraryfiledownloadcount
21827
    ADD CONSTRAINT libraryfiledownloadcount_country_fkey FOREIGN KEY (country) REFERENCES country(id);
21828
7675.1121.53 by Stuart Bishop
New baseline
21829
3691.17.3 by Stuart Bishop
New database baseline
21830
ALTER TABLE ONLY logintoken
21831
    ADD CONSTRAINT logintoken_requester_fk FOREIGN KEY (requester) REFERENCES person(id);
21832
7675.1121.53 by Stuart Bishop
New baseline
21833
4990.1.1 by Stuart Bishop
New database baseline
21834
ALTER TABLE ONLY mailinglist
21835
    ADD CONSTRAINT mailinglist_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
21836
7675.1121.53 by Stuart Bishop
New baseline
21837
4990.1.1 by Stuart Bishop
New database baseline
21838
ALTER TABLE ONLY mailinglist
21839
    ADD CONSTRAINT mailinglist_reviewer_fkey FOREIGN KEY (reviewer) REFERENCES person(id);
21840
7675.1121.53 by Stuart Bishop
New baseline
21841
4990.1.1 by Stuart Bishop
New database baseline
21842
ALTER TABLE ONLY mailinglist
21843
    ADD CONSTRAINT mailinglist_team_fkey FOREIGN KEY (team) REFERENCES person(id);
21844
21845
21846
ALTER TABLE ONLY mailinglistsubscription
7675.395.118 by Stuart Bishop
New database baseline from production
21847
    ADD CONSTRAINT mailinglistsubscription__email_address_fk FOREIGN KEY (email_address) REFERENCES emailaddress(id) ON DELETE CASCADE;
21848
7675.1121.53 by Stuart Bishop
New baseline
21849
7675.395.118 by Stuart Bishop
New database baseline from production
21850
ALTER TABLE ONLY mailinglistsubscription
4990.1.1 by Stuart Bishop
New database baseline
21851
    ADD CONSTRAINT mailinglistsubscription_mailing_list_fkey FOREIGN KEY (mailing_list) REFERENCES mailinglist(id);
21852
7675.1121.53 by Stuart Bishop
New baseline
21853
4990.1.1 by Stuart Bishop
New database baseline
21854
ALTER TABLE ONLY mailinglistsubscription
21855
    ADD CONSTRAINT mailinglistsubscription_person_fkey FOREIGN KEY (person) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21856
4212.1.1 by Stuart Bishop
New database baseline
21857
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21858
ALTER TABLE ONLY mergedirectivejob
21859
    ADD CONSTRAINT mergedirectivejob_job_fkey FOREIGN KEY (job) REFERENCES job(id) ON DELETE CASCADE;
21860
7675.1121.53 by Stuart Bishop
New baseline
21861
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
21862
ALTER TABLE ONLY mergedirectivejob
21863
    ADD CONSTRAINT mergedirectivejob_merge_directive_fkey FOREIGN KEY (merge_directive) REFERENCES libraryfilealias(id);
21864
7675.1121.53 by Stuart Bishop
New baseline
21865
3691.17.3 by Stuart Bishop
New database baseline
21866
ALTER TABLE ONLY message
21867
    ADD CONSTRAINT message_distribution_fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21868
7675.1121.53 by Stuart Bishop
New baseline
21869
3691.17.3 by Stuart Bishop
New database baseline
21870
ALTER TABLE ONLY message
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21871
    ADD CONSTRAINT message_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21872
7675.1121.53 by Stuart Bishop
New baseline
21873
3691.17.3 by Stuart Bishop
New database baseline
21874
ALTER TABLE ONLY message
21875
    ADD CONSTRAINT message_parent_fk FOREIGN KEY (parent) REFERENCES message(id);
21876
7675.1121.53 by Stuart Bishop
New baseline
21877
3691.17.3 by Stuart Bishop
New database baseline
21878
ALTER TABLE ONLY message
21879
    ADD CONSTRAINT message_raw_fk FOREIGN KEY (raw) REFERENCES libraryfilealias(id);
21880
7675.1121.53 by Stuart Bishop
New baseline
21881
4990.1.1 by Stuart Bishop
New database baseline
21882
ALTER TABLE ONLY messageapproval
21883
    ADD CONSTRAINT messageapproval_disposed_by_fkey FOREIGN KEY (disposed_by) REFERENCES person(id);
21884
7675.1121.53 by Stuart Bishop
New baseline
21885
4990.1.1 by Stuart Bishop
New database baseline
21886
ALTER TABLE ONLY messageapproval
21887
    ADD CONSTRAINT messageapproval_mailing_list_fkey FOREIGN KEY (mailing_list) REFERENCES mailinglist(id);
21888
7675.1121.53 by Stuart Bishop
New baseline
21889
4990.1.1 by Stuart Bishop
New database baseline
21890
ALTER TABLE ONLY messageapproval
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21891
    ADD CONSTRAINT messageapproval_message_fkey FOREIGN KEY (message) REFERENCES message(id);
21892
7675.1121.53 by Stuart Bishop
New baseline
21893
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21894
ALTER TABLE ONLY messageapproval
4990.1.1 by Stuart Bishop
New database baseline
21895
    ADD CONSTRAINT messageapproval_posted_by_fkey FOREIGN KEY (posted_by) REFERENCES person(id);
21896
7675.1121.53 by Stuart Bishop
New baseline
21897
4990.1.1 by Stuart Bishop
New database baseline
21898
ALTER TABLE ONLY messageapproval
21899
    ADD CONSTRAINT messageapproval_posted_message_fkey FOREIGN KEY (posted_message) REFERENCES libraryfilealias(id);
21900
7675.1121.53 by Stuart Bishop
New baseline
21901
3691.17.3 by Stuart Bishop
New database baseline
21902
ALTER TABLE ONLY messagechunk
21903
    ADD CONSTRAINT messagechunk_blob_fk FOREIGN KEY (blob) REFERENCES libraryfilealias(id);
21904
7675.1121.53 by Stuart Bishop
New baseline
21905
3691.17.3 by Stuart Bishop
New database baseline
21906
ALTER TABLE ONLY messagechunk
21907
    ADD CONSTRAINT messagechunk_message_fk FOREIGN KEY (message) REFERENCES message(id);
21908
7675.1121.53 by Stuart Bishop
New baseline
21909
3691.17.3 by Stuart Bishop
New database baseline
21910
ALTER TABLE ONLY milestone
5529.1.3 by Stuart Bishop
New database schema baseline
21911
    ADD CONSTRAINT milestone__distroseries__distribution__fk FOREIGN KEY (distroseries, distribution) REFERENCES distroseries(id, distribution);
21912
7675.1121.53 by Stuart Bishop
New baseline
21913
5529.1.3 by Stuart Bishop
New database schema baseline
21914
ALTER TABLE ONLY milestone
21915
    ADD CONSTRAINT milestone__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21916
7675.1121.53 by Stuart Bishop
New baseline
21917
5529.1.3 by Stuart Bishop
New database schema baseline
21918
ALTER TABLE ONLY milestone
3691.17.3 by Stuart Bishop
New database baseline
21919
    ADD CONSTRAINT milestone_distribution_fk FOREIGN KEY (distribution) REFERENCES distribution(id);
21920
7675.1121.53 by Stuart Bishop
New baseline
21921
3691.17.3 by Stuart Bishop
New database baseline
21922
ALTER TABLE ONLY milestone
21923
    ADD CONSTRAINT milestone_product_fk FOREIGN KEY (product) REFERENCES product(id);
21924
7675.1121.53 by Stuart Bishop
New baseline
21925
3691.17.3 by Stuart Bishop
New database baseline
21926
ALTER TABLE ONLY milestone
21927
    ADD CONSTRAINT milestone_product_series_fk FOREIGN KEY (product, productseries) REFERENCES productseries(product, id);
21928
7675.1121.53 by Stuart Bishop
New baseline
21929
3691.17.3 by Stuart Bishop
New database baseline
21930
ALTER TABLE ONLY milestone
21931
    ADD CONSTRAINT milestone_productseries_fk FOREIGN KEY (productseries) REFERENCES productseries(id);
21932
7675.1121.53 by Stuart Bishop
New baseline
21933
3691.17.3 by Stuart Bishop
New database baseline
21934
ALTER TABLE ONLY mirror
21935
    ADD CONSTRAINT mirror_country_fk FOREIGN KEY (country) REFERENCES country(id);
21936
7675.1121.53 by Stuart Bishop
New baseline
21937
3691.17.3 by Stuart Bishop
New database baseline
21938
ALTER TABLE ONLY mirror
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
21939
    ADD CONSTRAINT mirror_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
21940
7675.1121.53 by Stuart Bishop
New baseline
21941
5529.1.3 by Stuart Bishop
New database schema baseline
21942
ALTER TABLE ONLY mirrorcdimagedistroseries
21943
    ADD CONSTRAINT mirrorcdimagedistroseries__distribution_mirror__fk FOREIGN KEY (distribution_mirror) REFERENCES distributionmirror(id);
21944
7675.1121.53 by Stuart Bishop
New baseline
21945
5529.1.3 by Stuart Bishop
New database schema baseline
21946
ALTER TABLE ONLY mirrorcdimagedistroseries
21947
    ADD CONSTRAINT mirrorcdimagedistroseries__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21948
7675.1121.53 by Stuart Bishop
New baseline
21949
5529.1.3 by Stuart Bishop
New database schema baseline
21950
ALTER TABLE ONLY mirrorcontent
21951
    ADD CONSTRAINT mirrorcontent__distroarchseries__fk FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
3691.17.3 by Stuart Bishop
New database baseline
21952
7675.1121.53 by Stuart Bishop
New baseline
21953
3691.17.3 by Stuart Bishop
New database baseline
21954
ALTER TABLE ONLY mirrorcontent
21955
    ADD CONSTRAINT mirrorcontent_component_fk FOREIGN KEY (component) REFERENCES component(id);
21956
7675.1121.53 by Stuart Bishop
New baseline
21957
3691.17.3 by Stuart Bishop
New database baseline
21958
ALTER TABLE ONLY mirrorcontent
21959
    ADD CONSTRAINT mirrorcontent_mirror_fk FOREIGN KEY (mirror) REFERENCES mirror(id);
21960
7675.1121.53 by Stuart Bishop
New baseline
21961
5529.1.3 by Stuart Bishop
New database schema baseline
21962
ALTER TABLE ONLY mirrordistroarchseries
21963
    ADD CONSTRAINT mirrordistroarchseries__component__fk FOREIGN KEY (component) REFERENCES component(id);
21964
7675.1121.53 by Stuart Bishop
New baseline
21965
5529.1.3 by Stuart Bishop
New database schema baseline
21966
ALTER TABLE ONLY mirrordistroarchseries
21967
    ADD CONSTRAINT mirrordistroarchseries__distribution_mirror__fk FOREIGN KEY (distribution_mirror) REFERENCES distributionmirror(id);
21968
7675.1121.53 by Stuart Bishop
New baseline
21969
5529.1.3 by Stuart Bishop
New database schema baseline
21970
ALTER TABLE ONLY mirrordistroarchseries
21971
    ADD CONSTRAINT mirrordistroarchseries__distroarchseries__fk FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
21972
7675.1121.53 by Stuart Bishop
New baseline
21973
5529.1.3 by Stuart Bishop
New database schema baseline
21974
ALTER TABLE ONLY mirrordistroseriessource
21975
    ADD CONSTRAINT mirrordistroseriessource__component__fk FOREIGN KEY (component) REFERENCES component(id);
21976
7675.1121.53 by Stuart Bishop
New baseline
21977
5529.1.3 by Stuart Bishop
New database schema baseline
21978
ALTER TABLE ONLY mirrordistroseriessource
21979
    ADD CONSTRAINT mirrordistroseriessource__distribution_mirror__fk FOREIGN KEY (distribution_mirror) REFERENCES distributionmirror(id);
21980
7675.1121.53 by Stuart Bishop
New baseline
21981
5529.1.3 by Stuart Bishop
New database schema baseline
21982
ALTER TABLE ONLY mirrordistroseriessource
21983
    ADD CONSTRAINT mirrordistroseriessource__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
3691.17.3 by Stuart Bishop
New database baseline
21984
7675.1121.53 by Stuart Bishop
New baseline
21985
3691.17.3 by Stuart Bishop
New database baseline
21986
ALTER TABLE ONLY mirrorproberecord
21987
    ADD CONSTRAINT mirrorproberecord_distribution_mirror_fkey FOREIGN KEY (distribution_mirror) REFERENCES distributionmirror(id);
21988
7675.1121.53 by Stuart Bishop
New baseline
21989
3691.17.3 by Stuart Bishop
New database baseline
21990
ALTER TABLE ONLY mirrorproberecord
21991
    ADD CONSTRAINT mirrorproberecord_log_file_fkey FOREIGN KEY (log_file) REFERENCES libraryfilealias(id);
21992
7675.1121.53 by Stuart Bishop
New baseline
21993
3691.17.3 by Stuart Bishop
New database baseline
21994
ALTER TABLE ONLY mirrorsourcecontent
5529.1.3 by Stuart Bishop
New database schema baseline
21995
    ADD CONSTRAINT mirrorsourcecontent__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
21996
7675.1121.53 by Stuart Bishop
New baseline
21997
5529.1.3 by Stuart Bishop
New database schema baseline
21998
ALTER TABLE ONLY mirrorsourcecontent
3691.17.3 by Stuart Bishop
New database baseline
21999
    ADD CONSTRAINT mirrorsourcecontent_component_fk FOREIGN KEY (component) REFERENCES component(id);
22000
7675.1121.53 by Stuart Bishop
New baseline
22001
3691.17.3 by Stuart Bishop
New database baseline
22002
ALTER TABLE ONLY mirrorsourcecontent
22003
    ADD CONSTRAINT mirrorsourcecontent_mirror_fk FOREIGN KEY (mirror) REFERENCES mirror(id);
22004
7675.1121.53 by Stuart Bishop
New baseline
22005
22006
ALTER TABLE ONLY nameblacklist
22007
    ADD CONSTRAINT nameblacklist_admin_fk FOREIGN KEY (admin) REFERENCES person(id);
22008
22009
22010
ALTER TABLE ONLY incrementaldiff
22011
    ADD CONSTRAINT new_revision_fk FOREIGN KEY (new_revision) REFERENCES revision(id) ON DELETE CASCADE;
22012
22013
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22014
ALTER TABLE ONLY oauthaccesstoken
22015
    ADD CONSTRAINT oauthaccesstoken_consumer_fkey FOREIGN KEY (consumer) REFERENCES oauthconsumer(id);
22016
7675.1121.53 by Stuart Bishop
New baseline
22017
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22018
ALTER TABLE ONLY oauthaccesstoken
22019
    ADD CONSTRAINT oauthaccesstoken_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
22020
7675.1121.53 by Stuart Bishop
New baseline
22021
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22022
ALTER TABLE ONLY oauthaccesstoken
22023
    ADD CONSTRAINT oauthaccesstoken_person_fkey FOREIGN KEY (person) REFERENCES person(id);
22024
7675.1121.53 by Stuart Bishop
New baseline
22025
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22026
ALTER TABLE ONLY oauthaccesstoken
22027
    ADD CONSTRAINT oauthaccesstoken_product_fkey FOREIGN KEY (product) REFERENCES product(id);
22028
7675.1121.53 by Stuart Bishop
New baseline
22029
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22030
ALTER TABLE ONLY oauthaccesstoken
22031
    ADD CONSTRAINT oauthaccesstoken_project_fkey FOREIGN KEY (project) REFERENCES project(id);
22032
7675.1121.53 by Stuart Bishop
New baseline
22033
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22034
ALTER TABLE ONLY oauthaccesstoken
22035
    ADD CONSTRAINT oauthaccesstoken_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22036
7675.1121.53 by Stuart Bishop
New baseline
22037
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22038
ALTER TABLE ONLY oauthnonce
7675.395.118 by Stuart Bishop
New database baseline from production
22039
    ADD CONSTRAINT oauthnonce__access_token__fk FOREIGN KEY (access_token) REFERENCES oauthaccesstoken(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22040
7675.1121.53 by Stuart Bishop
New baseline
22041
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22042
ALTER TABLE ONLY oauthrequesttoken
22043
    ADD CONSTRAINT oauthrequesttoken_consumer_fkey FOREIGN KEY (consumer) REFERENCES oauthconsumer(id);
22044
7675.1121.53 by Stuart Bishop
New baseline
22045
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22046
ALTER TABLE ONLY oauthrequesttoken
22047
    ADD CONSTRAINT oauthrequesttoken_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
22048
7675.1121.53 by Stuart Bishop
New baseline
22049
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22050
ALTER TABLE ONLY oauthrequesttoken
22051
    ADD CONSTRAINT oauthrequesttoken_person_fkey FOREIGN KEY (person) REFERENCES person(id);
22052
7675.1121.53 by Stuart Bishop
New baseline
22053
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22054
ALTER TABLE ONLY oauthrequesttoken
22055
    ADD CONSTRAINT oauthrequesttoken_product_fkey FOREIGN KEY (product) REFERENCES product(id);
22056
7675.1121.53 by Stuart Bishop
New baseline
22057
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22058
ALTER TABLE ONLY oauthrequesttoken
22059
    ADD CONSTRAINT oauthrequesttoken_project_fkey FOREIGN KEY (project) REFERENCES project(id);
22060
7675.1121.53 by Stuart Bishop
New baseline
22061
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22062
ALTER TABLE ONLY oauthrequesttoken
22063
    ADD CONSTRAINT oauthrequesttoken_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22064
7675.1121.53 by Stuart Bishop
New baseline
22065
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22066
ALTER TABLE ONLY officialbugtag
22067
    ADD CONSTRAINT officialbugtag_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
22068
7675.1121.53 by Stuart Bishop
New baseline
22069
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22070
ALTER TABLE ONLY officialbugtag
22071
    ADD CONSTRAINT officialbugtag_product_fkey FOREIGN KEY (product) REFERENCES product(id);
22072
7675.1121.53 by Stuart Bishop
New baseline
22073
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22074
ALTER TABLE ONLY officialbugtag
22075
    ADD CONSTRAINT officialbugtag_project_fkey FOREIGN KEY (project) REFERENCES project(id);
22076
7675.1121.53 by Stuart Bishop
New baseline
22077
22078
ALTER TABLE ONLY incrementaldiff
22079
    ADD CONSTRAINT old_revision_fk FOREIGN KEY (old_revision) REFERENCES revision(id) ON DELETE CASCADE;
22080
22081
22082
ALTER TABLE ONLY openididentifier
22083
    ADD CONSTRAINT openididentifier_account_fkey FOREIGN KEY (account) REFERENCES account(id) ON DELETE CASCADE;
22084
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22085
7675.395.118 by Stuart Bishop
New database baseline from production
22086
ALTER TABLE ONLY packagebuild
22087
    ADD CONSTRAINT packagebuild__archive__fk FOREIGN KEY (archive) REFERENCES archive(id);
22088
7675.1121.53 by Stuart Bishop
New baseline
22089
7675.395.118 by Stuart Bishop
New database baseline from production
22090
ALTER TABLE ONLY packagebuild
22091
    ADD CONSTRAINT packagebuild__build_farm_job__fk FOREIGN KEY (build_farm_job) REFERENCES buildfarmjob(id);
22092
7675.1121.53 by Stuart Bishop
New baseline
22093
7675.395.118 by Stuart Bishop
New database baseline from production
22094
ALTER TABLE ONLY packagebuild
22095
    ADD CONSTRAINT packagebuild__log__fk FOREIGN KEY (upload_log) REFERENCES libraryfilealias(id);
22096
7675.1121.53 by Stuart Bishop
New baseline
22097
22098
ALTER TABLE ONLY packagecopyjob
22099
    ADD CONSTRAINT packagecopyjob__job__fk FOREIGN KEY (job) REFERENCES job(id);
22100
22101
22102
ALTER TABLE ONLY packagecopyjob
22103
    ADD CONSTRAINT packagecopyjob_source_archive_fkey FOREIGN KEY (source_archive) REFERENCES archive(id);
22104
22105
22106
ALTER TABLE ONLY packagecopyjob
22107
    ADD CONSTRAINT packagecopyjob_target_archive_fkey FOREIGN KEY (target_archive) REFERENCES archive(id);
22108
22109
22110
ALTER TABLE ONLY packagecopyjob
22111
    ADD CONSTRAINT packagecopyjob_target_distroseries_fkey FOREIGN KEY (target_distroseries) REFERENCES distroseries(id);
22112
22113
7675.395.118 by Stuart Bishop
New database baseline from production
22114
ALTER TABLE ONLY packagecopyrequest
22115
    ADD CONSTRAINT packagecopyrequest__sourcearchive__fk FOREIGN KEY (source_archive) REFERENCES archive(id) ON DELETE CASCADE;
22116
7675.1121.53 by Stuart Bishop
New baseline
22117
7675.395.118 by Stuart Bishop
New database baseline from production
22118
ALTER TABLE ONLY packagecopyrequest
22119
    ADD CONSTRAINT packagecopyrequest__targetarchive__fk FOREIGN KEY (target_archive) REFERENCES archive(id) ON DELETE CASCADE;
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22120
7675.1121.53 by Stuart Bishop
New baseline
22121
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22122
ALTER TABLE ONLY packagecopyrequest
22123
    ADD CONSTRAINT packagecopyrequest_requester_fk FOREIGN KEY (requester) REFERENCES person(id);
22124
7675.1121.53 by Stuart Bishop
New baseline
22125
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22126
ALTER TABLE ONLY packagecopyrequest
22127
    ADD CONSTRAINT packagecopyrequest_sourcecomponent_fk FOREIGN KEY (source_component) REFERENCES component(id);
22128
7675.1121.53 by Stuart Bishop
New baseline
22129
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22130
ALTER TABLE ONLY packagecopyrequest
22131
    ADD CONSTRAINT packagecopyrequest_sourcedistroseries_fk FOREIGN KEY (source_distroseries) REFERENCES distroseries(id);
22132
7675.1121.53 by Stuart Bishop
New baseline
22133
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22134
ALTER TABLE ONLY packagecopyrequest
22135
    ADD CONSTRAINT packagecopyrequest_targetcomponent_fk FOREIGN KEY (target_component) REFERENCES component(id);
22136
7675.1121.53 by Stuart Bishop
New baseline
22137
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22138
ALTER TABLE ONLY packagecopyrequest
22139
    ADD CONSTRAINT packagecopyrequest_targetdistroseries_fk FOREIGN KEY (target_distroseries) REFERENCES distroseries(id);
22140
7675.1121.53 by Stuart Bishop
New baseline
22141
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22142
ALTER TABLE ONLY packagediff
22143
    ADD CONSTRAINT packagediff_diff_content_fkey FOREIGN KEY (diff_content) REFERENCES libraryfilealias(id);
22144
7675.1121.53 by Stuart Bishop
New baseline
22145
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22146
ALTER TABLE ONLY packagediff
22147
    ADD CONSTRAINT packagediff_from_source_fkey FOREIGN KEY (from_source) REFERENCES sourcepackagerelease(id);
22148
7675.1121.53 by Stuart Bishop
New baseline
22149
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22150
ALTER TABLE ONLY packagediff
22151
    ADD CONSTRAINT packagediff_requester_fkey FOREIGN KEY (requester) REFERENCES person(id);
22152
7675.1121.53 by Stuart Bishop
New baseline
22153
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22154
ALTER TABLE ONLY packagediff
22155
    ADD CONSTRAINT packagediff_to_source_fkey FOREIGN KEY (to_source) REFERENCES sourcepackagerelease(id);
22156
5529.1.3 by Stuart Bishop
New database schema baseline
22157
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22158
ALTER TABLE ONLY packageset
7675.395.118 by Stuart Bishop
New database baseline from production
22159
    ADD CONSTRAINT packageset__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22160
7675.1121.53 by Stuart Bishop
New baseline
22161
7675.395.118 by Stuart Bishop
New database baseline from production
22162
ALTER TABLE ONLY packageset
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22163
    ADD CONSTRAINT packageset__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
22164
7675.1121.53 by Stuart Bishop
New baseline
22165
7675.395.118 by Stuart Bishop
New database baseline from production
22166
ALTER TABLE ONLY packageset
22167
    ADD CONSTRAINT packageset__packagesetgroup__fk FOREIGN KEY (packagesetgroup) REFERENCES packagesetgroup(id);
22168
7675.1121.53 by Stuart Bishop
New baseline
22169
7675.395.118 by Stuart Bishop
New database baseline from production
22170
ALTER TABLE ONLY packagesetgroup
22171
    ADD CONSTRAINT packagesetgroup__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
22172
7675.1121.53 by Stuart Bishop
New baseline
22173
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22174
ALTER TABLE ONLY packagesetinclusion
22175
    ADD CONSTRAINT packagesetinclusion__child__fk FOREIGN KEY (child) REFERENCES packageset(id);
22176
7675.1121.53 by Stuart Bishop
New baseline
22177
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22178
ALTER TABLE ONLY packagesetinclusion
22179
    ADD CONSTRAINT packagesetinclusion__parent__fk FOREIGN KEY (parent) REFERENCES packageset(id);
22180
7675.1121.53 by Stuart Bishop
New baseline
22181
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22182
ALTER TABLE ONLY packagesetsources
22183
    ADD CONSTRAINT packagesetsources__packageset__fk FOREIGN KEY (packageset) REFERENCES packageset(id);
22184
7675.1121.53 by Stuart Bishop
New baseline
22185
4990.1.1 by Stuart Bishop
New database baseline
22186
ALTER TABLE ONLY packageupload
7675.395.118 by Stuart Bishop
New database baseline from production
22187
    ADD CONSTRAINT packageupload__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
4990.1.1 by Stuart Bishop
New database baseline
22188
7675.1121.53 by Stuart Bishop
New baseline
22189
4990.1.1 by Stuart Bishop
New database baseline
22190
ALTER TABLE ONLY packageupload
22191
    ADD CONSTRAINT packageupload__changesfile__fk FOREIGN KEY (changesfile) REFERENCES libraryfilealias(id);
22192
7675.1121.53 by Stuart Bishop
New baseline
22193
4990.1.1 by Stuart Bishop
New database baseline
22194
ALTER TABLE ONLY packageupload
5529.1.3 by Stuart Bishop
New database schema baseline
22195
    ADD CONSTRAINT packageupload__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
4990.1.1 by Stuart Bishop
New database baseline
22196
7675.1121.53 by Stuart Bishop
New baseline
22197
22198
ALTER TABLE ONLY packageupload
22199
    ADD CONSTRAINT packageupload__package_copy_job__fk FOREIGN KEY (package_copy_job) REFERENCES packagecopyjob(id);
22200
22201
4990.1.1 by Stuart Bishop
New database baseline
22202
ALTER TABLE ONLY packageupload
22203
    ADD CONSTRAINT packageupload__signing_key__fk FOREIGN KEY (signing_key) REFERENCES gpgkey(id);
22204
7675.1121.53 by Stuart Bishop
New baseline
22205
4990.1.1 by Stuart Bishop
New database baseline
22206
ALTER TABLE ONLY packageuploadbuild
7675.395.118 by Stuart Bishop
New database baseline from production
22207
    ADD CONSTRAINT packageuploadbuild__packageupload__fk FOREIGN KEY (packageupload) REFERENCES packageupload(id) ON DELETE CASCADE;
4990.1.1 by Stuart Bishop
New database baseline
22208
7675.1121.53 by Stuart Bishop
New baseline
22209
4990.1.1 by Stuart Bishop
New database baseline
22210
ALTER TABLE ONLY packageuploadbuild
7675.395.118 by Stuart Bishop
New database baseline from production
22211
    ADD CONSTRAINT packageuploadbuild_build_fk FOREIGN KEY (build) REFERENCES binarypackagebuild(id);
4990.1.1 by Stuart Bishop
New database baseline
22212
7675.1121.53 by Stuart Bishop
New baseline
22213
4990.1.1 by Stuart Bishop
New database baseline
22214
ALTER TABLE ONLY packageuploadcustom
22215
    ADD CONSTRAINT packageuploadcustom_libraryfilealias_fk FOREIGN KEY (libraryfilealias) REFERENCES libraryfilealias(id);
22216
7675.1121.53 by Stuart Bishop
New baseline
22217
4990.1.1 by Stuart Bishop
New database baseline
22218
ALTER TABLE ONLY packageuploadcustom
22219
    ADD CONSTRAINT packageuploadcustom_packageupload_fk FOREIGN KEY (packageupload) REFERENCES packageupload(id);
22220
7675.1121.53 by Stuart Bishop
New baseline
22221
4990.1.1 by Stuart Bishop
New database baseline
22222
ALTER TABLE ONLY packageuploadsource
7675.395.118 by Stuart Bishop
New database baseline from production
22223
    ADD CONSTRAINT packageuploadsource__packageupload__fk FOREIGN KEY (packageupload) REFERENCES packageupload(id) ON DELETE CASCADE;
4990.1.1 by Stuart Bishop
New database baseline
22224
7675.1121.53 by Stuart Bishop
New baseline
22225
4990.1.1 by Stuart Bishop
New database baseline
22226
ALTER TABLE ONLY packageuploadsource
22227
    ADD CONSTRAINT packageuploadsource__sourcepackagerelease__fk FOREIGN KEY (sourcepackagerelease) REFERENCES sourcepackagerelease(id);
22228
7675.1121.53 by Stuart Bishop
New baseline
22229
3691.17.3 by Stuart Bishop
New database baseline
22230
ALTER TABLE ONLY packaging
5529.1.3 by Stuart Bishop
New database schema baseline
22231
    ADD CONSTRAINT packaging__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
3691.17.3 by Stuart Bishop
New database baseline
22232
7675.1121.53 by Stuart Bishop
New baseline
22233
3691.17.3 by Stuart Bishop
New database baseline
22234
ALTER TABLE ONLY packaging
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22235
    ADD CONSTRAINT packaging_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22236
7675.1121.53 by Stuart Bishop
New baseline
22237
3691.17.3 by Stuart Bishop
New database baseline
22238
ALTER TABLE ONLY packaging
22239
    ADD CONSTRAINT packaging_productseries_fk FOREIGN KEY (productseries) REFERENCES productseries(id);
22240
7675.1121.53 by Stuart Bishop
New baseline
22241
3691.17.3 by Stuart Bishop
New database baseline
22242
ALTER TABLE ONLY packaging
22243
    ADD CONSTRAINT packaging_sourcepackagename_fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22244
7675.1121.53 by Stuart Bishop
New baseline
22245
3691.17.3 by Stuart Bishop
New database baseline
22246
ALTER TABLE ONLY person
7675.395.118 by Stuart Bishop
New database baseline from production
22247
    ADD CONSTRAINT person__account__fk FOREIGN KEY (account) REFERENCES account(id);
22248
7675.1121.53 by Stuart Bishop
New baseline
22249
7675.395.118 by Stuart Bishop
New database baseline from production
22250
ALTER TABLE ONLY person
4990.1.1 by Stuart Bishop
New database baseline
22251
    ADD CONSTRAINT person__icon__fk FOREIGN KEY (icon) REFERENCES libraryfilealias(id);
22252
7675.1121.53 by Stuart Bishop
New baseline
22253
4990.1.1 by Stuart Bishop
New database baseline
22254
ALTER TABLE ONLY person
22255
    ADD CONSTRAINT person__logo__fk FOREIGN KEY (logo) REFERENCES libraryfilealias(id);
22256
7675.1121.53 by Stuart Bishop
New baseline
22257
4990.1.1 by Stuart Bishop
New database baseline
22258
ALTER TABLE ONLY person
22259
    ADD CONSTRAINT person__mugshot__fk FOREIGN KEY (mugshot) REFERENCES libraryfilealias(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22260
7675.1121.53 by Stuart Bishop
New baseline
22261
3691.17.3 by Stuart Bishop
New database baseline
22262
ALTER TABLE ONLY karmacache
22263
    ADD CONSTRAINT person_fk FOREIGN KEY (person) REFERENCES person(id);
22264
7675.1121.53 by Stuart Bishop
New baseline
22265
3691.17.3 by Stuart Bishop
New database baseline
22266
ALTER TABLE ONLY person
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22267
    ADD CONSTRAINT person_language_fk FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
22268
7675.1121.53 by Stuart Bishop
New baseline
22269
3691.17.3 by Stuart Bishop
New database baseline
22270
ALTER TABLE ONLY person
22271
    ADD CONSTRAINT person_merged_fk FOREIGN KEY (merged) REFERENCES person(id);
22272
7675.1121.53 by Stuart Bishop
New baseline
22273
3691.17.3 by Stuart Bishop
New database baseline
22274
ALTER TABLE ONLY person
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22275
    ADD CONSTRAINT person_registrant_fk FOREIGN KEY (registrant) REFERENCES person(id);
22276
7675.1121.53 by Stuart Bishop
New baseline
22277
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22278
ALTER TABLE ONLY person
3691.17.3 by Stuart Bishop
New database baseline
22279
    ADD CONSTRAINT person_teamowner_fk FOREIGN KEY (teamowner) REFERENCES person(id);
22280
7675.1121.53 by Stuart Bishop
New baseline
22281
3691.17.3 by Stuart Bishop
New database baseline
22282
ALTER TABLE ONLY personlanguage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22283
    ADD CONSTRAINT personlanguage_language_fk FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
22284
7675.1121.53 by Stuart Bishop
New baseline
22285
3691.17.3 by Stuart Bishop
New database baseline
22286
ALTER TABLE ONLY personlanguage
22287
    ADD CONSTRAINT personlanguage_person_fk FOREIGN KEY (person) REFERENCES person(id);
22288
7675.1121.53 by Stuart Bishop
New baseline
22289
5529.1.3 by Stuart Bishop
New database schema baseline
22290
ALTER TABLE ONLY personlocation
22291
    ADD CONSTRAINT personlocation_last_modified_by_fkey FOREIGN KEY (last_modified_by) REFERENCES person(id);
22292
7675.1121.53 by Stuart Bishop
New baseline
22293
5529.1.3 by Stuart Bishop
New database schema baseline
22294
ALTER TABLE ONLY personlocation
22295
    ADD CONSTRAINT personlocation_person_fkey FOREIGN KEY (person) REFERENCES person(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22296
7675.1121.53 by Stuart Bishop
New baseline
22297
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22298
ALTER TABLE ONLY personnotification
22299
    ADD CONSTRAINT personnotification_person_fkey FOREIGN KEY (person) REFERENCES person(id);
22300
7675.1121.53 by Stuart Bishop
New baseline
22301
22302
ALTER TABLE ONLY personsettings
22303
    ADD CONSTRAINT personsettings_person_fkey FOREIGN KEY (person) REFERENCES person(id) ON DELETE CASCADE;
22304
22305
22306
ALTER TABLE ONLY persontransferjob
22307
    ADD CONSTRAINT persontransferjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
22308
22309
22310
ALTER TABLE ONLY persontransferjob
22311
    ADD CONSTRAINT persontransferjob_major_person_fkey FOREIGN KEY (major_person) REFERENCES person(id);
22312
22313
22314
ALTER TABLE ONLY persontransferjob
22315
    ADD CONSTRAINT persontransferjob_minor_person_fkey FOREIGN KEY (minor_person) REFERENCES person(id);
22316
22317
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22318
ALTER TABLE ONLY pillarname
22319
    ADD CONSTRAINT pillarname__alias_for__fk FOREIGN KEY (alias_for) REFERENCES pillarname(id);
22320
7675.1121.53 by Stuart Bishop
New baseline
22321
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22322
ALTER TABLE ONLY pillarname
22323
    ADD CONSTRAINT pillarname_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id) ON DELETE CASCADE;
22324
7675.1121.53 by Stuart Bishop
New baseline
22325
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22326
ALTER TABLE ONLY pillarname
22327
    ADD CONSTRAINT pillarname_product_fkey FOREIGN KEY (product) REFERENCES product(id) ON DELETE CASCADE;
22328
7675.1121.53 by Stuart Bishop
New baseline
22329
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22330
ALTER TABLE ONLY pillarname
22331
    ADD CONSTRAINT pillarname_project_fkey FOREIGN KEY (project) REFERENCES project(id) ON DELETE CASCADE;
22332
7675.1121.53 by Stuart Bishop
New baseline
22333
5529.1.3 by Stuart Bishop
New database schema baseline
22334
ALTER TABLE ONLY pocketchroot
22335
    ADD CONSTRAINT pocketchroot__distroarchseries__fk FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
22336
7675.1121.53 by Stuart Bishop
New baseline
22337
5529.1.3 by Stuart Bishop
New database schema baseline
22338
ALTER TABLE ONLY pocketchroot
22339
    ADD CONSTRAINT pocketchroot__libraryfilealias__fk FOREIGN KEY (chroot) REFERENCES libraryfilealias(id);
22340
7675.1121.53 by Stuart Bishop
New baseline
22341
3691.17.3 by Stuart Bishop
New database baseline
22342
ALTER TABLE ONLY poexportrequest
22343
    ADD CONSTRAINT poeportrequest_potemplate_fk FOREIGN KEY (potemplate) REFERENCES potemplate(id);
22344
7675.1121.53 by Stuart Bishop
New baseline
22345
3691.17.3 by Stuart Bishop
New database baseline
22346
ALTER TABLE ONLY poexportrequest
22347
    ADD CONSTRAINT poexportrequest_person_fk FOREIGN KEY (person) REFERENCES person(id);
22348
7675.1121.53 by Stuart Bishop
New baseline
22349
3691.17.3 by Stuart Bishop
New database baseline
22350
ALTER TABLE ONLY poexportrequest
22351
    ADD CONSTRAINT poexportrequest_pofile_fk FOREIGN KEY (pofile) REFERENCES pofile(id);
22352
7675.1121.53 by Stuart Bishop
New baseline
22353
3691.17.3 by Stuart Bishop
New database baseline
22354
ALTER TABLE ONLY pofile
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22355
    ADD CONSTRAINT pofile_language_fk FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
22356
7675.1121.53 by Stuart Bishop
New baseline
22357
3691.17.3 by Stuart Bishop
New database baseline
22358
ALTER TABLE ONLY pofile
22359
    ADD CONSTRAINT pofile_lasttranslator_fk FOREIGN KEY (lasttranslator) REFERENCES person(id);
22360
7675.1121.53 by Stuart Bishop
New baseline
22361
3691.17.3 by Stuart Bishop
New database baseline
22362
ALTER TABLE ONLY pofile
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22363
    ADD CONSTRAINT pofile_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22364
7675.1121.53 by Stuart Bishop
New baseline
22365
3691.17.3 by Stuart Bishop
New database baseline
22366
ALTER TABLE ONLY pofile
22367
    ADD CONSTRAINT pofile_potemplate_fk FOREIGN KEY (potemplate) REFERENCES potemplate(id);
22368
7675.1121.53 by Stuart Bishop
New baseline
22369
22370
ALTER TABLE ONLY pofilestatsjob
22371
    ADD CONSTRAINT pofilestatsjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
22372
22373
22374
ALTER TABLE ONLY pofilestatsjob
22375
    ADD CONSTRAINT pofilestatsjob_pofile_fkey FOREIGN KEY (pofile) REFERENCES pofile(id);
22376
22377
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22378
ALTER TABLE ONLY pofiletranslator
5529.1.3 by Stuart Bishop
New database schema baseline
22379
    ADD CONSTRAINT pofiletranslator__latest_message__fk FOREIGN KEY (latest_message) REFERENCES translationmessage(id) DEFERRABLE INITIALLY DEFERRED;
22380
7675.1121.53 by Stuart Bishop
New baseline
22381
5529.1.3 by Stuart Bishop
New database schema baseline
22382
ALTER TABLE ONLY pofiletranslator
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22383
    ADD CONSTRAINT pofiletranslator__person__fk FOREIGN KEY (person) REFERENCES person(id);
22384
7675.1121.53 by Stuart Bishop
New baseline
22385
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22386
ALTER TABLE ONLY pofiletranslator
22387
    ADD CONSTRAINT pofiletranslator__pofile__fk FOREIGN KEY (pofile) REFERENCES pofile(id);
22388
7675.1121.53 by Stuart Bishop
New baseline
22389
3691.17.3 by Stuart Bishop
New database baseline
22390
ALTER TABLE ONLY poll
22391
    ADD CONSTRAINT poll_team_fk FOREIGN KEY (team) REFERENCES person(id);
22392
7675.1121.53 by Stuart Bishop
New baseline
22393
5529.1.3 by Stuart Bishop
New database schema baseline
22394
ALTER TABLE ONLY potemplate
22395
    ADD CONSTRAINT potemplate__distrorelease__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22396
7675.1121.53 by Stuart Bishop
New baseline
22397
5529.1.3 by Stuart Bishop
New database schema baseline
22398
ALTER TABLE ONLY potemplate
22399
    ADD CONSTRAINT potemplate__from_sourcepackagename__fk FOREIGN KEY (from_sourcepackagename) REFERENCES sourcepackagename(id);
4212.1.1 by Stuart Bishop
New database baseline
22400
7675.1121.53 by Stuart Bishop
New baseline
22401
4212.1.1 by Stuart Bishop
New database baseline
22402
ALTER TABLE ONLY potemplate
22403
    ADD CONSTRAINT potemplate__source_file__fk FOREIGN KEY (source_file) REFERENCES libraryfilealias(id);
3691.17.3 by Stuart Bishop
New database baseline
22404
7675.1121.53 by Stuart Bishop
New baseline
22405
3691.17.3 by Stuart Bishop
New database baseline
22406
ALTER TABLE ONLY potemplate
22407
    ADD CONSTRAINT potemplate_binarypackagename_fk FOREIGN KEY (binarypackagename) REFERENCES binarypackagename(id);
22408
7675.1121.53 by Stuart Bishop
New baseline
22409
22410
ALTER TABLE ONLY packagingjob
22411
    ADD CONSTRAINT potemplate_fk FOREIGN KEY (potemplate) REFERENCES potemplate(id);
22412
22413
3691.17.3 by Stuart Bishop
New database baseline
22414
ALTER TABLE ONLY potemplate
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22415
    ADD CONSTRAINT potemplate_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22416
7675.1121.53 by Stuart Bishop
New baseline
22417
3691.17.3 by Stuart Bishop
New database baseline
22418
ALTER TABLE ONLY potemplate
22419
    ADD CONSTRAINT potemplate_productseries_fk FOREIGN KEY (productseries) REFERENCES productseries(id);
22420
7675.1121.53 by Stuart Bishop
New baseline
22421
3691.17.3 by Stuart Bishop
New database baseline
22422
ALTER TABLE ONLY potemplate
22423
    ADD CONSTRAINT potemplate_sourcepackagename_fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22424
7675.1121.53 by Stuart Bishop
New baseline
22425
3691.17.3 by Stuart Bishop
New database baseline
22426
ALTER TABLE ONLY potmsgset
5529.1.3 by Stuart Bishop
New database schema baseline
22427
    ADD CONSTRAINT potmsgset__msgid_plural__fk FOREIGN KEY (msgid_plural) REFERENCES pomsgid(id);
22428
7675.1121.53 by Stuart Bishop
New baseline
22429
5529.1.3 by Stuart Bishop
New database schema baseline
22430
ALTER TABLE ONLY potmsgset
3691.17.3 by Stuart Bishop
New database baseline
22431
    ADD CONSTRAINT potmsgset_potemplate_fk FOREIGN KEY (potemplate) REFERENCES potemplate(id);
22432
7675.1121.53 by Stuart Bishop
New baseline
22433
3691.17.3 by Stuart Bishop
New database baseline
22434
ALTER TABLE ONLY potmsgset
5529.1.3 by Stuart Bishop
New database schema baseline
22435
    ADD CONSTRAINT potmsgset_primemsgid_fk FOREIGN KEY (msgid_singular) REFERENCES pomsgid(id);
3691.17.3 by Stuart Bishop
New database baseline
22436
7675.1121.53 by Stuart Bishop
New baseline
22437
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22438
ALTER TABLE ONLY previewdiff
22439
    ADD CONSTRAINT previewdiff_diff_fkey FOREIGN KEY (diff) REFERENCES diff(id) ON DELETE CASCADE;
22440
7675.1121.53 by Stuart Bishop
New baseline
22441
3691.17.3 by Stuart Bishop
New database baseline
22442
ALTER TABLE ONLY product
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22443
    ADD CONSTRAINT product__development_focus__fk FOREIGN KEY (development_focus) REFERENCES productseries(id);
22444
7675.1121.53 by Stuart Bishop
New baseline
22445
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22446
ALTER TABLE ONLY product
4990.1.1 by Stuart Bishop
New database baseline
22447
    ADD CONSTRAINT product__icon__fk FOREIGN KEY (icon) REFERENCES libraryfilealias(id);
22448
7675.1121.53 by Stuart Bishop
New baseline
22449
4990.1.1 by Stuart Bishop
New database baseline
22450
ALTER TABLE ONLY product
22451
    ADD CONSTRAINT product__logo__fk FOREIGN KEY (logo) REFERENCES libraryfilealias(id);
22452
7675.1121.53 by Stuart Bishop
New baseline
22453
4990.1.1 by Stuart Bishop
New database baseline
22454
ALTER TABLE ONLY product
22455
    ADD CONSTRAINT product__mugshot__fk FOREIGN KEY (mugshot) REFERENCES libraryfilealias(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22456
7675.1121.53 by Stuart Bishop
New baseline
22457
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22458
ALTER TABLE ONLY product
7675.395.118 by Stuart Bishop
New database baseline from production
22459
    ADD CONSTRAINT product__translation_focus__fk FOREIGN KEY (translation_focus) REFERENCES productseries(id);
22460
7675.1121.53 by Stuart Bishop
New baseline
22461
7675.395.118 by Stuart Bishop
New database baseline from production
22462
ALTER TABLE ONLY product
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22463
    ADD CONSTRAINT product_bugtracker_fkey FOREIGN KEY (bugtracker) REFERENCES bugtracker(id);
22464
7675.1121.53 by Stuart Bishop
New baseline
22465
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22466
ALTER TABLE ONLY product
3691.17.3 by Stuart Bishop
New database baseline
22467
    ADD CONSTRAINT product_driver_fk FOREIGN KEY (driver) REFERENCES person(id);
22468
7675.1121.53 by Stuart Bishop
New baseline
22469
3691.17.3 by Stuart Bishop
New database baseline
22470
ALTER TABLE ONLY product
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22471
    ADD CONSTRAINT product_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22472
7675.1121.53 by Stuart Bishop
New baseline
22473
3691.17.3 by Stuart Bishop
New database baseline
22474
ALTER TABLE ONLY product
22475
    ADD CONSTRAINT product_project_fk FOREIGN KEY (project) REFERENCES project(id);
22476
7675.1121.53 by Stuart Bishop
New baseline
22477
3691.17.3 by Stuart Bishop
New database baseline
22478
ALTER TABLE ONLY product
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22479
    ADD CONSTRAINT product_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
22480
7675.1121.53 by Stuart Bishop
New baseline
22481
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22482
ALTER TABLE ONLY product
3691.17.3 by Stuart Bishop
New database baseline
22483
    ADD CONSTRAINT product_security_contact_fkey FOREIGN KEY (security_contact) REFERENCES person(id);
22484
7675.1121.53 by Stuart Bishop
New baseline
22485
3691.17.3 by Stuart Bishop
New database baseline
22486
ALTER TABLE ONLY product
22487
    ADD CONSTRAINT product_translationgroup_fk FOREIGN KEY (translationgroup) REFERENCES translationgroup(id);
22488
22489
5529.1.3 by Stuart Bishop
New database schema baseline
22490
ALTER TABLE ONLY productlicense
22491
    ADD CONSTRAINT productlicense_product_fkey FOREIGN KEY (product) REFERENCES product(id);
22492
7675.1121.53 by Stuart Bishop
New baseline
22493
3691.17.3 by Stuart Bishop
New database baseline
22494
ALTER TABLE ONLY productrelease
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22495
    ADD CONSTRAINT productrelease_milestone_fkey FOREIGN KEY (milestone) REFERENCES milestone(id);
22496
7675.1121.53 by Stuart Bishop
New baseline
22497
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22498
ALTER TABLE ONLY productrelease
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22499
    ADD CONSTRAINT productrelease_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22500
7675.1121.53 by Stuart Bishop
New baseline
22501
4990.1.1 by Stuart Bishop
New database baseline
22502
ALTER TABLE ONLY productreleasefile
5529.1.3 by Stuart Bishop
New database schema baseline
22503
    ADD CONSTRAINT productreleasefile__signature__fk FOREIGN KEY (signature) REFERENCES libraryfilealias(id);
22504
7675.1121.53 by Stuart Bishop
New baseline
22505
5529.1.3 by Stuart Bishop
New database schema baseline
22506
ALTER TABLE ONLY productreleasefile
4990.1.1 by Stuart Bishop
New database baseline
22507
    ADD CONSTRAINT productreleasefile__uploader__fk FOREIGN KEY (uploader) REFERENCES person(id);
22508
7675.1121.53 by Stuart Bishop
New baseline
22509
3691.17.3 by Stuart Bishop
New database baseline
22510
ALTER TABLE ONLY productseries
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22511
    ADD CONSTRAINT productseries_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
3691.17.3 by Stuart Bishop
New database baseline
22512
7675.1121.53 by Stuart Bishop
New baseline
22513
3691.17.3 by Stuart Bishop
New database baseline
22514
ALTER TABLE ONLY productseries
22515
    ADD CONSTRAINT productseries_driver_fk FOREIGN KEY (driver) REFERENCES person(id);
22516
7675.1121.53 by Stuart Bishop
New baseline
22517
22518
ALTER TABLE ONLY packagingjob
22519
    ADD CONSTRAINT productseries_fk FOREIGN KEY (productseries) REFERENCES productseries(id);
22520
22521
3691.17.3 by Stuart Bishop
New database baseline
22522
ALTER TABLE ONLY productseries
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22523
    ADD CONSTRAINT productseries_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22524
7675.1121.53 by Stuart Bishop
New baseline
22525
3691.17.3 by Stuart Bishop
New database baseline
22526
ALTER TABLE ONLY productseries
22527
    ADD CONSTRAINT productseries_product_fk FOREIGN KEY (product) REFERENCES product(id);
22528
7675.1121.53 by Stuart Bishop
New baseline
22529
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22530
ALTER TABLE ONLY productseries
22531
    ADD CONSTRAINT productseries_translations_branch_fkey FOREIGN KEY (translations_branch) REFERENCES branch(id);
22532
3691.17.3 by Stuart Bishop
New database baseline
22533
22534
ALTER TABLE ONLY project
4990.1.1 by Stuart Bishop
New database baseline
22535
    ADD CONSTRAINT project__icon__fk FOREIGN KEY (icon) REFERENCES libraryfilealias(id);
22536
7675.1121.53 by Stuart Bishop
New baseline
22537
4990.1.1 by Stuart Bishop
New database baseline
22538
ALTER TABLE ONLY project
22539
    ADD CONSTRAINT project__logo__fk FOREIGN KEY (logo) REFERENCES libraryfilealias(id);
22540
7675.1121.53 by Stuart Bishop
New baseline
22541
4990.1.1 by Stuart Bishop
New database baseline
22542
ALTER TABLE ONLY project
22543
    ADD CONSTRAINT project__mugshot__fk FOREIGN KEY (mugshot) REFERENCES libraryfilealias(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22544
7675.1121.53 by Stuart Bishop
New baseline
22545
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22546
ALTER TABLE ONLY project
22547
    ADD CONSTRAINT project_bugtracker_fkey FOREIGN KEY (bugtracker) REFERENCES bugtracker(id);
22548
7675.1121.53 by Stuart Bishop
New baseline
22549
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22550
ALTER TABLE ONLY project
3691.17.3 by Stuart Bishop
New database baseline
22551
    ADD CONSTRAINT project_driver_fk FOREIGN KEY (driver) REFERENCES person(id);
22552
7675.1121.53 by Stuart Bishop
New baseline
22553
3691.17.3 by Stuart Bishop
New database baseline
22554
ALTER TABLE ONLY project
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22555
    ADD CONSTRAINT project_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
22556
7675.1121.53 by Stuart Bishop
New baseline
22557
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22558
ALTER TABLE ONLY project
22559
    ADD CONSTRAINT project_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22560
7675.1121.53 by Stuart Bishop
New baseline
22561
3691.17.3 by Stuart Bishop
New database baseline
22562
ALTER TABLE ONLY project
22563
    ADD CONSTRAINT project_translationgroup_fk FOREIGN KEY (translationgroup) REFERENCES translationgroup(id);
22564
7675.1121.53 by Stuart Bishop
New baseline
22565
22566
ALTER TABLE ONLY publisherconfig
22567
    ADD CONSTRAINT publisherconfig__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
22568
3691.17.3 by Stuart Bishop
New database baseline
22569
4212.1.1 by Stuart Bishop
New database baseline
22570
ALTER TABLE ONLY question
22571
    ADD CONSTRAINT question__answer__fk FOREIGN KEY (answer) REFERENCES questionmessage(id);
22572
7675.1121.53 by Stuart Bishop
New baseline
22573
4212.1.1 by Stuart Bishop
New database baseline
22574
ALTER TABLE ONLY question
22575
    ADD CONSTRAINT question__answerer__fk FOREIGN KEY (answerer) REFERENCES person(id);
22576
7675.1121.53 by Stuart Bishop
New baseline
22577
4212.1.1 by Stuart Bishop
New database baseline
22578
ALTER TABLE ONLY question
22579
    ADD CONSTRAINT question__assignee__fk FOREIGN KEY (assignee) REFERENCES person(id);
22580
7675.1121.53 by Stuart Bishop
New baseline
22581
4212.1.1 by Stuart Bishop
New database baseline
22582
ALTER TABLE ONLY question
22583
    ADD CONSTRAINT question__distribution__fk FOREIGN KEY (distribution) REFERENCES distribution(id);
22584
7675.1121.53 by Stuart Bishop
New baseline
22585
4212.1.1 by Stuart Bishop
New database baseline
22586
ALTER TABLE ONLY question
4990.1.1 by Stuart Bishop
New database baseline
22587
    ADD CONSTRAINT question__faq__fk FOREIGN KEY (faq) REFERENCES faq(id);
22588
7675.1121.53 by Stuart Bishop
New baseline
22589
4990.1.1 by Stuart Bishop
New database baseline
22590
ALTER TABLE ONLY question
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22591
    ADD CONSTRAINT question__language__fkey FOREIGN KEY (language) REFERENCES language(id);
4212.1.1 by Stuart Bishop
New database baseline
22592
7675.1121.53 by Stuart Bishop
New baseline
22593
4212.1.1 by Stuart Bishop
New database baseline
22594
ALTER TABLE ONLY question
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22595
    ADD CONSTRAINT question__owner__fk FOREIGN KEY (owner) REFERENCES person(id);
4212.1.1 by Stuart Bishop
New database baseline
22596
7675.1121.53 by Stuart Bishop
New baseline
22597
4212.1.1 by Stuart Bishop
New database baseline
22598
ALTER TABLE ONLY question
22599
    ADD CONSTRAINT question__product__fk FOREIGN KEY (product) REFERENCES product(id);
22600
7675.1121.53 by Stuart Bishop
New baseline
22601
4212.1.1 by Stuart Bishop
New database baseline
22602
ALTER TABLE ONLY question
22603
    ADD CONSTRAINT question__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22604
7675.1121.53 by Stuart Bishop
New baseline
22605
4212.1.1 by Stuart Bishop
New database baseline
22606
ALTER TABLE ONLY questionbug
22607
    ADD CONSTRAINT questionbug__bug__fk FOREIGN KEY (bug) REFERENCES bug(id);
22608
7675.1121.53 by Stuart Bishop
New baseline
22609
4212.1.1 by Stuart Bishop
New database baseline
22610
ALTER TABLE ONLY questionbug
22611
    ADD CONSTRAINT questionbug__question__fk FOREIGN KEY (question) REFERENCES question(id);
22612
7675.1121.53 by Stuart Bishop
New baseline
22613
22614
ALTER TABLE ONLY questionjob
22615
    ADD CONSTRAINT questionjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
22616
22617
22618
ALTER TABLE ONLY questionjob
22619
    ADD CONSTRAINT questionjob_question_fkey FOREIGN KEY (question) REFERENCES question(id);
22620
22621
4212.1.1 by Stuart Bishop
New database baseline
22622
ALTER TABLE ONLY questionmessage
22623
    ADD CONSTRAINT questionmessage__message__fk FOREIGN KEY (message) REFERENCES message(id);
22624
7675.1121.53 by Stuart Bishop
New baseline
22625
4212.1.1 by Stuart Bishop
New database baseline
22626
ALTER TABLE ONLY questionmessage
22627
    ADD CONSTRAINT questionmessage__question__fk FOREIGN KEY (question) REFERENCES question(id);
22628
7675.1121.53 by Stuart Bishop
New baseline
22629
4212.1.1 by Stuart Bishop
New database baseline
22630
ALTER TABLE ONLY questionreopening
22631
    ADD CONSTRAINT questionreopening__answerer__fk FOREIGN KEY (answerer) REFERENCES person(id);
22632
7675.1121.53 by Stuart Bishop
New baseline
22633
4212.1.1 by Stuart Bishop
New database baseline
22634
ALTER TABLE ONLY questionreopening
22635
    ADD CONSTRAINT questionreopening__question__fk FOREIGN KEY (question) REFERENCES question(id);
22636
7675.1121.53 by Stuart Bishop
New baseline
22637
4212.1.1 by Stuart Bishop
New database baseline
22638
ALTER TABLE ONLY questionreopening
22639
    ADD CONSTRAINT questionreopening__reopener__fk FOREIGN KEY (reopener) REFERENCES person(id);
22640
7675.1121.53 by Stuart Bishop
New baseline
22641
4212.1.1 by Stuart Bishop
New database baseline
22642
ALTER TABLE ONLY questionsubscription
22643
    ADD CONSTRAINT questionsubscription__person__fk FOREIGN KEY (person) REFERENCES person(id);
22644
7675.1121.53 by Stuart Bishop
New baseline
22645
4212.1.1 by Stuart Bishop
New database baseline
22646
ALTER TABLE ONLY questionsubscription
22647
    ADD CONSTRAINT questionsubscription__question__fk FOREIGN KEY (question) REFERENCES question(id);
22648
3691.17.3 by Stuart Bishop
New database baseline
22649
22650
ALTER TABLE ONLY teammembership
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22651
    ADD CONSTRAINT reviewer_fk FOREIGN KEY (last_changed_by) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22652
7675.1121.53 by Stuart Bishop
New baseline
22653
3691.17.3 by Stuart Bishop
New database baseline
22654
ALTER TABLE ONLY revision
22655
    ADD CONSTRAINT revision_gpgkey_fk FOREIGN KEY (gpgkey) REFERENCES gpgkey(id);
22656
7675.1121.53 by Stuart Bishop
New baseline
22657
3691.17.3 by Stuart Bishop
New database baseline
22658
ALTER TABLE ONLY revision
22659
    ADD CONSTRAINT revision_revision_author_fk FOREIGN KEY (revision_author) REFERENCES revisionauthor(id);
22660
7675.1121.53 by Stuart Bishop
New baseline
22661
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22662
ALTER TABLE ONLY revisionauthor
22663
    ADD CONSTRAINT revisionauthor_person_fkey FOREIGN KEY (person) REFERENCES person(id);
22664
7675.1121.53 by Stuart Bishop
New baseline
22665
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22666
ALTER TABLE ONLY revisioncache
22667
    ADD CONSTRAINT revisioncache__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22668
7675.1121.53 by Stuart Bishop
New baseline
22669
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22670
ALTER TABLE ONLY revisioncache
22671
    ADD CONSTRAINT revisioncache__product__fk FOREIGN KEY (product) REFERENCES product(id);
22672
7675.1121.53 by Stuart Bishop
New baseline
22673
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22674
ALTER TABLE ONLY revisioncache
22675
    ADD CONSTRAINT revisioncache__revision__fk FOREIGN KEY (revision) REFERENCES revision(id);
22676
7675.1121.53 by Stuart Bishop
New baseline
22677
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22678
ALTER TABLE ONLY revisioncache
22679
    ADD CONSTRAINT revisioncache__revision_author__fk FOREIGN KEY (revision_author) REFERENCES revisionauthor(id);
22680
7675.1121.53 by Stuart Bishop
New baseline
22681
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22682
ALTER TABLE ONLY revisioncache
22683
    ADD CONSTRAINT revisioncache__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22684
7675.1121.53 by Stuart Bishop
New baseline
22685
3691.17.3 by Stuart Bishop
New database baseline
22686
ALTER TABLE ONLY revisionparent
22687
    ADD CONSTRAINT revisionparent_revision_fk FOREIGN KEY (revision) REFERENCES revision(id);
22688
7675.1121.53 by Stuart Bishop
New baseline
22689
4212.1.1 by Stuart Bishop
New database baseline
22690
ALTER TABLE ONLY revisionproperty
22691
    ADD CONSTRAINT revisionproperty__revision__fk FOREIGN KEY (revision) REFERENCES revision(id);
22692
7675.1121.53 by Stuart Bishop
New baseline
22693
5529.1.3 by Stuart Bishop
New database schema baseline
22694
ALTER TABLE ONLY sectionselection
22695
    ADD CONSTRAINT sectionselection__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22696
7675.1121.53 by Stuart Bishop
New baseline
22697
5529.1.3 by Stuart Bishop
New database schema baseline
22698
ALTER TABLE ONLY sectionselection
22699
    ADD CONSTRAINT sectionselection__section__fk FOREIGN KEY (section) REFERENCES section(id);
22700
7675.1121.53 by Stuart Bishop
New baseline
22701
7675.395.118 by Stuart Bishop
New database baseline from production
22702
ALTER TABLE ONLY binarypackagepublishinghistory
22703
    ADD CONSTRAINT securebinarypackagepublishinghistory__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
4990.1.1 by Stuart Bishop
New database baseline
22704
7675.1121.53 by Stuart Bishop
New baseline
22705
7675.395.118 by Stuart Bishop
New database baseline from production
22706
ALTER TABLE ONLY binarypackagepublishinghistory
5529.1.3 by Stuart Bishop
New database schema baseline
22707
    ADD CONSTRAINT securebinarypackagepublishinghistory__distroarchseries__fk FOREIGN KEY (distroarchseries) REFERENCES distroarchseries(id);
22708
7675.1121.53 by Stuart Bishop
New baseline
22709
7675.395.118 by Stuart Bishop
New database baseline from production
22710
ALTER TABLE ONLY binarypackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22711
    ADD CONSTRAINT securebinarypackagepublishinghistory_binarypackagerelease_fk FOREIGN KEY (binarypackagerelease) REFERENCES binarypackagerelease(id);
22712
7675.1121.53 by Stuart Bishop
New baseline
22713
7675.395.118 by Stuart Bishop
New database baseline from production
22714
ALTER TABLE ONLY binarypackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22715
    ADD CONSTRAINT securebinarypackagepublishinghistory_component_fk FOREIGN KEY (component) REFERENCES component(id);
22716
7675.1121.53 by Stuart Bishop
New baseline
22717
7675.395.118 by Stuart Bishop
New database baseline from production
22718
ALTER TABLE ONLY binarypackagepublishinghistory
5529.1.3 by Stuart Bishop
New database schema baseline
22719
    ADD CONSTRAINT securebinarypackagepublishinghistory_removedby_fk FOREIGN KEY (removed_by) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22720
7675.1121.53 by Stuart Bishop
New baseline
22721
7675.395.118 by Stuart Bishop
New database baseline from production
22722
ALTER TABLE ONLY binarypackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22723
    ADD CONSTRAINT securebinarypackagepublishinghistory_section_fk FOREIGN KEY (section) REFERENCES section(id);
22724
7675.1121.53 by Stuart Bishop
New baseline
22725
7675.395.118 by Stuart Bishop
New database baseline from production
22726
ALTER TABLE ONLY sourcepackagepublishinghistory
5529.1.3 by Stuart Bishop
New database schema baseline
22727
    ADD CONSTRAINT securesourcepackagepublishinghistory__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22728
7675.1121.53 by Stuart Bishop
New baseline
22729
7675.395.118 by Stuart Bishop
New database baseline from production
22730
ALTER TABLE ONLY sourcepackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22731
    ADD CONSTRAINT securesourcepackagepublishinghistory_component_fk FOREIGN KEY (component) REFERENCES component(id);
22732
7675.1121.53 by Stuart Bishop
New baseline
22733
7675.395.118 by Stuart Bishop
New database baseline from production
22734
ALTER TABLE ONLY sourcepackagepublishinghistory
5529.1.3 by Stuart Bishop
New database schema baseline
22735
    ADD CONSTRAINT securesourcepackagepublishinghistory_removedby_fk FOREIGN KEY (removed_by) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22736
7675.1121.53 by Stuart Bishop
New baseline
22737
7675.395.118 by Stuart Bishop
New database baseline from production
22738
ALTER TABLE ONLY sourcepackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22739
    ADD CONSTRAINT securesourcepackagepublishinghistory_section_fk FOREIGN KEY (section) REFERENCES section(id);
22740
7675.1121.53 by Stuart Bishop
New baseline
22741
7675.395.118 by Stuart Bishop
New database baseline from production
22742
ALTER TABLE ONLY sourcepackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22743
    ADD CONSTRAINT securesourcepackagepublishinghistory_sourcepackagerelease_fk FOREIGN KEY (sourcepackagerelease) REFERENCES sourcepackagerelease(id);
22744
7675.1121.53 by Stuart Bishop
New baseline
22745
7675.395.118 by Stuart Bishop
New database baseline from production
22746
ALTER TABLE ONLY sourcepackagepublishinghistory
3691.17.3 by Stuart Bishop
New database baseline
22747
    ADD CONSTRAINT securesourcepackagepublishinghistory_supersededby_fk FOREIGN KEY (supersededby) REFERENCES sourcepackagerelease(id);
22748
7675.1121.53 by Stuart Bishop
New baseline
22749
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22750
ALTER TABLE ONLY seriessourcepackagebranch
22751
    ADD CONSTRAINT seriessourcepackagebranch_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
22752
7675.1121.53 by Stuart Bishop
New baseline
22753
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22754
ALTER TABLE ONLY seriessourcepackagebranch
22755
    ADD CONSTRAINT seriessourcepackagebranch_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22756
7675.1121.53 by Stuart Bishop
New baseline
22757
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22758
ALTER TABLE ONLY seriessourcepackagebranch
22759
    ADD CONSTRAINT seriessourcepackagebranch_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
22760
7675.1121.53 by Stuart Bishop
New baseline
22761
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22762
ALTER TABLE ONLY seriessourcepackagebranch
22763
    ADD CONSTRAINT seriessourcepackagebranch_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22764
3691.17.3 by Stuart Bishop
New database baseline
22765
22766
ALTER TABLE ONLY signedcodeofconduct
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22767
    ADD CONSTRAINT signedcodeofconduct_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22768
7675.1121.53 by Stuart Bishop
New baseline
22769
3691.17.3 by Stuart Bishop
New database baseline
22770
ALTER TABLE ONLY signedcodeofconduct
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22771
    ADD CONSTRAINT signedcodeofconduct_signingkey_fk FOREIGN KEY (owner, signingkey) REFERENCES gpgkey(owner, id) ON UPDATE CASCADE;
3691.17.3 by Stuart Bishop
New database baseline
22772
7675.1121.53 by Stuart Bishop
New baseline
22773
7675.395.118 by Stuart Bishop
New database baseline from production
22774
ALTER TABLE ONLY sourcepackageformatselection
22775
    ADD CONSTRAINT sourceformatselection__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22776
7675.1121.53 by Stuart Bishop
New baseline
22777
22778
ALTER TABLE ONLY packagingjob
22779
    ADD CONSTRAINT sourcepackagename_fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22780
22781
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
22782
ALTER TABLE ONLY packagesetsources
22783
    ADD CONSTRAINT sourcepackagenamesources__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22784
7675.1121.53 by Stuart Bishop
New baseline
22785
7675.395.118 by Stuart Bishop
New database baseline from production
22786
ALTER TABLE ONLY sourcepackagepublishinghistory
22787
    ADD CONSTRAINT sourcepackagepublishinghistory__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) ON DELETE CASCADE;
22788
7675.1121.53 by Stuart Bishop
New baseline
22789
22790
ALTER TABLE ONLY sourcepackagepublishinghistory
22791
    ADD CONSTRAINT sourcepackagepublishinghistory__creator__fk FOREIGN KEY (creator) REFERENCES person(id);
22792
22793
22794
ALTER TABLE ONLY sourcepackagepublishinghistory
22795
    ADD CONSTRAINT sourcepackagepublishinghistory_ancestor_fkey FOREIGN KEY (ancestor) REFERENCES sourcepackagepublishinghistory(id);
22796
22797
22798
ALTER TABLE ONLY sourcepackagepublishinghistory
22799
    ADD CONSTRAINT sourcepackagepublishinghistory_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22800
22801
7675.395.118 by Stuart Bishop
New database baseline from production
22802
ALTER TABLE ONLY sourcepackagerecipe
22803
    ADD CONSTRAINT sourcepackagerecipe_daily_build_archive_fkey FOREIGN KEY (daily_build_archive) REFERENCES archive(id);
22804
7675.1121.53 by Stuart Bishop
New baseline
22805
7675.395.118 by Stuart Bishop
New database baseline from production
22806
ALTER TABLE ONLY sourcepackagerecipe
22807
    ADD CONSTRAINT sourcepackagerecipe_owner_fkey FOREIGN KEY (owner) REFERENCES person(id);
22808
7675.1121.53 by Stuart Bishop
New baseline
22809
7675.395.118 by Stuart Bishop
New database baseline from production
22810
ALTER TABLE ONLY sourcepackagerecipe
22811
    ADD CONSTRAINT sourcepackagerecipe_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
22812
7675.1121.53 by Stuart Bishop
New baseline
22813
7675.395.118 by Stuart Bishop
New database baseline from production
22814
ALTER TABLE ONLY sourcepackagerecipebuild
22815
    ADD CONSTRAINT sourcepackagerecipebuild_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22816
7675.1121.53 by Stuart Bishop
New baseline
22817
7675.395.118 by Stuart Bishop
New database baseline from production
22818
ALTER TABLE ONLY sourcepackagerecipebuild
22819
    ADD CONSTRAINT sourcepackagerecipebuild_manifest_fkey FOREIGN KEY (manifest) REFERENCES sourcepackagerecipedata(id);
22820
7675.1121.53 by Stuart Bishop
New baseline
22821
7675.395.118 by Stuart Bishop
New database baseline from production
22822
ALTER TABLE ONLY sourcepackagerecipebuild
22823
    ADD CONSTRAINT sourcepackagerecipebuild_package_build_fkey FOREIGN KEY (package_build) REFERENCES packagebuild(id);
22824
7675.1121.53 by Stuart Bishop
New baseline
22825
7675.395.118 by Stuart Bishop
New database baseline from production
22826
ALTER TABLE ONLY sourcepackagerecipebuild
22827
    ADD CONSTRAINT sourcepackagerecipebuild_recipe_fkey FOREIGN KEY (recipe) REFERENCES sourcepackagerecipe(id);
22828
7675.1121.53 by Stuart Bishop
New baseline
22829
7675.395.118 by Stuart Bishop
New database baseline from production
22830
ALTER TABLE ONLY sourcepackagerecipebuild
22831
    ADD CONSTRAINT sourcepackagerecipebuild_requester_fkey FOREIGN KEY (requester) REFERENCES person(id);
22832
7675.1121.53 by Stuart Bishop
New baseline
22833
7675.395.118 by Stuart Bishop
New database baseline from production
22834
ALTER TABLE ONLY sourcepackagerecipebuildjob
22835
    ADD CONSTRAINT sourcepackagerecipebuildjob_job_fkey FOREIGN KEY (job) REFERENCES job(id);
22836
7675.1121.53 by Stuart Bishop
New baseline
22837
7675.395.118 by Stuart Bishop
New database baseline from production
22838
ALTER TABLE ONLY sourcepackagerecipebuildjob
22839
    ADD CONSTRAINT sourcepackagerecipebuildjob_sourcepackage_recipe_build_fkey FOREIGN KEY (sourcepackage_recipe_build) REFERENCES sourcepackagerecipebuild(id);
22840
7675.1121.53 by Stuart Bishop
New baseline
22841
7675.395.118 by Stuart Bishop
New database baseline from production
22842
ALTER TABLE ONLY sourcepackagerecipedata
22843
    ADD CONSTRAINT sourcepackagerecipedata_base_branch_fkey FOREIGN KEY (base_branch) REFERENCES branch(id);
22844
7675.1121.53 by Stuart Bishop
New baseline
22845
7675.395.118 by Stuart Bishop
New database baseline from production
22846
ALTER TABLE ONLY sourcepackagerecipedata
22847
    ADD CONSTRAINT sourcepackagerecipedata_sourcepackage_recipe_build_fkey FOREIGN KEY (sourcepackage_recipe_build) REFERENCES sourcepackagerecipebuild(id);
22848
7675.1121.53 by Stuart Bishop
New baseline
22849
7675.395.118 by Stuart Bishop
New database baseline from production
22850
ALTER TABLE ONLY sourcepackagerecipedata
22851
    ADD CONSTRAINT sourcepackagerecipedata_sourcepackage_recipe_fkey FOREIGN KEY (sourcepackage_recipe) REFERENCES sourcepackagerecipe(id);
22852
7675.1121.53 by Stuart Bishop
New baseline
22853
7675.395.118 by Stuart Bishop
New database baseline from production
22854
ALTER TABLE ONLY sourcepackagerecipedatainstruction
22855
    ADD CONSTRAINT sourcepackagerecipedatainstruction_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
22856
7675.1121.53 by Stuart Bishop
New baseline
22857
7675.395.118 by Stuart Bishop
New database baseline from production
22858
ALTER TABLE ONLY sourcepackagerecipedatainstruction
22859
    ADD CONSTRAINT sourcepackagerecipedatainstruction_parent_instruction_fkey FOREIGN KEY (parent_instruction) REFERENCES sourcepackagerecipedatainstruction(id);
22860
7675.1121.53 by Stuart Bishop
New baseline
22861
7675.395.118 by Stuart Bishop
New database baseline from production
22862
ALTER TABLE ONLY sourcepackagerecipedatainstruction
22863
    ADD CONSTRAINT sourcepackagerecipedatainstruction_recipe_data_fkey FOREIGN KEY (recipe_data) REFERENCES sourcepackagerecipedata(id);
22864
7675.1121.53 by Stuart Bishop
New baseline
22865
7675.395.118 by Stuart Bishop
New database baseline from production
22866
ALTER TABLE ONLY sourcepackagerecipedistroseries
22867
    ADD CONSTRAINT sourcepackagerecipedistroseries_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
22868
7675.1121.53 by Stuart Bishop
New baseline
22869
7675.395.118 by Stuart Bishop
New database baseline from production
22870
ALTER TABLE ONLY sourcepackagerecipedistroseries
22871
    ADD CONSTRAINT sourcepackagerecipedistroseries_sourcepackagerecipe_fkey FOREIGN KEY (sourcepackagerecipe) REFERENCES sourcepackagerecipe(id);
22872
7675.1121.53 by Stuart Bishop
New baseline
22873
3691.17.3 by Stuart Bishop
New database baseline
22874
ALTER TABLE ONLY sourcepackagerelease
4990.1.1 by Stuart Bishop
New database baseline
22875
    ADD CONSTRAINT sourcepackagerelease__creator__fk FOREIGN KEY (creator) REFERENCES person(id);
22876
7675.1121.53 by Stuart Bishop
New baseline
22877
4990.1.1 by Stuart Bishop
New database baseline
22878
ALTER TABLE ONLY sourcepackagerelease
22879
    ADD CONSTRAINT sourcepackagerelease__dscsigningkey FOREIGN KEY (dscsigningkey) REFERENCES gpgkey(id);
22880
7675.1121.53 by Stuart Bishop
New baseline
22881
4990.1.1 by Stuart Bishop
New database baseline
22882
ALTER TABLE ONLY sourcepackagerelease
22883
    ADD CONSTRAINT sourcepackagerelease__upload_archive__fk FOREIGN KEY (upload_archive) REFERENCES archive(id);
22884
7675.1121.53 by Stuart Bishop
New baseline
22885
4990.1.1 by Stuart Bishop
New database baseline
22886
ALTER TABLE ONLY sourcepackagerelease
5529.1.3 by Stuart Bishop
New database schema baseline
22887
    ADD CONSTRAINT sourcepackagerelease__upload_distroseries__fk FOREIGN KEY (upload_distroseries) REFERENCES distroseries(id);
22888
7675.1121.53 by Stuart Bishop
New baseline
22889
5529.1.3 by Stuart Bishop
New database schema baseline
22890
ALTER TABLE ONLY sourcepackagerelease
7675.395.118 by Stuart Bishop
New database baseline from production
22891
    ADD CONSTRAINT sourcepackagerelease_changelog_fkey FOREIGN KEY (changelog) REFERENCES libraryfilealias(id);
22892
7675.1121.53 by Stuart Bishop
New baseline
22893
7675.395.118 by Stuart Bishop
New database baseline from production
22894
ALTER TABLE ONLY sourcepackagerelease
3691.17.3 by Stuart Bishop
New database baseline
22895
    ADD CONSTRAINT sourcepackagerelease_component_fk FOREIGN KEY (component) REFERENCES component(id);
22896
7675.1121.53 by Stuart Bishop
New baseline
22897
3691.17.3 by Stuart Bishop
New database baseline
22898
ALTER TABLE ONLY sourcepackagerelease
22899
    ADD CONSTRAINT sourcepackagerelease_maintainer_fk FOREIGN KEY (maintainer) REFERENCES person(id);
22900
7675.1121.53 by Stuart Bishop
New baseline
22901
3691.17.3 by Stuart Bishop
New database baseline
22902
ALTER TABLE ONLY sourcepackagerelease
22903
    ADD CONSTRAINT sourcepackagerelease_section FOREIGN KEY (section) REFERENCES section(id);
22904
7675.1121.53 by Stuart Bishop
New baseline
22905
3691.17.3 by Stuart Bishop
New database baseline
22906
ALTER TABLE ONLY sourcepackagerelease
7675.395.118 by Stuart Bishop
New database baseline from production
22907
    ADD CONSTRAINT sourcepackagerelease_sourcepackage_recipe_build_fkey FOREIGN KEY (sourcepackage_recipe_build) REFERENCES sourcepackagerecipebuild(id);
22908
7675.1121.53 by Stuart Bishop
New baseline
22909
7675.395.118 by Stuart Bishop
New database baseline from production
22910
ALTER TABLE ONLY sourcepackagerelease
3691.17.3 by Stuart Bishop
New database baseline
22911
    ADD CONSTRAINT sourcepackagerelease_sourcepackagename_fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
22912
7675.1121.53 by Stuart Bishop
New baseline
22913
5529.1.3 by Stuart Bishop
New database schema baseline
22914
ALTER TABLE ONLY specification
22915
    ADD CONSTRAINT specification__distroseries__distribution__fk FOREIGN KEY (distroseries, distribution) REFERENCES distroseries(id, distribution);
3691.17.3 by Stuart Bishop
New database baseline
22916
7675.1121.53 by Stuart Bishop
New baseline
22917
3691.17.3 by Stuart Bishop
New database baseline
22918
ALTER TABLE ONLY specification
22919
    ADD CONSTRAINT specification_approver_fk FOREIGN KEY (approver) REFERENCES person(id);
22920
7675.1121.53 by Stuart Bishop
New baseline
22921
3691.17.3 by Stuart Bishop
New database baseline
22922
ALTER TABLE ONLY specification
22923
    ADD CONSTRAINT specification_assignee_fk FOREIGN KEY (assignee) REFERENCES person(id);
22924
7675.1121.53 by Stuart Bishop
New baseline
22925
3691.17.3 by Stuart Bishop
New database baseline
22926
ALTER TABLE ONLY specification
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22927
    ADD CONSTRAINT specification_completer_fkey FOREIGN KEY (completer) REFERENCES person(id);
22928
7675.1121.53 by Stuart Bishop
New baseline
22929
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22930
ALTER TABLE ONLY specification
3691.17.3 by Stuart Bishop
New database baseline
22931
    ADD CONSTRAINT specification_distribution_fk FOREIGN KEY (distribution) REFERENCES distribution(id);
22932
7675.1121.53 by Stuart Bishop
New baseline
22933
3691.17.3 by Stuart Bishop
New database baseline
22934
ALTER TABLE ONLY specification
22935
    ADD CONSTRAINT specification_distribution_milestone_fk FOREIGN KEY (distribution, milestone) REFERENCES milestone(distribution, id);
22936
7675.1121.53 by Stuart Bishop
New baseline
22937
3691.17.3 by Stuart Bishop
New database baseline
22938
ALTER TABLE ONLY specification
22939
    ADD CONSTRAINT specification_drafter_fk FOREIGN KEY (drafter) REFERENCES person(id);
22940
7675.1121.53 by Stuart Bishop
New baseline
22941
3691.17.3 by Stuart Bishop
New database baseline
22942
ALTER TABLE ONLY specification
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22943
    ADD CONSTRAINT specification_goal_decider_fkey FOREIGN KEY (goal_decider) REFERENCES person(id);
22944
7675.1121.53 by Stuart Bishop
New baseline
22945
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22946
ALTER TABLE ONLY specification
22947
    ADD CONSTRAINT specification_goal_proposer_fkey FOREIGN KEY (goal_proposer) REFERENCES person(id);
22948
7675.1121.53 by Stuart Bishop
New baseline
22949
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22950
ALTER TABLE ONLY specification
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
22951
    ADD CONSTRAINT specification_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
22952
7675.1121.53 by Stuart Bishop
New baseline
22953
3691.17.3 by Stuart Bishop
New database baseline
22954
ALTER TABLE ONLY specification
22955
    ADD CONSTRAINT specification_product_fk FOREIGN KEY (product) REFERENCES product(id);
22956
7675.1121.53 by Stuart Bishop
New baseline
22957
3691.17.3 by Stuart Bishop
New database baseline
22958
ALTER TABLE ONLY specification
22959
    ADD CONSTRAINT specification_product_milestone_fk FOREIGN KEY (product, milestone) REFERENCES milestone(product, id);
22960
7675.1121.53 by Stuart Bishop
New baseline
22961
3691.17.3 by Stuart Bishop
New database baseline
22962
ALTER TABLE ONLY specification
22963
    ADD CONSTRAINT specification_productseries_valid FOREIGN KEY (product, productseries) REFERENCES productseries(product, id);
22964
7675.1121.53 by Stuart Bishop
New baseline
22965
3691.17.3 by Stuart Bishop
New database baseline
22966
ALTER TABLE ONLY specification
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22967
    ADD CONSTRAINT specification_starter_fkey FOREIGN KEY (starter) REFERENCES person(id);
22968
7675.1121.53 by Stuart Bishop
New baseline
22969
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22970
ALTER TABLE ONLY specification
3691.17.3 by Stuart Bishop
New database baseline
22971
    ADD CONSTRAINT specification_superseded_by_fk FOREIGN KEY (superseded_by) REFERENCES specification(id);
22972
7675.1121.53 by Stuart Bishop
New baseline
22973
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22974
ALTER TABLE ONLY specificationbranch
22975
    ADD CONSTRAINT specificationbranch__branch__fk FOREIGN KEY (branch) REFERENCES branch(id);
22976
7675.1121.53 by Stuart Bishop
New baseline
22977
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
22978
ALTER TABLE ONLY specificationbranch
22979
    ADD CONSTRAINT specificationbranch__specification__fk FOREIGN KEY (specification) REFERENCES specification(id);
22980
7675.1121.53 by Stuart Bishop
New baseline
22981
5529.1.3 by Stuart Bishop
New database schema baseline
22982
ALTER TABLE ONLY specificationbranch
22983
    ADD CONSTRAINT specificationbranch_registrant_fkey FOREIGN KEY (registrant) REFERENCES person(id);
22984
7675.1121.53 by Stuart Bishop
New baseline
22985
3691.17.3 by Stuart Bishop
New database baseline
22986
ALTER TABLE ONLY specificationbug
22987
    ADD CONSTRAINT specificationbug_bug_fk FOREIGN KEY (bug) REFERENCES bug(id);
22988
7675.1121.53 by Stuart Bishop
New baseline
22989
3691.17.3 by Stuart Bishop
New database baseline
22990
ALTER TABLE ONLY specificationbug
22991
    ADD CONSTRAINT specificationbug_specification_fk FOREIGN KEY (specification) REFERENCES specification(id);
22992
7675.1121.53 by Stuart Bishop
New baseline
22993
3691.17.3 by Stuart Bishop
New database baseline
22994
ALTER TABLE ONLY specificationdependency
22995
    ADD CONSTRAINT specificationdependency_dependency_fk FOREIGN KEY (dependency) REFERENCES specification(id);
22996
7675.1121.53 by Stuart Bishop
New baseline
22997
3691.17.3 by Stuart Bishop
New database baseline
22998
ALTER TABLE ONLY specificationdependency
22999
    ADD CONSTRAINT specificationdependency_specification_fk FOREIGN KEY (specification) REFERENCES specification(id);
23000
7675.1121.53 by Stuart Bishop
New baseline
23001
3691.17.3 by Stuart Bishop
New database baseline
23002
ALTER TABLE ONLY specificationfeedback
23003
    ADD CONSTRAINT specificationfeedback_provider_fk FOREIGN KEY (reviewer) REFERENCES person(id);
23004
7675.1121.53 by Stuart Bishop
New baseline
23005
3691.17.3 by Stuart Bishop
New database baseline
23006
ALTER TABLE ONLY specificationfeedback
23007
    ADD CONSTRAINT specificationfeedback_requester_fk FOREIGN KEY (requester) REFERENCES person(id);
23008
7675.1121.53 by Stuart Bishop
New baseline
23009
3691.17.3 by Stuart Bishop
New database baseline
23010
ALTER TABLE ONLY specificationfeedback
23011
    ADD CONSTRAINT specificationfeedback_specification_fk FOREIGN KEY (specification) REFERENCES specification(id);
23012
7675.1121.53 by Stuart Bishop
New baseline
23013
4990.1.1 by Stuart Bishop
New database baseline
23014
ALTER TABLE ONLY specificationmessage
23015
    ADD CONSTRAINT specificationmessage__message__fk FOREIGN KEY (message) REFERENCES message(id);
23016
7675.1121.53 by Stuart Bishop
New baseline
23017
4990.1.1 by Stuart Bishop
New database baseline
23018
ALTER TABLE ONLY specificationmessage
23019
    ADD CONSTRAINT specificationmessage__specification__fk FOREIGN KEY (specification) REFERENCES specification(id);
23020
7675.1121.53 by Stuart Bishop
New baseline
23021
3691.17.3 by Stuart Bishop
New database baseline
23022
ALTER TABLE ONLY specificationsubscription
23023
    ADD CONSTRAINT specificationsubscription_person_fk FOREIGN KEY (person) REFERENCES person(id);
23024
7675.1121.53 by Stuart Bishop
New baseline
23025
3691.17.3 by Stuart Bishop
New database baseline
23026
ALTER TABLE ONLY specificationsubscription
23027
    ADD CONSTRAINT specificationsubscription_specification_fk FOREIGN KEY (specification) REFERENCES specification(id);
23028
7675.1121.53 by Stuart Bishop
New baseline
23029
3691.17.3 by Stuart Bishop
New database baseline
23030
ALTER TABLE ONLY sprint
4990.1.1 by Stuart Bishop
New database baseline
23031
    ADD CONSTRAINT sprint__icon__fk FOREIGN KEY (icon) REFERENCES libraryfilealias(id);
23032
7675.1121.53 by Stuart Bishop
New baseline
23033
4990.1.1 by Stuart Bishop
New database baseline
23034
ALTER TABLE ONLY sprint
23035
    ADD CONSTRAINT sprint__logo__fk FOREIGN KEY (logo) REFERENCES libraryfilealias(id);
23036
7675.1121.53 by Stuart Bishop
New baseline
23037
4990.1.1 by Stuart Bishop
New database baseline
23038
ALTER TABLE ONLY sprint
23039
    ADD CONSTRAINT sprint__mugshot__fk FOREIGN KEY (mugshot) REFERENCES libraryfilealias(id);
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23040
7675.1121.53 by Stuart Bishop
New baseline
23041
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23042
ALTER TABLE ONLY sprint
23043
    ADD CONSTRAINT sprint_driver_fkey FOREIGN KEY (driver) REFERENCES person(id);
23044
7675.1121.53 by Stuart Bishop
New baseline
23045
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23046
ALTER TABLE ONLY sprint
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23047
    ADD CONSTRAINT sprint_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
23048
7675.1121.53 by Stuart Bishop
New baseline
23049
3691.17.3 by Stuart Bishop
New database baseline
23050
ALTER TABLE ONLY sprintattendance
23051
    ADD CONSTRAINT sprintattendance_attendee_fk FOREIGN KEY (attendee) REFERENCES person(id);
23052
7675.1121.53 by Stuart Bishop
New baseline
23053
3691.17.3 by Stuart Bishop
New database baseline
23054
ALTER TABLE ONLY sprintattendance
23055
    ADD CONSTRAINT sprintattendance_sprint_fk FOREIGN KEY (sprint) REFERENCES sprint(id);
23056
7675.1121.53 by Stuart Bishop
New baseline
23057
3691.17.3 by Stuart Bishop
New database baseline
23058
ALTER TABLE ONLY sprintspecification
23059
    ADD CONSTRAINT sprintspec_spec_fk FOREIGN KEY (specification) REFERENCES specification(id);
23060
7675.1121.53 by Stuart Bishop
New baseline
23061
3691.17.3 by Stuart Bishop
New database baseline
23062
ALTER TABLE ONLY sprintspecification
23063
    ADD CONSTRAINT sprintspec_sprint_fk FOREIGN KEY (sprint) REFERENCES sprint(id);
23064
7675.1121.53 by Stuart Bishop
New baseline
23065
3691.17.3 by Stuart Bishop
New database baseline
23066
ALTER TABLE ONLY sprintspecification
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23067
    ADD CONSTRAINT sprintspecification__nominator__fk FOREIGN KEY (registrant) REFERENCES person(id);
23068
7675.1121.53 by Stuart Bishop
New baseline
23069
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23070
ALTER TABLE ONLY sprintspecification
23071
    ADD CONSTRAINT sprintspecification_decider_fkey FOREIGN KEY (decider) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
23072
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
23073
5529.1.3 by Stuart Bishop
New database schema baseline
23074
ALTER TABLE ONLY structuralsubscription
23075
    ADD CONSTRAINT structuralsubscription_distribution_fkey FOREIGN KEY (distribution) REFERENCES distribution(id);
23076
7675.1121.53 by Stuart Bishop
New baseline
23077
5529.1.3 by Stuart Bishop
New database schema baseline
23078
ALTER TABLE ONLY structuralsubscription
23079
    ADD CONSTRAINT structuralsubscription_distroseries_fkey FOREIGN KEY (distroseries) REFERENCES distroseries(id);
23080
7675.1121.53 by Stuart Bishop
New baseline
23081
5529.1.3 by Stuart Bishop
New database schema baseline
23082
ALTER TABLE ONLY structuralsubscription
23083
    ADD CONSTRAINT structuralsubscription_milestone_fkey FOREIGN KEY (milestone) REFERENCES milestone(id);
23084
7675.1121.53 by Stuart Bishop
New baseline
23085
5529.1.3 by Stuart Bishop
New database schema baseline
23086
ALTER TABLE ONLY structuralsubscription
23087
    ADD CONSTRAINT structuralsubscription_product_fkey FOREIGN KEY (product) REFERENCES product(id);
23088
7675.1121.53 by Stuart Bishop
New baseline
23089
5529.1.3 by Stuart Bishop
New database schema baseline
23090
ALTER TABLE ONLY structuralsubscription
23091
    ADD CONSTRAINT structuralsubscription_productseries_fkey FOREIGN KEY (productseries) REFERENCES productseries(id);
23092
7675.1121.53 by Stuart Bishop
New baseline
23093
5529.1.3 by Stuart Bishop
New database schema baseline
23094
ALTER TABLE ONLY structuralsubscription
23095
    ADD CONSTRAINT structuralsubscription_project_fkey FOREIGN KEY (project) REFERENCES project(id);
23096
7675.1121.53 by Stuart Bishop
New baseline
23097
5529.1.3 by Stuart Bishop
New database schema baseline
23098
ALTER TABLE ONLY structuralsubscription
23099
    ADD CONSTRAINT structuralsubscription_sourcepackagename_fkey FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
23100
7675.1121.53 by Stuart Bishop
New baseline
23101
5529.1.3 by Stuart Bishop
New database schema baseline
23102
ALTER TABLE ONLY structuralsubscription
23103
    ADD CONSTRAINT structuralsubscription_subscribed_by_fkey FOREIGN KEY (subscribed_by) REFERENCES person(id);
23104
7675.1121.53 by Stuart Bishop
New baseline
23105
5529.1.3 by Stuart Bishop
New database schema baseline
23106
ALTER TABLE ONLY structuralsubscription
23107
    ADD CONSTRAINT structuralsubscription_subscriber_fkey FOREIGN KEY (subscriber) REFERENCES person(id);
23108
7675.1121.53 by Stuart Bishop
New baseline
23109
23110
ALTER TABLE ONLY subunitstream
23111
    ADD CONSTRAINT subunitstream_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
23112
23113
23114
ALTER TABLE ONLY subunitstream
23115
    ADD CONSTRAINT subunitstream_stream_fkey FOREIGN KEY (stream) REFERENCES libraryfilealias(id);
23116
23117
23118
ALTER TABLE ONLY subunitstream
23119
    ADD CONSTRAINT subunitstream_uploader_fkey FOREIGN KEY (uploader) REFERENCES person(id);
23120
23121
23122
ALTER TABLE ONLY suggestivepotemplate
23123
    ADD CONSTRAINT suggestivepotemplate__potemplate__fk FOREIGN KEY (potemplate) REFERENCES potemplate(id) ON DELETE CASCADE;
23124
23125
3691.17.3 by Stuart Bishop
New database baseline
23126
ALTER TABLE ONLY teammembership
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23127
    ADD CONSTRAINT teammembership_acknowledged_by_fkey FOREIGN KEY (acknowledged_by) REFERENCES person(id);
23128
7675.1121.53 by Stuart Bishop
New baseline
23129
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23130
ALTER TABLE ONLY teammembership
3691.17.3 by Stuart Bishop
New database baseline
23131
    ADD CONSTRAINT teammembership_person_fk FOREIGN KEY (person) REFERENCES person(id);
23132
7675.1121.53 by Stuart Bishop
New baseline
23133
3691.17.3 by Stuart Bishop
New database baseline
23134
ALTER TABLE ONLY teammembership
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23135
    ADD CONSTRAINT teammembership_proposed_by_fkey FOREIGN KEY (proposed_by) REFERENCES person(id);
23136
7675.1121.53 by Stuart Bishop
New baseline
23137
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23138
ALTER TABLE ONLY teammembership
23139
    ADD CONSTRAINT teammembership_reviewed_by_fkey FOREIGN KEY (reviewed_by) REFERENCES person(id);
23140
7675.1121.53 by Stuart Bishop
New baseline
23141
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23142
ALTER TABLE ONLY teammembership
3691.17.3 by Stuart Bishop
New database baseline
23143
    ADD CONSTRAINT teammembership_team_fk FOREIGN KEY (team) REFERENCES person(id);
23144
7675.1121.53 by Stuart Bishop
New baseline
23145
3691.17.3 by Stuart Bishop
New database baseline
23146
ALTER TABLE ONLY teamparticipation
23147
    ADD CONSTRAINT teamparticipation_person_fk FOREIGN KEY (person) REFERENCES person(id);
23148
7675.1121.53 by Stuart Bishop
New baseline
23149
3691.17.3 by Stuart Bishop
New database baseline
23150
ALTER TABLE ONLY teamparticipation
23151
    ADD CONSTRAINT teamparticipation_team_fk FOREIGN KEY (team) REFERENCES person(id);
23152
7675.1121.53 by Stuart Bishop
New baseline
23153
3691.372.1 by Stuart Bishop
Roll up database patches to new db baseline
23154
ALTER TABLE ONLY temporaryblobstorage
23155
    ADD CONSTRAINT temporaryblobstorage_file_alias_fkey FOREIGN KEY (file_alias) REFERENCES libraryfilealias(id);
23156
7675.1121.53 by Stuart Bishop
New baseline
23157
3691.17.3 by Stuart Bishop
New database baseline
23158
ALTER TABLE ONLY translationgroup
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23159
    ADD CONSTRAINT translationgroup_owner_fk FOREIGN KEY (owner) REFERENCES person(id);
3691.17.3 by Stuart Bishop
New database baseline
23160
7675.1121.53 by Stuart Bishop
New baseline
23161
5529.1.3 by Stuart Bishop
New database schema baseline
23162
ALTER TABLE ONLY translationimportqueueentry
23163
    ADD CONSTRAINT translationimportqueueentry__content__fk FOREIGN KEY (content) REFERENCES libraryfilealias(id);
23164
7675.1121.53 by Stuart Bishop
New baseline
23165
5529.1.3 by Stuart Bishop
New database schema baseline
23166
ALTER TABLE ONLY translationimportqueueentry
23167
    ADD CONSTRAINT translationimportqueueentry__distroseries__fk FOREIGN KEY (distroseries) REFERENCES distroseries(id);
23168
7675.1121.53 by Stuart Bishop
New baseline
23169
5529.1.3 by Stuart Bishop
New database schema baseline
23170
ALTER TABLE ONLY translationimportqueueentry
23171
    ADD CONSTRAINT translationimportqueueentry__importer__fk FOREIGN KEY (importer) REFERENCES person(id);
23172
7675.1121.53 by Stuart Bishop
New baseline
23173
5529.1.3 by Stuart Bishop
New database schema baseline
23174
ALTER TABLE ONLY translationimportqueueentry
23175
    ADD CONSTRAINT translationimportqueueentry__pofile__fk FOREIGN KEY (pofile) REFERENCES pofile(id);
23176
7675.1121.53 by Stuart Bishop
New baseline
23177
5529.1.3 by Stuart Bishop
New database schema baseline
23178
ALTER TABLE ONLY translationimportqueueentry
23179
    ADD CONSTRAINT translationimportqueueentry__potemplate__fk FOREIGN KEY (potemplate) REFERENCES potemplate(id);
23180
7675.1121.53 by Stuart Bishop
New baseline
23181
5529.1.3 by Stuart Bishop
New database schema baseline
23182
ALTER TABLE ONLY translationimportqueueentry
23183
    ADD CONSTRAINT translationimportqueueentry__productseries__fk FOREIGN KEY (productseries) REFERENCES productseries(id);
23184
7675.1121.53 by Stuart Bishop
New baseline
23185
5529.1.3 by Stuart Bishop
New database schema baseline
23186
ALTER TABLE ONLY translationimportqueueentry
23187
    ADD CONSTRAINT translationimportqueueentry__sourcepackagename__fk FOREIGN KEY (sourcepackagename) REFERENCES sourcepackagename(id);
23188
7675.1121.53 by Stuart Bishop
New baseline
23189
5529.1.3 by Stuart Bishop
New database schema baseline
23190
ALTER TABLE ONLY translationmessage
23191
    ADD CONSTRAINT translationmessage__msgstr0__fk FOREIGN KEY (msgstr0) REFERENCES potranslation(id);
23192
7675.1121.53 by Stuart Bishop
New baseline
23193
5529.1.3 by Stuart Bishop
New database schema baseline
23194
ALTER TABLE ONLY translationmessage
23195
    ADD CONSTRAINT translationmessage__msgstr1__fk FOREIGN KEY (msgstr1) REFERENCES potranslation(id);
23196
7675.1121.53 by Stuart Bishop
New baseline
23197
5529.1.3 by Stuart Bishop
New database schema baseline
23198
ALTER TABLE ONLY translationmessage
23199
    ADD CONSTRAINT translationmessage__msgstr2__fk FOREIGN KEY (msgstr2) REFERENCES potranslation(id);
23200
7675.1121.53 by Stuart Bishop
New baseline
23201
5529.1.3 by Stuart Bishop
New database schema baseline
23202
ALTER TABLE ONLY translationmessage
23203
    ADD CONSTRAINT translationmessage__msgstr3__fk FOREIGN KEY (msgstr3) REFERENCES potranslation(id);
23204
7675.1121.53 by Stuart Bishop
New baseline
23205
5529.1.3 by Stuart Bishop
New database schema baseline
23206
ALTER TABLE ONLY translationmessage
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23207
    ADD CONSTRAINT translationmessage__msgstr4__fk FOREIGN KEY (msgstr4) REFERENCES potranslation(id);
23208
7675.1121.53 by Stuart Bishop
New baseline
23209
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23210
ALTER TABLE ONLY translationmessage
23211
    ADD CONSTRAINT translationmessage__msgstr5__fk FOREIGN KEY (msgstr5) REFERENCES potranslation(id);
23212
5529.1.3 by Stuart Bishop
New database schema baseline
23213
23214
ALTER TABLE ONLY translationmessage
23215
    ADD CONSTRAINT translationmessage__potmsgset__fk FOREIGN KEY (potmsgset) REFERENCES potmsgset(id);
23216
7675.1121.53 by Stuart Bishop
New baseline
23217
5529.1.3 by Stuart Bishop
New database schema baseline
23218
ALTER TABLE ONLY translationmessage
23219
    ADD CONSTRAINT translationmessage__reviewer__fk FOREIGN KEY (reviewer) REFERENCES person(id);
23220
7675.1121.53 by Stuart Bishop
New baseline
23221
5529.1.3 by Stuart Bishop
New database schema baseline
23222
ALTER TABLE ONLY translationmessage
23223
    ADD CONSTRAINT translationmessage__submitter__fk FOREIGN KEY (submitter) REFERENCES person(id);
23224
7675.1121.53 by Stuart Bishop
New baseline
23225
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23226
ALTER TABLE ONLY translationmessage
23227
    ADD CONSTRAINT translationmessage_language_fkey FOREIGN KEY (language) REFERENCES language(id);
23228
7675.1121.53 by Stuart Bishop
New baseline
23229
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23230
ALTER TABLE ONLY translationmessage
23231
    ADD CONSTRAINT translationmessage_potemplate_fkey FOREIGN KEY (potemplate) REFERENCES potemplate(id);
23232
7675.1121.53 by Stuart Bishop
New baseline
23233
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23234
ALTER TABLE ONLY translationrelicensingagreement
23235
    ADD CONSTRAINT translationrelicensingagreement__person__fk FOREIGN KEY (person) REFERENCES person(id);
23236
7675.1121.53 by Stuart Bishop
New baseline
23237
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23238
ALTER TABLE ONLY translationtemplateitem
23239
    ADD CONSTRAINT translationtemplateitem_potemplate_fkey FOREIGN KEY (potemplate) REFERENCES potemplate(id);
23240
7675.1121.53 by Stuart Bishop
New baseline
23241
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23242
ALTER TABLE ONLY translationtemplateitem
23243
    ADD CONSTRAINT translationtemplateitem_potmsgset_fkey FOREIGN KEY (potmsgset) REFERENCES potmsgset(id);
23244
7675.1121.53 by Stuart Bishop
New baseline
23245
23246
ALTER TABLE ONLY translationtemplatesbuild
23247
    ADD CONSTRAINT translationtemplatesbuild_branch_fkey FOREIGN KEY (branch) REFERENCES branch(id);
23248
23249
23250
ALTER TABLE ONLY translationtemplatesbuild
23251
    ADD CONSTRAINT translationtemplatesbuild_build_farm_job_fkey FOREIGN KEY (build_farm_job) REFERENCES buildfarmjob(id);
23252
23253
3691.17.3 by Stuart Bishop
New database baseline
23254
ALTER TABLE ONLY translator
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23255
    ADD CONSTRAINT translator_language_fk FOREIGN KEY (language) REFERENCES language(id);
3691.17.3 by Stuart Bishop
New database baseline
23256
7675.1121.53 by Stuart Bishop
New baseline
23257
3691.17.3 by Stuart Bishop
New database baseline
23258
ALTER TABLE ONLY translator
23259
    ADD CONSTRAINT translator_person_fk FOREIGN KEY (translator) REFERENCES person(id);
23260
7675.1121.53 by Stuart Bishop
New baseline
23261
3691.17.3 by Stuart Bishop
New database baseline
23262
ALTER TABLE ONLY translator
23263
    ADD CONSTRAINT translator_translationgroup_fk FOREIGN KEY (translationgroup) REFERENCES translationgroup(id);
23264
7675.1121.53 by Stuart Bishop
New baseline
23265
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
23266
ALTER TABLE ONLY usertouseremail
23267
    ADD CONSTRAINT usertouseremail__recipient__fk FOREIGN KEY (recipient) REFERENCES person(id);
23268
7675.1121.53 by Stuart Bishop
New baseline
23269
7675.299.1 by Stuart Bishop
New baseline from 2.7.2 release
23270
ALTER TABLE ONLY usertouseremail
23271
    ADD CONSTRAINT usertouseremail__sender__fk FOREIGN KEY (sender) REFERENCES person(id);
23272
7675.1121.53 by Stuart Bishop
New baseline
23273
3691.17.3 by Stuart Bishop
New database baseline
23274
ALTER TABLE ONLY vote
23275
    ADD CONSTRAINT vote_person_fk FOREIGN KEY (person) REFERENCES person(id);
23276
7675.1121.53 by Stuart Bishop
New baseline
23277
3691.17.3 by Stuart Bishop
New database baseline
23278
ALTER TABLE ONLY vote
23279
    ADD CONSTRAINT vote_poll_fk FOREIGN KEY (poll) REFERENCES poll(id);
23280
7675.1121.53 by Stuart Bishop
New baseline
23281
3691.17.3 by Stuart Bishop
New database baseline
23282
ALTER TABLE ONLY vote
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23283
    ADD CONSTRAINT vote_poll_option_fk FOREIGN KEY (poll, option) REFERENCES polloption(poll, id);
3691.17.3 by Stuart Bishop
New database baseline
23284
7675.1121.53 by Stuart Bishop
New baseline
23285
3691.17.3 by Stuart Bishop
New database baseline
23286
ALTER TABLE ONLY votecast
23287
    ADD CONSTRAINT votecast_person_fk FOREIGN KEY (person) REFERENCES person(id);
23288
7675.1121.53 by Stuart Bishop
New baseline
23289
3691.17.3 by Stuart Bishop
New database baseline
23290
ALTER TABLE ONLY votecast
23291
    ADD CONSTRAINT votecast_poll_fk FOREIGN KEY (poll) REFERENCES poll(id);
23292
7139.1.1 by Stuart Bishop
Revert db unfreeze reversion (merge -r 7132..7131)
23293
3691.17.3 by Stuart Bishop
New database baseline
23294
ALTER TABLE ONLY wikiname
23295
    ADD CONSTRAINT wikiname_person_fk FOREIGN KEY (person) REFERENCES person(id);
23296
7675.1121.53 by Stuart Bishop
New baseline
23297
3691.17.3 by Stuart Bishop
New database baseline
23298