Merge lp:~adeuring/launchpad/bug-511240-bug-heat-include-duplicate-bugs into lp:launchpad
- bug-511240-bug-heat-include-duplicate-bugs
- Merge into devel
Status: | Merged |
---|---|
Approved by: | Abel Deuring |
Approved revision: | no longer in the source branch. |
Merge reported by: | Deryck Hodge |
Merged at revision: | not available |
Proposed branch: | lp:~adeuring/launchpad/bug-511240-bug-heat-include-duplicate-bugs |
Merge into: | lp:launchpad |
Diff against target: |
17438 lines (+6669/-2949) 211 files modified
.bzrignore (+2/-0) configs/development/launchpad-lazr.conf (+3/-0) configs/testrunner/launchpad-lazr.conf (+5/-0) cronscripts/process-apport-blobs.py (+33/-0) daemons/cache-database-replication-lag.py (+53/-0) database/replication/helpers.py (+9/-0) database/sampledata/current-dev.sql (+214/-136) database/sampledata/current.sql (+214/-136) database/schema/Makefile (+2/-0) database/schema/comments.sql (+61/-62) database/schema/diagram.py (+2/-3) database/schema/patch-2207-23-0.sql (+19/-0) database/schema/patch-2207-28-1.sql (+9/-0) database/schema/patch-2207-29-0.sql (+34/-0) database/schema/patch-2207-30-0.sql (+14/-0) database/schema/patch-2207-31-0.sql (+27/-0) database/schema/patch-2207-32-0.sql (+24/-0) database/schema/patch-2207-33-0.sql (+9/-0) database/schema/patch-2207-34-0.sql (+11/-0) database/schema/patch-2207-35-0.sql (+8/-0) database/schema/security.cfg (+41/-22) database/schema/security.py (+2/-3) database/schema/trusted.sql (+57/-0) lib/canonical/config/schema-lazr.conf (+7/-1) lib/canonical/launchpad/browser/launchpad.py (+35/-32) lib/canonical/launchpad/browser/temporaryblobstorage.py (+48/-4) lib/canonical/launchpad/database/account.py (+4/-0) lib/canonical/launchpad/database/temporaryblobstorage.py (+27/-6) lib/canonical/launchpad/doc/account.txt (+72/-61) lib/canonical/launchpad/doc/oauth.txt (+45/-32) lib/canonical/launchpad/doc/renamed-view.txt (+1/-1) lib/canonical/launchpad/doc/temporaryblobstorage.txt (+45/-0) lib/canonical/launchpad/icing/style.css (+5/-1) lib/canonical/launchpad/interfaces/_schema_circular_imports.py (+10/-5) lib/canonical/launchpad/interfaces/temporaryblobstorage.py (+28/-1) lib/canonical/launchpad/javascript/code/codereview.js (+49/-34) lib/canonical/launchpad/pagetests/webservice/xx-temporary-blob-storage.txt (+81/-0) lib/canonical/launchpad/webapp/dbpolicy.py (+11/-19) lib/canonical/launchpad/zcml/temporaryblobstorage.zcml (+16/-0) lib/lp/answers/doc/person.txt (+155/-138) lib/lp/answers/doc/projectgroup.txt (+45/-38) lib/lp/answers/doc/question.txt (+162/-132) lib/lp/answers/doc/questionsets.txt (+148/-139) lib/lp/answers/doc/questiontarget.txt (+266/-245) lib/lp/answers/doc/workflow.txt (+209/-193) lib/lp/answers/interfaces/questionreopening.py (+1/-0) lib/lp/archivepublisher/deathrow.py (+16/-16) lib/lp/archivepublisher/domination.py (+34/-37) lib/lp/archivepublisher/tests/deathrow.txt (+6/-6) lib/lp/archivepublisher/tests/test_deathrow.py (+1/-4) lib/lp/archivepublisher/tests/test_dominator.py (+10/-14) lib/lp/archiveuploader/dscfile.py (+34/-1) lib/lp/archiveuploader/nascentupload.py (+2/-5) lib/lp/archiveuploader/tests/test_buildduploads.py (+2/-2) lib/lp/archiveuploader/tests/test_recipeuploads.py (+75/-0) lib/lp/archiveuploader/tests/test_uploadprocessor.py (+3/-3) lib/lp/bugs/browser/bug.py (+0/-20) lib/lp/bugs/browser/bugtarget.py (+129/-191) lib/lp/bugs/browser/bugtask.py (+48/-10) lib/lp/bugs/browser/configure.zcml (+15/-6) lib/lp/bugs/browser/distribution_upstream_bug_report.py (+17/-5) lib/lp/bugs/browser/tests/bug-heat-view.txt (+56/-11) lib/lp/bugs/browser/tests/bugtarget-filebug-views.txt (+52/-38) lib/lp/bugs/configure.zcml (+42/-3) lib/lp/bugs/doc/bug.txt (+88/-0) lib/lp/bugs/doc/bugattachments.txt (+71/-6) lib/lp/bugs/doc/bugtask-search.txt (+38/-0) lib/lp/bugs/doc/distribution-upstream-bug-report.txt (+66/-25) lib/lp/bugs/doc/filebug-data-parser.txt (+3/-3) lib/lp/bugs/doc/official-bug-tags.txt (+3/-3) lib/lp/bugs/interfaces/apportjob.py (+74/-0) lib/lp/bugs/interfaces/bug.py (+33/-0) lib/lp/bugs/interfaces/bugtarget.py (+6/-1) lib/lp/bugs/interfaces/bugtask.py (+8/-2) lib/lp/bugs/model/apportjob.py (+263/-0) lib/lp/bugs/model/bug.py (+97/-14) lib/lp/bugs/model/bugjob.py (+1/-12) lib/lp/bugs/model/bugtarget.py (+15/-1) lib/lp/bugs/model/bugtask.py (+40/-36) lib/lp/bugs/scripts/bugheat.py (+2/-8) lib/lp/bugs/scripts/tests/test_bugheat.py (+23/-3) lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt (+32/-16) lib/lp/bugs/stories/guided-filebug/xx-bug-reporting-tools.txt (+37/-0) lib/lp/bugs/stories/patches-view/patches-view.txt (+493/-0) lib/lp/bugs/stories/webservice/xx-bug.txt (+8/-0) lib/lp/bugs/stories/xx-bugs-statistics-portlet.txt (+52/-46) lib/lp/bugs/templates/bugtarget-filebug-search.pt (+9/-1) lib/lp/bugs/templates/bugtarget-patches.pt (+115/-0) lib/lp/bugs/templates/bugtarget-portlet-bugfilters-content.pt (+10/-0) lib/lp/bugs/templates/distribution-upstream-bug-report.pt (+21/-1) lib/lp/bugs/tests/bug.py (+45/-1) lib/lp/bugs/tests/test_apportjob.py (+426/-0) lib/lp/bugs/tests/test_bugheat.py (+209/-4) lib/lp/bugs/utilities/filebugdataparser.py (+168/-0) lib/lp/buildmaster/interfaces/buildbase.py (+15/-0) lib/lp/buildmaster/model/buildbase.py (+39/-4) lib/lp/code/browser/branch.py (+5/-3) lib/lp/code/browser/branchmergeproposal.py (+40/-1) lib/lp/code/browser/configure.zcml (+7/-0) lib/lp/code/browser/tests/test_branchmergeproposal.py (+9/-20) lib/lp/code/configure.zcml (+9/-2) lib/lp/code/doc/branch-merge-proposal-notifications.txt (+1/-1) lib/lp/code/doc/codereviewcomment.txt (+2/-8) lib/lp/code/interfaces/branch.py (+15/-18) lib/lp/code/interfaces/branchmergeproposal.py (+7/-3) lib/lp/code/interfaces/sourcepackagerecipebuild.py (+7/-0) lib/lp/code/mail/branchmergeproposal.py (+15/-22) lib/lp/code/mail/codehandler.py (+4/-7) lib/lp/code/mail/tests/test_branchmergeproposal.py (+1/-4) lib/lp/code/mail/tests/test_codehandler.py (+24/-25) lib/lp/code/model/branch.py (+4/-7) lib/lp/code/model/branchmergeproposal.py (+3/-12) lib/lp/code/model/branchmergeproposaljob.py (+0/-8) lib/lp/code/model/sourcepackagerecipebuild.py (+23/-19) lib/lp/code/model/tests/test_branch.py (+1/-3) lib/lp/code/model/tests/test_branchmergeproposals.py (+1/-31) lib/lp/code/model/tests/test_codereviewcomment.py (+0/-3) lib/lp/code/stories/branches/xx-branchmergeproposals.txt (+1/-1) lib/lp/code/stories/branches/xx-claiming-team-code-reviews.txt (+2/-1) lib/lp/code/stories/webservice/xx-branchmergeproposal.txt (+3/-15) lib/lp/code/templates/branchmergeproposal-index.pt (+53/-24) lib/lp/code/windmill/tests/test_branchmergeproposal_commitmessage.py (+3/-3) lib/lp/registry/configure.zcml (+2/-1) lib/lp/registry/doc/distribution.txt (+6/-0) lib/lp/registry/doc/private-team-roles.txt (+1/-1) lib/lp/registry/doc/sourcepackage.txt (+13/-12) lib/lp/registry/doc/structural-subscriptions.txt (+1/-1) lib/lp/registry/interfaces/distroseries.py (+3/-1) lib/lp/registry/model/distribution.py (+23/-7) lib/lp/registry/model/distributionmirror.py (+18/-18) lib/lp/registry/model/distributionsourcepackage.py (+23/-0) lib/lp/registry/model/distroseries.py (+9/-4) lib/lp/registry/model/person.py (+11/-1) lib/lp/registry/model/product.py (+3/-3) lib/lp/registry/model/productseries.py (+5/-0) lib/lp/registry/model/project.py (+2/-0) lib/lp/registry/model/sourcepackage.py (+5/-0) lib/lp/registry/model/sourcepackagename.py (+3/-0) lib/lp/services/job/runner.py (+11/-0) lib/lp/services/mail/sendmail.py (+1/-2) lib/lp/services/openid/doc/openid-rp-config.txt (+17/-9) lib/lp/services/worlddata/doc/language.txt (+6/-0) lib/lp/services/worlddata/model/language.py (+12/-5) lib/lp/soyuz/browser/archive.py (+1/-1) lib/lp/soyuz/browser/tests/archive-views.txt (+4/-4) lib/lp/soyuz/browser/tests/distributionsourcepackagerelease-views.txt (+2/-2) lib/lp/soyuz/browser/tests/publishing-views.txt (+2/-6) lib/lp/soyuz/configure.zcml (+12/-26) lib/lp/soyuz/doc/archive-dependencies.txt (+42/-2) lib/lp/soyuz/doc/archive.txt (+5/-2) lib/lp/soyuz/doc/build-failedtoupload-workflow.txt (+5/-0) lib/lp/soyuz/doc/build.txt (+4/-4) lib/lp/soyuz/doc/buildd-queuebuilder-lookup.txt (+3/-3) lib/lp/soyuz/doc/buildd-slavescanner.txt (+5/-8) lib/lp/soyuz/doc/distribution.txt (+4/-9) lib/lp/soyuz/doc/distroarchseries.txt (+2/-2) lib/lp/soyuz/doc/distroarchseriesbinarypackage.txt (+4/-8) lib/lp/soyuz/doc/distroseries-publishing-lookups.txt (+3/-3) lib/lp/soyuz/doc/distroseriesqueue-translations.txt (+2/-3) lib/lp/soyuz/doc/gina-multiple-arch.txt (+4/-4) lib/lp/soyuz/doc/gina.txt (+5/-5) lib/lp/soyuz/doc/publishing.txt (+8/-36) lib/lp/soyuz/doc/sourcepackagerelease-build-lookup.txt (+7/-7) lib/lp/soyuz/doc/sourcepackagerelease.txt (+5/-1) lib/lp/soyuz/doc/soyuz-set-of-uploads.txt (+6/-8) lib/lp/soyuz/doc/soyuz-upload.txt.disabled (+1/-1) lib/lp/soyuz/interfaces/archive.py (+3/-0) lib/lp/soyuz/interfaces/archivearch.py (+11/-0) lib/lp/soyuz/interfaces/build.py (+1/-15) lib/lp/soyuz/interfaces/packagecloner.py (+1/-1) lib/lp/soyuz/interfaces/processor.py (+24/-1) lib/lp/soyuz/interfaces/publishing.py (+3/-33) lib/lp/soyuz/interfaces/sourcepackagerelease.py (+10/-0) lib/lp/soyuz/model/archive.py (+35/-0) lib/lp/soyuz/model/archivearch.py (+16/-0) lib/lp/soyuz/model/build.py (+4/-31) lib/lp/soyuz/model/packagecloner.py (+15/-17) lib/lp/soyuz/model/processor.py (+12/-0) lib/lp/soyuz/model/publishing.py (+72/-194) lib/lp/soyuz/model/queue.py (+0/-1) lib/lp/soyuz/model/sourcepackagerelease.py (+8/-4) lib/lp/soyuz/scripts/expire_ppa_binaries.py (+2/-2) lib/lp/soyuz/scripts/ftpmaster.py (+1/-1) lib/lp/soyuz/scripts/gina/handlers.py (+8/-8) lib/lp/soyuz/scripts/tests/test_buildd_cronscripts.py (+2/-5) lib/lp/soyuz/scripts/tests/test_copypackage.py (+11/-11) lib/lp/soyuz/scripts/tests/test_expire_ppa_bins.py (+6/-6) lib/lp/soyuz/scripts/tests/test_obsoletedistroseries.py (+5/-7) lib/lp/soyuz/scripts/tests/test_processdeathrow.py (+14/-15) lib/lp/soyuz/scripts/tests/test_publishdistro.py (+1/-1) lib/lp/soyuz/scripts/tests/test_removepackage.py (+14/-14) lib/lp/soyuz/stories/ppa/xx-copy-packages.txt (+1/-1) lib/lp/soyuz/stories/ppa/xx-delete-packages.txt (+3/-3) lib/lp/soyuz/stories/ppa/xx-ppa-packages.txt (+6/-6) lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt (+1/-1) lib/lp/soyuz/stories/soyuz/xx-person-packages.txt (+3/-3) lib/lp/soyuz/stories/webservice/xx-archive.txt (+2/-2) lib/lp/soyuz/tests/ppa.py (+4/-6) lib/lp/soyuz/tests/soyuz.py (+7/-12) lib/lp/soyuz/tests/test_archive.py (+56/-3) lib/lp/soyuz/tests/test_archivearch.py (+57/-0) lib/lp/soyuz/tests/test_build.py (+44/-0) lib/lp/soyuz/tests/test_buildqueue.py (+3/-3) lib/lp/soyuz/tests/test_processor.py (+32/-0) lib/lp/soyuz/tests/test_publishing.py (+110/-26) lib/lp/soyuz/tests/test_publishing_models.py (+1/-1) lib/lp/testing/factory.py (+122/-46) lib/schoolbell/icalendar.py (+4/-5) scripts/ftpmaster-tools/remove-package.py (+4/-4) scripts/ftpmaster-tools/sync-source.py (+1/-1) utilities/findimports.py (+3/-5) |
To merge this branch: | bzr merge lp:~adeuring/launchpad/bug-511240-bug-heat-include-duplicate-bugs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Francis J. Lacoste (community) | release-critical | Approve | |
Gavin Panella (community) | code | Approve | |
Review via email: mp+20533@code.launchpad.net |
Commit message
Description of the change
Abel Deuring (adeuring) wrote : | # |
Gavin Panella (allenap) wrote : | # |
Hi Abel,
One tiny tiny suggestion. Other than that, it's great :)
Gavin.
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -10,12 +10,6 @@
>
> from datetime import datetime
>
> -from zope.component import getUtility
> -from zope.interface import implements
> -
> -from canonical.
> -from canonical.
> -
> from lp.bugs.
>
>
> @@ -55,7 +49,8 @@
> def _getHeatFromAff
> """Return the heat generated by the bug's affected users."""
> return (
> - self.bug.
> + self.bug.
> + BugHeatConstant
>
> def _getHeatFromSub
> """Return the heat generated by the bug's subscribers."""
>
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -7,7 +7,7 @@
>
> import unittest
>
> -from datetime import datetime, timedelta
> +from datetime import timedelta
>
> from canonical.testing import LaunchpadZopele
>
> @@ -47,7 +47,7 @@
>
> def test__getHeatFr
> # BugHeatCalculat
> - # heat generated by users affected by the bug.
> + # heat generated by users affected by the bug and by duplicate bugs.
> # By default, the heat will be BugHeatConstant
> # there will be one affected user (the user who filed the bug).
> self.assertEqual(
> @@ -68,6 +68,23 @@
> "Heat from affected users does not match expected heat. "
> "Expected %s, got %s" % (expected_heat, actual_heat))
>
> + # When our bug has duplicates, users affected by these duplicates
> + # are included in _getHeatFromAff
> + for i in range(3):
> + dupe = self.factory.
> + dupe.duplicateof = self.bug
> + expected_heat += BugHeatConstant
Perhaps add a comment to say that it's the owners of the
factory-created bugs that are contributing to the heat score above?
> +
> + person = self.factory.
> + dupe.markUserAf
> + expected_heat += BugHeatConstant
> + actual_heat = self.calculator
> + self.assertEqual(
> + expected_heat, actual_heat,
> + "Heat from users affected by duplicate bugs does not match "
> + "expected heat. Expected %s, got %s"
> + % (expected_heat, actual_heat))
> +
> def test__getHeatFr
> # BugHeatCalculat
> # heat generated by users subscribed tothe bug....
Francis J. Lacoste (flacoste) wrote : | # |
Land it on db-devel.
Preview Diff
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2010-01-13 22:16:04 +0000 |
3 | +++ .bzrignore 2010-03-04 20:06:42 +0000 |
4 | @@ -58,3 +58,5 @@ |
5 | .subversion |
6 | lib/canonical/buildd/launchpad-files |
7 | .testrepository |
8 | +.memcache.pid |
9 | +./pipes |
10 | |
11 | === modified file 'configs/development/launchpad-lazr.conf' |
12 | --- configs/development/launchpad-lazr.conf 2010-02-12 19:26:23 +0000 |
13 | +++ configs/development/launchpad-lazr.conf 2010-03-04 20:06:42 +0000 |
14 | @@ -223,6 +223,9 @@ |
15 | error_dir: /var/tmp/poimport |
16 | oops_prefix: POI |
17 | |
18 | +[process_apport_blobs] |
19 | +error_dir: /var/tmp/lperr |
20 | + |
21 | [supermirror_puller] |
22 | error_dir: /var/tmp/codehosting.test |
23 | oops_prefix: SMP |
24 | |
25 | === modified file 'configs/testrunner/launchpad-lazr.conf' |
26 | --- configs/testrunner/launchpad-lazr.conf 2010-02-23 11:53:24 +0000 |
27 | +++ configs/testrunner/launchpad-lazr.conf 2010-03-04 20:06:42 +0000 |
28 | @@ -193,6 +193,11 @@ |
29 | error_dir: /var/tmp/poimport.test |
30 | oops_prefix: TPOI |
31 | |
32 | +[process_apport_blobs] |
33 | +dbuser: process-apport-blobs |
34 | +oops_prefix: TAPPORTBLOB |
35 | +error_dir: /var/tmp/lperr.test |
36 | + |
37 | [rosetta] |
38 | generate_templates: True |
39 | |
40 | |
41 | === added file 'cronscripts/process-apport-blobs.py' |
42 | --- cronscripts/process-apport-blobs.py 1970-01-01 00:00:00 +0000 |
43 | +++ cronscripts/process-apport-blobs.py 2010-03-04 20:06:42 +0000 |
44 | @@ -0,0 +1,33 @@ |
45 | +#!/usr/bin/python2.5 |
46 | +# |
47 | +# Copyright 2010 Canonical Ltd. This software is licensed under the |
48 | +# GNU Affero General Public License version 3 (see the file LICENSE). |
49 | + |
50 | +# pylint: disable-msg=W0403 |
51 | + |
52 | +"""Process uploaded Apport BLOBs.""" |
53 | + |
54 | +__metaclass__ = type |
55 | + |
56 | +import _pythonpath |
57 | + |
58 | +from canonical.launchpad.webapp import errorlog |
59 | + |
60 | +from lp.services.job.runner import JobCronScript |
61 | +from lp.bugs.interfaces.apportjob import IProcessApportBlobJobSource |
62 | + |
63 | + |
64 | +class RunProcessApportBlobs(JobCronScript): |
65 | + """Run ProcessApportBlobJobs.""" |
66 | + |
67 | + config_name = 'process_apport_blobs' |
68 | + source_interface = IProcessApportBlobJobSource |
69 | + |
70 | + def main(self): |
71 | + errorlog.globalErrorUtility.configure(self.config_name) |
72 | + return super(RunProcessApportBlobs, self).main() |
73 | + |
74 | + |
75 | +if __name__ == '__main__': |
76 | + script = RunProcessApportBlobs() |
77 | + script.lock_and_run() |
78 | |
79 | === added symlink 'daemons/_pythonpath.py' |
80 | === target is u'../_pythonpath.py' |
81 | === added file 'daemons/cache-database-replication-lag.py' |
82 | --- daemons/cache-database-replication-lag.py 1970-01-01 00:00:00 +0000 |
83 | +++ daemons/cache-database-replication-lag.py 2010-03-04 20:06:42 +0000 |
84 | @@ -0,0 +1,53 @@ |
85 | +#!/usr/bin/python2.5 |
86 | +# |
87 | +# Copyright 2010 Canonical Ltd. This software is licensed under the |
88 | +# GNU Affero General Public License version 3 (see the file LICENSE). |
89 | + |
90 | +"""Calculate database replication lag and cache it.""" |
91 | + |
92 | +__metaclass__ = type |
93 | +__all__ = [] |
94 | + |
95 | +import _pythonpath |
96 | + |
97 | +import sys |
98 | +import time |
99 | + |
100 | +import psycopg2 |
101 | + |
102 | +from canonical.database.sqlbase import connect, ISOLATION_LEVEL_AUTOCOMMIT |
103 | +from canonical.launchpad.scripts import db_options, logger |
104 | +from lp.scripts.helpers import LPOptionParser |
105 | + |
106 | + |
107 | +def main(args=None): |
108 | + parser = LPOptionParser() |
109 | + db_options(parser) |
110 | + parser.add_option( |
111 | + "-s", "--sleep", dest="sleep", type="int", default=5, |
112 | + metavar="SECS", help="Wait SECS seconds between refreshes.") |
113 | + |
114 | + (options, args) = parser.parse_args(args) |
115 | + if len(args) != 0: |
116 | + parser.error("Too many arguments.") |
117 | + |
118 | + log = logger(options) |
119 | + |
120 | + while True: |
121 | + try: |
122 | + con = connect(user="lagmon", isolation=ISOLATION_LEVEL_AUTOCOMMIT) |
123 | + cur = con.cursor() |
124 | + while True: |
125 | + cur.execute("SELECT update_replication_lag_cache()") |
126 | + if cur.fetchone()[0]: |
127 | + log.info("Updated.") |
128 | + else: |
129 | + log.error("update_replication_lag_cache() failed.") |
130 | + time.sleep(options.sleep) |
131 | + except psycopg2.Error, x: |
132 | + log.error("%s. Retrying.", str(x).strip()) |
133 | + time.sleep(options.sleep) |
134 | + |
135 | + |
136 | +if __name__ == '__main__': |
137 | + sys.exit(main()) |
138 | |
139 | === modified file 'database/replication/helpers.py' |
140 | --- database/replication/helpers.py 2010-01-22 06:25:48 +0000 |
141 | +++ database/replication/helpers.py 2010-03-04 20:06:42 +0000 |
142 | @@ -44,6 +44,7 @@ |
143 | LPMAIN_SEED = frozenset([ |
144 | ('public', 'person'), |
145 | ('public', 'launchpaddatabaserevision'), |
146 | + ('public', 'databasereplicationlag'), |
147 | ('public', 'fticache'), |
148 | ('public', 'nameblacklist'), |
149 | ('public', 'openidconsumerassociation'), |
150 | @@ -57,6 +58,7 @@ |
151 | ('public', 'parsedapachelog'), |
152 | ('public', 'shipitsurvey'), |
153 | ('public', 'openidassociations'), # Remove this in April 2009 or later. |
154 | + ('public', 'databasereplicationlag'), |
155 | ]) |
156 | |
157 | # Explicitly list tables that should not be replicated. This includes the |
158 | @@ -87,6 +89,13 @@ |
159 | 'public.auth_group_permissions', |
160 | 'public.auth_user_groups', |
161 | 'public.auth_user_user_permissions', |
162 | + 'public.oauth_nonce', |
163 | + 'public.oauth_consumer', |
164 | + 'public.oauth_token', |
165 | + 'public.api_user', |
166 | + 'public.oauth_consumer_id_seq', |
167 | + 'public.api_user_id_seq', |
168 | + 'public.oauth_nonce_id_seq', |
169 | ]) |
170 | |
171 | # Calculate IGNORED_SEQUENCES |
172 | |
173 | === modified file 'database/sampledata/current-dev.sql' |
174 | --- database/sampledata/current-dev.sql 2010-01-18 21:30:20 +0000 |
175 | +++ database/sampledata/current-dev.sql 2010-03-04 20:06:42 +0000 |
176 | @@ -754,6 +754,27 @@ |
177 | |
178 | |
179 | |
180 | + |
181 | + |
182 | + |
183 | + |
184 | + |
185 | + |
186 | + |
187 | + |
188 | + |
189 | + |
190 | + |
191 | + |
192 | + |
193 | + |
194 | + |
195 | + |
196 | + |
197 | + |
198 | + |
199 | + |
200 | + |
201 | ALTER TABLE account DISABLE TRIGGER ALL; |
202 | |
203 | INSERT INTO account (id, date_created, creation_rationale, status, date_status_set, displayname, openid_identifier, status_comment, old_openid_identifier) VALUES (1, '2005-06-06 08:59:51.591618', 8, 20, '2005-06-06 08:59:51.591618', 'Mark Shuttleworth', 'mark_oid', NULL, '123/mark'); |
204 | @@ -976,6 +997,13 @@ |
205 | ALTER TABLE answercontact ENABLE TRIGGER ALL; |
206 | |
207 | |
208 | +ALTER TABLE apportjob DISABLE TRIGGER ALL; |
209 | + |
210 | + |
211 | + |
212 | +ALTER TABLE apportjob ENABLE TRIGGER ALL; |
213 | + |
214 | + |
215 | ALTER TABLE archive DISABLE TRIGGER ALL; |
216 | |
217 | INSERT INTO archive (id, owner, description, enabled, authorized_size, distribution, purpose, private, sources_cached, binaries_cached, package_description_cache, fti, buildd_secret, require_virtualized, name, publish, date_updated, total_count, pending_count, succeeded_count, failed_count, building_count, date_created, signing_key, removed_binary_retention_days, num_old_versions_published, displayname, relative_build_score, external_dependencies) VALUES (1, 17, NULL, true, NULL, 1, 1, false, NULL, NULL, NULL, NULL, NULL, false, 'primary', true, '2008-05-27 18:15:12.241774', 15, 1, 8, 5, 1, '2008-09-23 17:29:03.442606', NULL, NULL, NULL, 'Primary Archive for Ubuntu Linux', 0, NULL); |
218 | @@ -1086,6 +1114,39 @@ |
219 | ALTER TABLE binarypackagename ENABLE TRIGGER ALL; |
220 | |
221 | |
222 | +ALTER TABLE binarypackagepublishinghistory DISABLE TRIGGER ALL; |
223 | + |
224 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (9, 12, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
225 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (11, 15, 6, 3, 1, 3, 40, '2005-05-05 00:00:00', '2005-05-05 00:01:00', '2006-01-25 00:00:00', 7, NULL, NULL, NULL, 0, 1, NULL, NULL); |
226 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (12, 15, 6, 2, 3, 3, 40, '2006-01-25 00:00:00', '2006-01-25 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
227 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (13, 15, 1, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2007-09-13 00:00:01', NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
228 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (14, 15, 7, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2006-01-28 00:00:00', NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
229 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (15, 12, 7, 2, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
230 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (16, 15, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-24 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
231 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (17, 16, 1, 2, 1, 1, 10, '2005-07-06 00:00:00', '2005-08-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
232 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (18, 17, 1, 3, 1, 1, 10, '2005-08-07 00:00:00', '2005-08-22 00:00:00', '2005-08-22 00:00:01', NULL, NULL, '2005-08-22 00:00:02', '2005-08-23 00:00:00', 0, 1, NULL, NULL); |
233 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (19, 18, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
234 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (20, 17, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
235 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (21, 18, 11, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
236 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (22, 20, 8, 4, 1, 1, 40, '2006-09-13 00:00:00', '2006-09-13 00:00:01', '2006-09-13 00:00:01', NULL, NULL, '2006-09-13 00:00:02', '2006-09-13 00:00:03', 0, 1, 1, 'nah ...'); |
237 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (23, 6, 1, 4, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', '2006-12-01 00:00:01', NULL, NULL, '2006-12-01 00:00:02', '2006-12-01 00:00:03', 0, 1, 28, 'I do not like it either'); |
238 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (24, 21, 1, 2, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
239 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (25, 12, 1, 2, 1, 1, 10, '2007-01-19 00:00:00', '2007-02-19 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 8, NULL, NULL); |
240 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (26, 22, 1, 2, 1, 1, 40, '2006-04-11 13:00:00', '2006-04-11 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
241 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (27, 22, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
242 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (28, 23, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
243 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (29, 23, 12, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
244 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (30, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
245 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (31, 25, 8, 2, 5, 7, 20, '2007-08-09 21:55:39.561526', '2007-08-09 21:56:39.561526', NULL, NULL, NULL, NULL, NULL, 0, 12, NULL, NULL); |
246 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (32, 26, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
247 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (33, 27, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
248 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (34, 27, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
249 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (35, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 10, NULL, NULL); |
250 | + |
251 | + |
252 | +ALTER TABLE binarypackagepublishinghistory ENABLE TRIGGER ALL; |
253 | + |
254 | + |
255 | ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL; |
256 | |
257 | INSERT INTO binarypackagerelease (id, binarypackagename, version, summary, description, build, binpackageformat, component, section, priority, shlibdeps, depends, recommends, suggests, conflicts, replaces, provides, essential, installedsize, architecturespecific, fti, datecreated, pre_depends, enhances, breaks) VALUES (6, 6, '1.0', 'foobar is bad', 'foobar should be removed', 6, 1, 1, 1, 40, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, NULL, false, NULL, '2006-12-01 17:50:10.878712', NULL, NULL, NULL); |
258 | @@ -1289,19 +1350,19 @@ |
259 | |
260 | ALTER TABLE bug DISABLE TRIGGER ALL; |
261 | |
262 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (1, '2004-01-01 20:58:04.553583', NULL, 'Firefox does not support SVG', 'Firefox needs to support embedded SVG images, now that the standard has been finalised. |
263 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (1, '2004-01-01 20:58:04.553583', NULL, 'Firefox does not support SVG', 'Firefox needs to support embedded SVG images, now that the standard has been finalised. |
264 | |
265 | -The SVG standard 1.0 is complete, and draft implementations for Firefox exist. One of these implementations needs to be integrated with the base install of Firefox. Ideally, the implementation needs to include support for the manipulation of SVG objects from JavaScript to enable interactive and dynamic SVG drawings.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.344941', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
266 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (2, '2004-01-02 20:58:04.572546', 'blackhole', 'Blackhole Trash folder', 'The Trash folder seems to have significant problems! At the moment, dragging an item to the trash results in immediate deletion. The item does not appear in the Trash, it is just deleted from my hard disk. There is no undo or ability to recover the deleted file. Help!', 12, NULL, NULL, false, false, '2006-07-14 08:47:36.124403', NULL, NULL, NULL, 0, 3, 0, 0, 0, NULL); |
267 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (3, '2004-01-03 00:00:00', NULL, 'Bug Title Test', 'Shirtpkdf user@domain.org lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
268 | +The SVG standard 1.0 is complete, and draft implementations for Firefox exist. One of these implementations needs to be integrated with the base install of Firefox. Ideally, the implementation needs to include support for the manipulation of SVG objects from JavaScript to enable interactive and dynamic SVG drawings.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.344941', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
269 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (2, '2004-01-02 20:58:04.572546', 'blackhole', 'Blackhole Trash folder', 'The Trash folder seems to have significant problems! At the moment, dragging an item to the trash results in immediate deletion. The item does not appear in the Trash, it is just deleted from my hard disk. There is no undo or ability to recover the deleted file. Help!', 12, NULL, NULL, false, false, '2006-07-14 08:47:36.124403', NULL, NULL, NULL, 0, 3, 0, 0, 0, NULL, NULL); |
270 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (3, '2004-01-03 00:00:00', NULL, 'Bug Title Test', 'Shirtpkdf user@domain.org lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
271 | |
272 | y idu yifdxhfgffxShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
273 | Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
274 | |
275 | -Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo', 16, NULL, NULL, false, false, '2006-07-14 08:48:52.922462', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
276 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (4, '2004-01-04 00:00:00', NULL, 'Reflow problems with complex page layouts', 'Malone pages that use more complex layouts with portlets and fancy CSS are sometimes not getting properly reflowed after rendering.', 12, NULL, NULL, false, false, '2006-07-14 08:49:17.124885', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
277 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (5, '2004-01-05 00:00:00', NULL, 'Firefox install instructions should be complete', 'All ways of downloading firefox should provide complete install instructions. At present, they are only visible on the Release Notes page.', 12, NULL, NULL, false, false, '2006-07-14 08:49:40.553212', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
278 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (6, '2004-01-06 00:00:00', NULL, 'Firefox crashes when Save As dialog for a nonexistent window is closed', 'User-Agent: |
279 | +Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo', 16, NULL, NULL, false, false, '2006-07-14 08:48:52.922462', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
280 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (4, '2004-01-04 00:00:00', NULL, 'Reflow problems with complex page layouts', 'Malone pages that use more complex layouts with portlets and fancy CSS are sometimes not getting properly reflowed after rendering.', 12, NULL, NULL, false, false, '2006-07-14 08:49:17.124885', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
281 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (5, '2004-01-05 00:00:00', NULL, 'Firefox install instructions should be complete', 'All ways of downloading firefox should provide complete install instructions. At present, they are only visible on the Release Notes page.', 12, NULL, NULL, false, false, '2006-07-14 08:49:40.553212', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
282 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (6, '2004-01-06 00:00:00', NULL, 'Firefox crashes when Save As dialog for a nonexistent window is closed', 'User-Agent: |
283 | Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040207 Firefox/0.8 |
284 | |
285 | If a Save As dialog for a nonexistent window exists, when the dialog is closed Firefox will crash. It''s possible to cause this to happen using the "Open With/Save As" dialog. |
286 | @@ -1320,12 +1381,12 @@ |
287 | Crash! |
288 | |
289 | Expected Results: |
290 | -Not crashed.', 12, 5, NULL, false, false, '2006-05-19 06:37:40.389193', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
291 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (7, '2004-01-07 15:12:29.602117', NULL, 'A test bug', 'A test description', 16, NULL, NULL, false, false, '2006-05-19 06:37:40.391822', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
292 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (8, '2004-01-08 09:10:17.13237', NULL, 'Printing doesn''t work', 'When I press print in Firefox, nothing happens, not even a print dialog comes up.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.393303', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
293 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (9, '2004-01-09 16:42:14.080227', NULL, 'Thunderbird crashes', 'Every time I start Thunderbird it crashes.', 16, NULL, NULL, false, false, '2006-07-14 08:45:10.600579', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
294 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (10, '2004-01-10 19:42:21.890299', NULL, 'another test bug', 'test bug', 16, NULL, NULL, false, false, '2006-07-14 08:54:19.453881', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
295 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (11, '2007-03-15 20:33:56.67893', NULL, 'Make Jokosher use autoaudiosink', 'I''ve had problems when switching from Jokosher to Totem to play an Ogg. |
296 | +Not crashed.', 12, 5, NULL, false, false, '2006-05-19 06:37:40.389193', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
297 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (7, '2004-01-07 15:12:29.602117', NULL, 'A test bug', 'A test description', 16, NULL, NULL, false, false, '2006-05-19 06:37:40.391822', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
298 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (8, '2004-01-08 09:10:17.13237', NULL, 'Printing doesn''t work', 'When I press print in Firefox, nothing happens, not even a print dialog comes up.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.393303', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
299 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (9, '2004-01-09 16:42:14.080227', NULL, 'Thunderbird crashes', 'Every time I start Thunderbird it crashes.', 16, NULL, NULL, false, false, '2006-07-14 08:45:10.600579', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
300 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (10, '2004-01-10 19:42:21.890299', NULL, 'another test bug', 'test bug', 16, NULL, NULL, false, false, '2006-07-14 08:54:19.453881', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
301 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (11, '2007-03-15 20:33:56.67893', NULL, 'Make Jokosher use autoaudiosink', 'I''ve had problems when switching from Jokosher to Totem to play an Ogg. |
302 | |
303 | Totem appears to be playing normally but does not produce any sound. |
304 | If I close Jokosher then you can hear totem. |
305 | @@ -1351,11 +1412,11 @@ |
306 | Is there some way to reset alsa or the device driver - with out having |
307 | to restart? |
308 | |
309 | -Running on Ubuntu - with Jokosher 0.2 runscript.', 16, NULL, NULL, false, false, '2007-03-15 20:37:51.603369', NULL, NULL, NULL, 0, 7, 0, 0, 0, NULL); |
310 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (12, '2007-03-15 20:41:18.635493', NULL, 'Copy, Cut and Delete operations should work on selections', 'When trying to copy, cut or delete just a selected portion of an event, the operations affect the event completely. That is, you can''t select a portion and cut that piece. The whole event will be cut. Same goes for the other 2 operations.', 16, NULL, NULL, false, false, '2007-03-15 20:46:49.909153', NULL, NULL, NULL, 0, 5, 0, 0, 0, NULL); |
311 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (13, '2007-07-27 20:00:58.299796', NULL, 'Launchpad CSS and JS is not testible', 'The messages placed on this bug are for eyeball viewing of JS and CSS behaviour.', 12, NULL, NULL, false, false, '2007-07-27 20:29:46.336737', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
312 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (14, '2007-08-09 11:39:16.836856', NULL, 'jokosher exposes personal details in its actions portlet', 'Jokosher discloses to any passerby the fact that I am single and unwed in its actions portlet. Please fix this blatant violacion of privacy now!!', 63, NULL, NULL, true, true, '2007-08-09 11:39:16.836856', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
313 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (15, '2007-12-18 16:30:19.103679', NULL, 'Nonsensical bugs are useless', 'Like this one, natch.', 16, NULL, NULL, false, false, '2007-12-18 16:31:34.972893', NULL, NULL, '2007-12-18 16:31:34.790641', 0, 7, 0, 0, 0, NULL); |
314 | +Running on Ubuntu - with Jokosher 0.2 runscript.', 16, NULL, NULL, false, false, '2007-03-15 20:37:51.603369', NULL, NULL, NULL, 0, 7, 0, 0, 0, NULL, NULL); |
315 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (12, '2007-03-15 20:41:18.635493', NULL, 'Copy, Cut and Delete operations should work on selections', 'When trying to copy, cut or delete just a selected portion of an event, the operations affect the event completely. That is, you can''t select a portion and cut that piece. The whole event will be cut. Same goes for the other 2 operations.', 16, NULL, NULL, false, false, '2007-03-15 20:46:49.909153', NULL, NULL, NULL, 0, 5, 0, 0, 0, NULL, NULL); |
316 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (13, '2007-07-27 20:00:58.299796', NULL, 'Launchpad CSS and JS is not testible', 'The messages placed on this bug are for eyeball viewing of JS and CSS behaviour.', 12, NULL, NULL, false, false, '2007-07-27 20:29:46.336737', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
317 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (14, '2007-08-09 11:39:16.836856', NULL, 'jokosher exposes personal details in its actions portlet', 'Jokosher discloses to any passerby the fact that I am single and unwed in its actions portlet. Please fix this blatant violacion of privacy now!!', 63, NULL, NULL, true, true, '2007-08-09 11:39:16.836856', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
318 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (15, '2007-12-18 16:30:19.103679', NULL, 'Nonsensical bugs are useless', 'Like this one, natch.', 16, NULL, NULL, false, false, '2007-12-18 16:31:34.972893', NULL, NULL, '2007-12-18 16:31:34.790641', 0, 7, 0, 0, 0, NULL, NULL); |
319 | |
320 | |
321 | ALTER TABLE bug ENABLE TRIGGER ALL; |
322 | @@ -1437,6 +1498,13 @@ |
323 | ALTER TABLE bugcve ENABLE TRIGGER ALL; |
324 | |
325 | |
326 | +ALTER TABLE bugjob DISABLE TRIGGER ALL; |
327 | + |
328 | + |
329 | + |
330 | +ALTER TABLE bugjob ENABLE TRIGGER ALL; |
331 | + |
332 | + |
333 | ALTER TABLE bugmessage DISABLE TRIGGER ALL; |
334 | |
335 | INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (1, 2, 1, NULL, NULL, true); |
336 | @@ -1715,8 +1783,8 @@ |
337 | |
338 | ALTER TABLE buildqueue DISABLE TRIGGER ALL; |
339 | |
340 | -INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (1, 1, 'Dummy sampledata entry, not processing', 1, false, 1, 1, '00:00:00', 1, FALSE); |
341 | -INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (2, NULL, NULL, 10, false, 2, 1, '00:01:00', 1, FALSE); |
342 | +INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (1, 1, 'Dummy sampledata entry, not processing', 1, false, 1, 1, '00:00:00', 1, false); |
343 | +INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (2, NULL, NULL, 10, false, 2, 1, '00:01:00', 1, false); |
344 | |
345 | |
346 | ALTER TABLE buildqueue ENABLE TRIGGER ALL; |
347 | @@ -2152,6 +2220,13 @@ |
348 | ALTER TABLE cvereference ENABLE TRIGGER ALL; |
349 | |
350 | |
351 | +ALTER TABLE databasereplicationlag DISABLE TRIGGER ALL; |
352 | + |
353 | + |
354 | + |
355 | +ALTER TABLE databasereplicationlag ENABLE TRIGGER ALL; |
356 | + |
357 | + |
358 | ALTER TABLE diff DISABLE TRIGGER ALL; |
359 | |
360 | |
361 | @@ -2209,16 +2284,16 @@ |
362 | |
363 | ALTER TABLE distributionmirror DISABLE TRIGGER ALL; |
364 | |
365 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
366 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (2, 1, 'invalid-mirror', 'http://localhost:11375/invalid-mirror/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.436833', NULL, 20, NULL, NULL); |
367 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (3, 1, 'unreachable-mirror', 'http://localhost:11375/timeout/', NULL, NULL, NULL, NULL, 12, 30, 75, 2, true, true, '2006-10-16 18:31:43.437635', NULL, 30, NULL, NULL); |
368 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (4, 1, 'archive-404-mirror', 'http://localhost:11375/archive-mirror/', NULL, NULL, NULL, NULL, 12, 30, 75, 1, true, true, '2006-10-16 18:31:43.438573', NULL, 30, NULL, NULL); |
369 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (5, 1, 'releases-mirror', 'http://localhost:11375/valid-mirror/releases/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.439336', NULL, 30, NULL, NULL); |
370 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (6, 1, 'releases-mirror2', 'http://localhost:11375/valid-mirror/releases2/', NULL, NULL, NULL, NULL, 12, 50, 82, 2, true, true, '2006-10-16 18:31:43.440079', NULL, 30, NULL, NULL); |
371 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (7, 1, 'archive-mirror2', 'http://localhost:11375/valid-mirror2/', NULL, NULL, NULL, NULL, 1, 10, 9, 1, true, true, '2006-10-16 18:31:43.440832', NULL, 30, NULL, NULL); |
372 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (8, 1, 'canonical-archive', 'http://archive.ubuntu.com/ubuntu/', NULL, NULL, NULL, NULL, 1, 70, 225, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
373 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (9, 1, 'canonical-releases', 'http://releases.ubuntu.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
374 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (10, 1, 'random-releases-mirror', 'http://releases.random.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 10, NULL, NULL); |
375 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
376 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (2, 1, 'invalid-mirror', 'http://localhost:11375/invalid-mirror/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.436833', NULL, 20, NULL, NULL, false); |
377 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (3, 1, 'unreachable-mirror', 'http://localhost:11375/timeout/', NULL, NULL, NULL, NULL, 12, 30, 75, 2, true, true, '2006-10-16 18:31:43.437635', NULL, 30, NULL, NULL, false); |
378 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (4, 1, 'archive-404-mirror', 'http://localhost:11375/archive-mirror/', NULL, NULL, NULL, NULL, 12, 30, 75, 1, true, true, '2006-10-16 18:31:43.438573', NULL, 30, NULL, NULL, false); |
379 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (5, 1, 'releases-mirror', 'http://localhost:11375/valid-mirror/releases/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.439336', NULL, 30, NULL, NULL, false); |
380 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (6, 1, 'releases-mirror2', 'http://localhost:11375/valid-mirror/releases2/', NULL, NULL, NULL, NULL, 12, 50, 82, 2, true, true, '2006-10-16 18:31:43.440079', NULL, 30, NULL, NULL, false); |
381 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (7, 1, 'archive-mirror2', 'http://localhost:11375/valid-mirror2/', NULL, NULL, NULL, NULL, 1, 10, 9, 1, true, true, '2006-10-16 18:31:43.440832', NULL, 30, NULL, NULL, false); |
382 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (8, 1, 'canonical-archive', 'http://archive.ubuntu.com/ubuntu/', NULL, NULL, NULL, NULL, 1, 70, 225, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
383 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (9, 1, 'canonical-releases', 'http://releases.ubuntu.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
384 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (10, 1, 'random-releases-mirror', 'http://releases.random.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 10, NULL, NULL, false); |
385 | |
386 | |
387 | ALTER TABLE distributionmirror ENABLE TRIGGER ALL; |
388 | @@ -8068,10 +8143,11 @@ |
389 | |
390 | ALTER TABLE processorfamily DISABLE TRIGGER ALL; |
391 | |
392 | -INSERT INTO processorfamily (id, name, title, description) VALUES (1, 'x86', 'Intel 386 compatible chips', 'Bring back the 8086!'); |
393 | -INSERT INTO processorfamily (id, name, title, description) VALUES (2, 'powerpc', 'PowerPC compatible systems, G3 G4 etc', 'An architecture conceived by Motorola and developed further in cooperation with IBM. Was used very successfully by Apple for their PowerMac range, until 2007.'); |
394 | -INSERT INTO processorfamily (id, name, title, description) VALUES (3, 'amd64', 'AMD64 and Intel EM64T and compatible systems', 'A 64-bit extension to the venerable x86 architecture, pioneered by AMD and later adopted by Intel as well.'); |
395 | -INSERT INTO processorfamily (id, name, title, description) VALUES (4, 'hppa', 'PA-RISC Processors', 'The HP PA-RISC and compatible processors'); |
396 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (1, 'x86', 'Intel 386 compatible chips', 'Bring back the 8086!', false); |
397 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (2, 'powerpc', 'PowerPC compatible systems, G3 G4 etc', 'An architecture conceived by Motorola and developed further in cooperation with IBM. Was used very successfully by Apple for their PowerMac range, until 2007.', false); |
398 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (3, 'amd64', 'AMD64 and Intel EM64T and compatible systems', 'A 64-bit extension to the venerable x86 architecture, pioneered by AMD and later adopted by Intel as well.', false); |
399 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (4, 'hppa', 'PA-RISC Processors', 'The HP PA-RISC and compatible processors', false); |
400 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (5, 'arm', 'ARM Processors', 'The ARM and compatible processors', true); |
401 | |
402 | |
403 | ALTER TABLE processorfamily ENABLE TRIGGER ALL; |
404 | @@ -8807,74 +8883,6 @@ |
405 | ALTER TABLE sectionselection ENABLE TRIGGER ALL; |
406 | |
407 | |
408 | -ALTER TABLE securebinarypackagepublishinghistory DISABLE TRIGGER ALL; |
409 | - |
410 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (9, 12, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
411 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (11, 15, 6, 3, 1, 3, 40, '2005-05-05 00:00:00', '2005-05-05 00:01:00', '2006-01-25 00:00:00', 7, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
412 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (12, 15, 6, 2, 3, 3, 40, '2006-01-25 00:00:00', '2006-01-25 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
413 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (13, 15, 1, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2007-09-13 00:00:01', NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
414 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (14, 15, 7, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2006-01-28 00:00:00', NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
415 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (15, 12, 7, 2, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
416 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (16, 15, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-24 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
417 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (17, 16, 1, 2, 1, 1, 10, '2005-07-06 00:00:00', '2005-08-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
418 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (18, 17, 1, 3, 1, 1, 10, '2005-08-07 00:00:00', '2005-08-22 00:00:00', '2005-08-22 00:00:01', NULL, NULL, '2005-08-22 00:00:02', '2005-08-23 00:00:00', 0, false, NULL, 1, NULL, NULL); |
419 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (19, 18, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
420 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (20, 17, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
421 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (21, 18, 11, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
422 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (22, 20, 8, 4, 1, 1, 40, '2006-09-13 00:00:00', '2006-09-13 00:00:01', '2006-09-13 00:00:01', NULL, NULL, '2006-09-13 00:00:02', '2006-09-13 00:00:03', 0, false, NULL, 1, 1, 'nah ...'); |
423 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (23, 6, 1, 4, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', '2006-12-01 00:00:01', NULL, NULL, '2006-12-01 00:00:02', '2006-12-01 00:00:03', 0, false, NULL, 1, 28, 'I do not like it either'); |
424 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (24, 21, 1, 2, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
425 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (25, 12, 1, 2, 1, 1, 10, '2007-01-19 00:00:00', '2007-02-19 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 8, NULL, NULL); |
426 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (26, 22, 1, 2, 1, 1, 40, '2006-04-11 13:00:00', '2006-04-11 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
427 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (27, 22, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
428 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (28, 23, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
429 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (29, 23, 12, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
430 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (30, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
431 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (31, 25, 8, 2, 5, 7, 20, '2007-08-09 21:55:39.561526', '2007-08-09 21:56:39.561526', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 12, NULL, NULL); |
432 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (32, 26, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
433 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (33, 27, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
434 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (34, 27, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
435 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (35, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 10, NULL, NULL); |
436 | - |
437 | - |
438 | -ALTER TABLE securebinarypackagepublishinghistory ENABLE TRIGGER ALL; |
439 | - |
440 | - |
441 | -ALTER TABLE securesourcepackagepublishinghistory DISABLE TRIGGER ALL; |
442 | - |
443 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (1, 14, 1, 1, 1, 3, '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
444 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (2, 15, 3, 2, 1, 3, '2004-09-27 11:57:13', '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
445 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (4, 17, 1, 2, 1, 1, '2004-03-14 18:00:00', '2004-03-14 18:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
446 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (5, 16, 3, 2, 1, 2, '2004-03-10 16:30:00', '2004-03-10 16:30:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
447 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (8, 20, 3, 3, 1, 1, '2005-04-18 17:34:15.308434', '2005-04-18 17:34:15.308434', '2005-08-24 17:01:15.308434', 21, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
448 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (9, 21, 3, 2, 1, 3, '2005-08-24 17:01:15.308434', '2005-08-24 17:01:15.308434', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
449 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (10, 23, 1, 2, 1, 1, '2005-09-15 11:42:02.870714', '2005-09-15 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
450 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (11, 24, 8, 2, 1, 2, '2005-09-15 11:42:21.070926', '2005-09-15 11:42:21.070926', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
451 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (12, 25, 3, 2, 1, 1, '2005-09-15 11:43:00.05741', '2005-09-15 11:43:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
452 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (13, 26, 3, 2, 3, 1, '2005-12-22 18:19:00.05741', '2005-12-22 18:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
453 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (14, 24, 3, 3, 1, 3, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 25, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 0, false, NULL, 1, NULL, NULL); |
454 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (15, 24, 1, 2, 1, 1, '2005-09-16 11:42:02.870714', '2005-09-16 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
455 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (16, 27, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
456 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (17, 28, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
457 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (18, 14, 1, 2, 1, 2, '2006-02-13 12:19:00.05741', '2006-02-13 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
458 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (19, 28, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
459 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (20, 25, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
460 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (21, 24, 11, 4, 1, 3, '2006-09-14 11:44:00.10654', '2006-09-14 11:44:00', '2006-09-14 11:44:01', 25, '2006-09-14 11:45:00', '2006-09-14 11:45:00', '2006-09-15 11:45:00', 0, false, NULL, 8, 1, 'does anyone like ? I did not think so.'); |
461 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (22, 32, 1, 4, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, '2006-12-02 11:44:00', 0, false, NULL, 1, 28, 'I do not like it.'); |
462 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (23, 33, 1, 2, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
463 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (24, 14, 1, 2, 1, 2, '2006-02-19 11:57:13', '2007-02-19 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 8, NULL, NULL); |
464 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (25, 33, 10, 2, 1, 3, '2007-04-25 13:44:00.10654', '2007-04-25 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
465 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (26, 35, 1, 2, 1, 3, '2006-04-11 12:00:00', '2006-04-11 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
466 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (27, 33, 10, 2, 1, 3, '2007-07-09 13:44:00.10654', '2007-07-09 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
467 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (28, 35, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
468 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (29, 20, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
469 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (30, 36, 10, 2, 5, 7, '2007-08-09 21:28:12.106187', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 12, NULL, NULL); |
470 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (31, 35, 10, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 10, NULL, NULL); |
471 | - |
472 | - |
473 | -ALTER TABLE securesourcepackagepublishinghistory ENABLE TRIGGER ALL; |
474 | - |
475 | - |
476 | ALTER TABLE seriessourcepackagebranch DISABLE TRIGGER ALL; |
477 | |
478 | |
479 | @@ -9013,31 +9021,101 @@ |
480 | ALTER TABLE sourcepackagename ENABLE TRIGGER ALL; |
481 | |
482 | |
483 | +ALTER TABLE sourcepackagepublishinghistory DISABLE TRIGGER ALL; |
484 | + |
485 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (1, 14, 1, 1, 1, 3, '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
486 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (2, 15, 3, 2, 1, 3, '2004-09-27 11:57:13', '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
487 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (4, 17, 1, 2, 1, 1, '2004-03-14 18:00:00', '2004-03-14 18:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
488 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (5, 16, 3, 2, 1, 2, '2004-03-10 16:30:00', '2004-03-10 16:30:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
489 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (8, 20, 3, 3, 1, 1, '2005-04-18 17:34:15.308434', '2005-04-18 17:34:15.308434', '2005-08-24 17:01:15.308434', 21, NULL, NULL, NULL, 0, 1, NULL, NULL); |
490 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (9, 21, 3, 2, 1, 3, '2005-08-24 17:01:15.308434', '2005-08-24 17:01:15.308434', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
491 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (10, 23, 1, 2, 1, 1, '2005-09-15 11:42:02.870714', '2005-09-15 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
492 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (11, 24, 8, 2, 1, 2, '2005-09-15 11:42:21.070926', '2005-09-15 11:42:21.070926', NULL, NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
493 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (12, 25, 3, 2, 1, 1, '2005-09-15 11:43:00.05741', '2005-09-15 11:43:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
494 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (13, 26, 3, 2, 3, 1, '2005-12-22 18:19:00.05741', '2005-12-22 18:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
495 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (14, 24, 3, 3, 1, 3, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 25, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 0, 1, NULL, NULL); |
496 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (15, 24, 1, 2, 1, 1, '2005-09-16 11:42:02.870714', '2005-09-16 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
497 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (16, 27, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
498 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (17, 28, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
499 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (18, 14, 1, 2, 1, 2, '2006-02-13 12:19:00.05741', '2006-02-13 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
500 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (19, 28, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
501 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (20, 25, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
502 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (21, 24, 11, 4, 1, 3, '2006-09-14 11:44:00.10654', '2006-09-14 11:44:00', '2006-09-14 11:44:01', 25, '2006-09-14 11:45:00', '2006-09-14 11:45:00', '2006-09-15 11:45:00', 0, 8, 1, 'does anyone like ? I did not think so.'); |
503 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (22, 32, 1, 4, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, '2006-12-02 11:44:00', 0, 1, 28, 'I do not like it.'); |
504 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (23, 33, 1, 2, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
505 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (24, 14, 1, 2, 1, 2, '2006-02-19 11:57:13', '2007-02-19 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, 8, NULL, NULL); |
506 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (25, 33, 10, 2, 1, 3, '2007-04-25 13:44:00.10654', '2007-04-25 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
507 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (26, 35, 1, 2, 1, 3, '2006-04-11 12:00:00', '2006-04-11 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
508 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (27, 33, 10, 2, 1, 3, '2007-07-09 13:44:00.10654', '2007-07-09 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
509 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (28, 35, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
510 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (29, 20, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
511 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (30, 36, 10, 2, 5, 7, '2007-08-09 21:28:12.106187', NULL, NULL, NULL, NULL, NULL, NULL, 0, 12, NULL, NULL); |
512 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (31, 35, 10, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 10, NULL, NULL); |
513 | + |
514 | + |
515 | +ALTER TABLE sourcepackagepublishinghistory ENABLE TRIGGER ALL; |
516 | + |
517 | + |
518 | +ALTER TABLE sourcepackagerecipe DISABLE TRIGGER ALL; |
519 | + |
520 | + |
521 | + |
522 | +ALTER TABLE sourcepackagerecipe ENABLE TRIGGER ALL; |
523 | + |
524 | + |
525 | +ALTER TABLE sourcepackagerecipebuild DISABLE TRIGGER ALL; |
526 | + |
527 | + |
528 | + |
529 | +ALTER TABLE sourcepackagerecipebuild ENABLE TRIGGER ALL; |
530 | + |
531 | + |
532 | +ALTER TABLE sourcepackagerecipebuildjob DISABLE TRIGGER ALL; |
533 | + |
534 | + |
535 | + |
536 | +ALTER TABLE sourcepackagerecipebuildjob ENABLE TRIGGER ALL; |
537 | + |
538 | + |
539 | +ALTER TABLE sourcepackagerecipedata DISABLE TRIGGER ALL; |
540 | + |
541 | + |
542 | + |
543 | +ALTER TABLE sourcepackagerecipedata ENABLE TRIGGER ALL; |
544 | + |
545 | + |
546 | +ALTER TABLE sourcepackagerecipedatainstruction DISABLE TRIGGER ALL; |
547 | + |
548 | + |
549 | + |
550 | +ALTER TABLE sourcepackagerecipedatainstruction ENABLE TRIGGER ALL; |
551 | + |
552 | + |
553 | ALTER TABLE sourcepackagerelease DISABLE TRIGGER ALL; |
554 | |
555 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (14, 1, '0.9', '2004-09-27 11:57:13', 1, NULL, 1, 'Mozilla dummy Changelog......', 'gcc-3.4-base, libc6 (>= 2.3.2.ds1-4), gcc-3.4 (>= 3.4.1-4sarge1), gcc-3.4 (<< 3.4.2), libstdc++6-dev (>= 3.4.1-4sarge1), pmount', 'bacula-common (= 1.34.6-2), bacula-director-common (= 1.34.6-2), postgresql-client (>= 7.4), pmount', 'any', NULL, 1, 1, 1, 1, 1, 'Mark Shuttleworth <mark@canonical.com>', '3.6.2', '1.0', 'mozilla-firefox', 1, NULL, 'gcc-4.0, pmount', 'gcc-4.0-base, pmount'); |
556 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (15, 1, '1.0', '2004-09-27 11:57:13', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 2, 1, 9, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
557 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (16, 1, '1.0-1', '2005-03-10 16:30:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 3, 1, 10, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
558 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (17, 1, '0.99.6-1', '2005-03-14 18:00:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 2, 1, 10, 1, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
559 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (20, 1, '0.1-1', '2005-03-24 20:59:31.439579', 1, NULL, 1, 'pmount (0.1-1) hoary; urgency=low |
560 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (14, 1, '0.9', '2004-09-27 11:57:13', 1, NULL, 1, 'Mozilla dummy Changelog......', 'gcc-3.4-base, libc6 (>= 2.3.2.ds1-4), gcc-3.4 (>= 3.4.1-4sarge1), gcc-3.4 (<< 3.4.2), libstdc++6-dev (>= 3.4.1-4sarge1), pmount', 'bacula-common (= 1.34.6-2), bacula-director-common (= 1.34.6-2), postgresql-client (>= 7.4), pmount', 'any', NULL, 1, 1, 1, 1, 1, 'Mark Shuttleworth <mark@canonical.com>', '3.6.2', '1.0', 'mozilla-firefox', 1, NULL, 'gcc-4.0, pmount', 'gcc-4.0-base, pmount', NULL); |
561 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (15, 1, '1.0', '2004-09-27 11:57:13', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 2, 1, 9, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
562 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (16, 1, '1.0-1', '2005-03-10 16:30:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 3, 1, 10, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
563 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (17, 1, '0.99.6-1', '2005-03-14 18:00:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 2, 1, 10, 1, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
564 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (20, 1, '0.1-1', '2005-03-24 20:59:31.439579', 1, NULL, 1, 'pmount (0.1-1) hoary; urgency=low |
565 | |
566 | * Fix description (Malone #1) |
567 | * Fix debian (Debian #2000) |
568 | * Fix warty (Warty Ubuntu #1) |
569 | |
570 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 2, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
571 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (21, 1, '0.1-2', '2005-06-24 20:59:31.439579', 1, NULL, 1, 'This is a placeholder changelog for pmount 0.1-2', NULL, NULL, 'powerpc', NULL, 1, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
572 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (23, 1, '1.0.8-1ubuntu1', '2005-02-03 08:50:00', 1, NULL, 1, 'alsa-utils (1.0.8-1ubuntu1) warty; urgency=low |
573 | - |
574 | - * Placeholder |
575 | - |
576 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 1, 19, 1, 1, 'Mark Shuttleworth <mark@example.com>', '3.6.2', '1.0', 'alsa-mixer', 1, NULL, NULL, NULL); |
577 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (24, 1, '1.0.9a-4', '2005-07-01 22:47:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4) warty; urgency=low |
578 | - |
579 | - * Placeholder |
580 | - |
581 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'any', NULL, 2, 1, 19, 8, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
582 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (25, 1, '1.0.9a-4ubuntu1', '2005-08-01 14:10:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4ubuntu1) hoary; urgency=low |
583 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 2, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
584 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (21, 1, '0.1-2', '2005-06-24 20:59:31.439579', 1, NULL, 1, 'This is a placeholder changelog for pmount 0.1-2', NULL, NULL, 'powerpc', NULL, 1, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
585 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (23, 1, '1.0.8-1ubuntu1', '2005-02-03 08:50:00', 1, NULL, 1, 'alsa-utils (1.0.8-1ubuntu1) warty; urgency=low |
586 | + |
587 | + * Placeholder |
588 | + |
589 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 1, 19, 1, 1, 'Mark Shuttleworth <mark@example.com>', '3.6.2', '1.0', 'alsa-mixer', 1, NULL, NULL, NULL, NULL); |
590 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (24, 1, '1.0.9a-4', '2005-07-01 22:47:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4) warty; urgency=low |
591 | + |
592 | + * Placeholder |
593 | + |
594 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'any', NULL, 2, 1, 19, 8, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
595 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (25, 1, '1.0.9a-4ubuntu1', '2005-08-01 14:10:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4ubuntu1) hoary; urgency=low |
596 | |
597 | * Placeholder |
598 | LP: #10 |
599 | @@ -9046,22 +9124,22 @@ |
600 | LP: #7, #8, |
601 | #11 |
602 | |
603 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 16, 19, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
604 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (26, 1, 'cr.g7-37', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 20, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
605 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (27, 1, 'b8p', '2006-02-10 11:19:00', 1, NULL, 1, 'libstdc++ (9.9-1) hoary; urgency=high |
606 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 16, 19, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
607 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (26, 1, 'cr.g7-37', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 20, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
608 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (27, 1, 'b8p', '2006-02-10 11:19:00', 1, NULL, 1, 'libstdc++ (9.9-1) hoary; urgency=high |
609 | |
610 | * Placeholder |
611 | |
612 | - -- Sample Person <test@canonical.com> Tue, 10 Feb 2006 10:10:08 +0300', NULL, NULL, 'powerpc i386', NULL, 1, 16, 21, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
613 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (28, 1, '2.6.15.3', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 22, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
614 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (29, 1, '0.00', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 17, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
615 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (30, 1, '1.0', '2006-09-28 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
616 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (31, 1, '1.0', '2006-09-28 18:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
617 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (32, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 23, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
618 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (33, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 24, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
619 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (34, 1, '1.0', '2007-02-15 14:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 29, 16, 25, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
620 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (35, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 10, NULL, NULL, NULL); |
621 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (36, 243606, '1.0-1', '2007-08-09 21:25:37.832976', 1, NULL, 5, 'commercialpackage (1.0-1) breezy; urgency=low |
622 | + -- Sample Person <test@canonical.com> Tue, 10 Feb 2006 10:10:08 +0300', NULL, NULL, 'powerpc i386', NULL, 1, 16, 21, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
623 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (28, 1, '2.6.15.3', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 22, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
624 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (29, 1, '0.00', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 17, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
625 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (30, 1, '1.0', '2006-09-28 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
626 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (31, 1, '1.0', '2006-09-28 18:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
627 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (32, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 23, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
628 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (33, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 24, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
629 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (34, 1, '1.0', '2007-02-15 14:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 29, 16, 25, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
630 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (35, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 10, NULL, NULL, NULL, NULL); |
631 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (36, 243606, '1.0-1', '2007-08-09 21:25:37.832976', 1, NULL, 5, 'commercialpackage (1.0-1) breezy; urgency=low |
632 | |
633 | * Initial version |
634 | Address for testing linkification: Foo Bar <foo.bar@canonical.com> |
635 | @@ -9085,8 +9163,8 @@ |
636 | iD8DBQFGtzTjWhGlTF8G/HcRAtFsAJ4hHyKhOnsUOQDI+SAk000DmFAnUgCcC84J |
637 | 3F4bEPeRcnUjCFI/hjR0kxg= |
638 | =Tjln |
639 | -', 7, 243606, 27, 10, 1, 'Julian Edwards <launchpad@julian-edwards.com>', '3.6.2', '1.0', 'commercialpackage', 12, NULL, NULL, NULL); |
640 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (37, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 11, NULL, NULL, NULL); |
641 | +', 7, 243606, 27, 10, 1, 'Julian Edwards <launchpad@julian-edwards.com>', '3.6.2', '1.0', 'commercialpackage', 12, NULL, NULL, NULL, NULL); |
642 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (37, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 11, NULL, NULL, NULL, NULL); |
643 | |
644 | |
645 | ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL; |
646 | |
647 | === modified file 'database/sampledata/current.sql' |
648 | --- database/sampledata/current.sql 2010-01-20 22:09:26 +0000 |
649 | +++ database/sampledata/current.sql 2010-03-04 20:06:42 +0000 |
650 | @@ -754,6 +754,27 @@ |
651 | |
652 | |
653 | |
654 | + |
655 | + |
656 | + |
657 | + |
658 | + |
659 | + |
660 | + |
661 | + |
662 | + |
663 | + |
664 | + |
665 | + |
666 | + |
667 | + |
668 | + |
669 | + |
670 | + |
671 | + |
672 | + |
673 | + |
674 | + |
675 | ALTER TABLE account DISABLE TRIGGER ALL; |
676 | |
677 | INSERT INTO account (id, date_created, creation_rationale, status, date_status_set, displayname, openid_identifier, status_comment, old_openid_identifier) VALUES (11, '2005-06-06 08:59:51.591618', 8, 20, '2005-06-06 08:59:51.591618', 'Mark Shuttleworth', 'mark_oid', NULL, '123/mark'); |
678 | @@ -956,6 +977,13 @@ |
679 | ALTER TABLE answercontact ENABLE TRIGGER ALL; |
680 | |
681 | |
682 | +ALTER TABLE apportjob DISABLE TRIGGER ALL; |
683 | + |
684 | + |
685 | + |
686 | +ALTER TABLE apportjob ENABLE TRIGGER ALL; |
687 | + |
688 | + |
689 | ALTER TABLE archive DISABLE TRIGGER ALL; |
690 | |
691 | INSERT INTO archive (id, owner, description, enabled, authorized_size, distribution, purpose, private, sources_cached, binaries_cached, package_description_cache, fti, buildd_secret, require_virtualized, name, publish, date_updated, total_count, pending_count, succeeded_count, failed_count, building_count, date_created, signing_key, removed_binary_retention_days, num_old_versions_published, displayname, relative_build_score, external_dependencies) VALUES (1, 17, NULL, true, NULL, 1, 1, false, NULL, NULL, NULL, NULL, NULL, false, 'primary', true, '2008-05-27 18:15:12.241774', 15, 1, 8, 5, 1, '2008-09-23 17:29:03.442606', NULL, NULL, NULL, 'Primary Archive for Ubuntu Linux', 0, NULL); |
692 | @@ -1068,6 +1096,39 @@ |
693 | ALTER TABLE binarypackagename ENABLE TRIGGER ALL; |
694 | |
695 | |
696 | +ALTER TABLE binarypackagepublishinghistory DISABLE TRIGGER ALL; |
697 | + |
698 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (9, 12, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
699 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (11, 15, 6, 3, 1, 3, 40, '2005-05-05 00:00:00', '2005-05-05 00:01:00', '2006-01-25 00:00:00', 7, NULL, NULL, NULL, 0, 1, NULL, NULL); |
700 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (12, 15, 6, 2, 3, 3, 40, '2006-01-25 00:00:00', '2006-01-25 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
701 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (13, 15, 1, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2007-09-13 00:00:01', NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
702 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (14, 15, 7, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2006-01-28 00:00:00', NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
703 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (15, 12, 7, 2, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
704 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (16, 15, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-24 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
705 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (17, 16, 1, 2, 1, 1, 10, '2005-07-06 00:00:00', '2005-08-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
706 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (18, 17, 1, 3, 1, 1, 10, '2005-08-07 00:00:00', '2005-08-22 00:00:00', '2005-08-22 00:00:01', NULL, NULL, '2005-08-22 00:00:02', '2005-08-23 00:00:00', 0, 1, NULL, NULL); |
707 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (19, 18, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
708 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (20, 17, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
709 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (21, 18, 11, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
710 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (22, 20, 8, 4, 1, 1, 40, '2006-09-13 00:00:00', '2006-09-13 00:00:01', '2006-09-13 00:00:01', NULL, NULL, '2006-09-13 00:00:02', '2006-09-13 00:00:03', 0, 1, 1, 'nah ...'); |
711 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (23, 6, 1, 4, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', '2006-12-01 00:00:01', NULL, NULL, '2006-12-01 00:00:02', '2006-12-01 00:00:03', 0, 1, 28, 'I do not like it either'); |
712 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (24, 21, 1, 2, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
713 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (25, 12, 1, 2, 1, 1, 10, '2007-01-19 00:00:00', '2007-02-19 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 8, NULL, NULL); |
714 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (26, 22, 1, 2, 1, 1, 40, '2006-04-11 13:00:00', '2006-04-11 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
715 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (27, 22, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
716 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (28, 23, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
717 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (29, 23, 12, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
718 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (30, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
719 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (31, 25, 8, 2, 5, 7, 20, '2007-08-09 21:55:39.561526', '2007-08-09 21:56:39.561526', NULL, NULL, NULL, NULL, NULL, 0, 12, NULL, NULL); |
720 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (32, 26, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
721 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (33, 27, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
722 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (34, 27, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
723 | +INSERT INTO binarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (35, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, 10, NULL, NULL); |
724 | + |
725 | + |
726 | +ALTER TABLE binarypackagepublishinghistory ENABLE TRIGGER ALL; |
727 | + |
728 | + |
729 | ALTER TABLE binarypackagerelease DISABLE TRIGGER ALL; |
730 | |
731 | INSERT INTO binarypackagerelease (id, binarypackagename, version, summary, description, build, binpackageformat, component, section, priority, shlibdeps, depends, recommends, suggests, conflicts, replaces, provides, essential, installedsize, architecturespecific, fti, datecreated, pre_depends, enhances, breaks) VALUES (6, 6, '1.0', 'foobar is bad', 'foobar should be removed', 6, 1, 1, 1, 40, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, NULL, false, NULL, '2006-12-01 17:50:10.878712', NULL, NULL, NULL); |
732 | @@ -1271,19 +1332,19 @@ |
733 | |
734 | ALTER TABLE bug DISABLE TRIGGER ALL; |
735 | |
736 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (1, '2004-01-01 20:58:04.553583', NULL, 'Firefox does not support SVG', 'Firefox needs to support embedded SVG images, now that the standard has been finalised. |
737 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (1, '2004-01-01 20:58:04.553583', NULL, 'Firefox does not support SVG', 'Firefox needs to support embedded SVG images, now that the standard has been finalised. |
738 | |
739 | -The SVG standard 1.0 is complete, and draft implementations for Firefox exist. One of these implementations needs to be integrated with the base install of Firefox. Ideally, the implementation needs to include support for the manipulation of SVG objects from JavaScript to enable interactive and dynamic SVG drawings.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.344941', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
740 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (2, '2004-01-02 20:58:04.572546', 'blackhole', 'Blackhole Trash folder', 'The Trash folder seems to have significant problems! At the moment, dragging an item to the trash results in immediate deletion. The item does not appear in the Trash, it is just deleted from my hard disk. There is no undo or ability to recover the deleted file. Help!', 12, NULL, NULL, false, false, '2006-07-14 08:47:36.124403', NULL, NULL, NULL, 0, 3, 0, 0, 0, NULL); |
741 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (3, '2004-01-03 00:00:00', NULL, 'Bug Title Test', 'Shirtpkdf user@domain.org lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
742 | +The SVG standard 1.0 is complete, and draft implementations for Firefox exist. One of these implementations needs to be integrated with the base install of Firefox. Ideally, the implementation needs to include support for the manipulation of SVG objects from JavaScript to enable interactive and dynamic SVG drawings.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.344941', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
743 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (2, '2004-01-02 20:58:04.572546', 'blackhole', 'Blackhole Trash folder', 'The Trash folder seems to have significant problems! At the moment, dragging an item to the trash results in immediate deletion. The item does not appear in the Trash, it is just deleted from my hard disk. There is no undo or ability to recover the deleted file. Help!', 12, NULL, NULL, false, false, '2006-07-14 08:47:36.124403', NULL, NULL, NULL, 0, 3, 0, 0, 0, NULL, NULL); |
744 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (3, '2004-01-03 00:00:00', NULL, 'Bug Title Test', 'Shirtpkdf user@domain.org lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
745 | |
746 | y idu yifdxhfgffxShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
747 | Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo |
748 | |
749 | -Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo', 16, NULL, NULL, false, false, '2006-07-14 08:48:52.922462', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
750 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (4, '2004-01-04 00:00:00', NULL, 'Reflow problems with complex page layouts', 'Malone pages that use more complex layouts with portlets and fancy CSS are sometimes not getting properly reflowed after rendering.', 12, NULL, NULL, false, false, '2006-07-14 08:49:17.124885', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
751 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (5, '2004-01-05 00:00:00', NULL, 'Firefox install instructions should be complete', 'All ways of downloading firefox should provide complete install instructions. At present, they are only visible on the Release Notes page.', 12, NULL, NULL, false, false, '2006-07-14 08:49:40.553212', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
752 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (6, '2004-01-06 00:00:00', NULL, 'Firefox crashes when Save As dialog for a nonexistent window is closed', 'User-Agent: |
753 | +Shirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xoShirtpkdf jlkdsj;lkd lkjd hlkjfds gkfdsg kfd glkfd gifdsytoxdiytxoiufdytoidxf yxoigfyoigfxuyfxoiug yxoiuy oiugf hyoifxugyoixgfuy xoiuyxoiyxoifuy xo', 16, NULL, NULL, false, false, '2006-07-14 08:48:52.922462', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
754 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (4, '2004-01-04 00:00:00', NULL, 'Reflow problems with complex page layouts', 'Malone pages that use more complex layouts with portlets and fancy CSS are sometimes not getting properly reflowed after rendering.', 12, NULL, NULL, false, false, '2006-07-14 08:49:17.124885', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
755 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (5, '2004-01-05 00:00:00', NULL, 'Firefox install instructions should be complete', 'All ways of downloading firefox should provide complete install instructions. At present, they are only visible on the Release Notes page.', 12, NULL, NULL, false, false, '2006-07-14 08:49:40.553212', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
756 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (6, '2004-01-06 00:00:00', NULL, 'Firefox crashes when Save As dialog for a nonexistent window is closed', 'User-Agent: |
757 | Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040207 Firefox/0.8 |
758 | |
759 | If a Save As dialog for a nonexistent window exists, when the dialog is closed Firefox will crash. It''s possible to cause this to happen using the "Open With/Save As" dialog. |
760 | @@ -1302,12 +1363,12 @@ |
761 | Crash! |
762 | |
763 | Expected Results: |
764 | -Not crashed.', 12, 5, NULL, false, false, '2006-05-19 06:37:40.389193', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
765 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (7, '2004-01-07 15:12:29.602117', NULL, 'A test bug', 'A test description', 16, NULL, NULL, false, false, '2006-05-19 06:37:40.391822', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
766 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (8, '2004-01-08 09:10:17.13237', NULL, 'Printing doesn''t work', 'When I press print in Firefox, nothing happens, not even a print dialog comes up.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.393303', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
767 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (9, '2004-01-09 16:42:14.080227', NULL, 'Thunderbird crashes', 'Every time I start Thunderbird it crashes.', 16, NULL, NULL, false, false, '2006-07-14 08:45:10.600579', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
768 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (10, '2004-01-10 19:42:21.890299', NULL, 'another test bug', 'test bug', 16, NULL, NULL, false, false, '2006-07-14 08:54:19.453881', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
769 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (11, '2007-03-15 20:33:56.67893', NULL, 'Make Jokosher use autoaudiosink', 'I''ve had problems when switching from Jokosher to Totem to play an Ogg. |
770 | +Not crashed.', 12, 5, NULL, false, false, '2006-05-19 06:37:40.389193', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
771 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (7, '2004-01-07 15:12:29.602117', NULL, 'A test bug', 'A test description', 16, NULL, NULL, false, false, '2006-05-19 06:37:40.391822', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
772 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (8, '2004-01-08 09:10:17.13237', NULL, 'Printing doesn''t work', 'When I press print in Firefox, nothing happens, not even a print dialog comes up.', 12, NULL, NULL, false, false, '2006-05-19 06:37:40.393303', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
773 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (9, '2004-01-09 16:42:14.080227', NULL, 'Thunderbird crashes', 'Every time I start Thunderbird it crashes.', 16, NULL, NULL, false, false, '2006-07-14 08:45:10.600579', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
774 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (10, '2004-01-10 19:42:21.890299', NULL, 'another test bug', 'test bug', 16, NULL, NULL, false, false, '2006-07-14 08:54:19.453881', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
775 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (11, '2007-03-15 20:33:56.67893', NULL, 'Make Jokosher use autoaudiosink', 'I''ve had problems when switching from Jokosher to Totem to play an Ogg. |
776 | |
777 | Totem appears to be playing normally but does not produce any sound. |
778 | If I close Jokosher then you can hear totem. |
779 | @@ -1333,11 +1394,11 @@ |
780 | Is there some way to reset alsa or the device driver - with out having |
781 | to restart? |
782 | |
783 | -Running on Ubuntu - with Jokosher 0.2 runscript.', 16, NULL, NULL, false, false, '2007-03-15 20:37:51.603369', NULL, NULL, NULL, 0, 7, 0, 0, 0, NULL); |
784 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (12, '2007-03-15 20:41:18.635493', NULL, 'Copy, Cut and Delete operations should work on selections', 'When trying to copy, cut or delete just a selected portion of an event, the operations affect the event completely. That is, you can''t select a portion and cut that piece. The whole event will be cut. Same goes for the other 2 operations.', 16, NULL, NULL, false, false, '2007-03-15 20:46:49.909153', NULL, NULL, NULL, 0, 5, 0, 0, 0, NULL); |
785 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (13, '2007-07-27 20:00:58.299796', NULL, 'Launchpad CSS and JS is not testible', 'The messages placed on this bug are for eyeball viewing of JS and CSS behaviour.', 12, NULL, NULL, false, false, '2007-07-27 20:29:46.336737', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL); |
786 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (14, '2007-08-09 11:39:16.836856', NULL, 'jokosher exposes personal details in its actions portlet', 'Jokosher discloses to any passerby the fact that I am single and unwed in its actions portlet. Please fix this blatant violacion of privacy now!!', 63, NULL, NULL, true, true, '2007-08-09 11:39:16.836856', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL); |
787 | -INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated) VALUES (15, '2007-12-18 16:30:19.103679', NULL, 'Nonsensical bugs are useless', 'Like this one, natch.', 16, NULL, NULL, false, false, '2007-12-18 16:31:34.972893', NULL, NULL, '2007-12-18 16:31:34.790641', 0, 7, 0, 0, 0, NULL); |
788 | +Running on Ubuntu - with Jokosher 0.2 runscript.', 16, NULL, NULL, false, false, '2007-03-15 20:37:51.603369', NULL, NULL, NULL, 0, 7, 0, 0, 0, NULL, NULL); |
789 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (12, '2007-03-15 20:41:18.635493', NULL, 'Copy, Cut and Delete operations should work on selections', 'When trying to copy, cut or delete just a selected portion of an event, the operations affect the event completely. That is, you can''t select a portion and cut that piece. The whole event will be cut. Same goes for the other 2 operations.', 16, NULL, NULL, false, false, '2007-03-15 20:46:49.909153', NULL, NULL, NULL, 0, 5, 0, 0, 0, NULL, NULL); |
790 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (13, '2007-07-27 20:00:58.299796', NULL, 'Launchpad CSS and JS is not testible', 'The messages placed on this bug are for eyeball viewing of JS and CSS behaviour.', 12, NULL, NULL, false, false, '2007-07-27 20:29:46.336737', NULL, NULL, NULL, 0, 2, 0, 0, 0, NULL, NULL); |
791 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (14, '2007-08-09 11:39:16.836856', NULL, 'jokosher exposes personal details in its actions portlet', 'Jokosher discloses to any passerby the fact that I am single and unwed in its actions portlet. Please fix this blatant violacion of privacy now!!', 63, NULL, NULL, true, true, '2007-08-09 11:39:16.836856', NULL, NULL, NULL, 0, 1, 0, 0, 0, NULL, NULL); |
792 | +INSERT INTO bug (id, datecreated, name, title, description, owner, duplicateof, fti, private, security_related, date_last_updated, date_made_private, who_made_private, date_last_message, number_of_duplicates, message_count, users_affected_count, users_unaffected_count, heat, heat_last_updated, latest_patch_uploaded) VALUES (15, '2007-12-18 16:30:19.103679', NULL, 'Nonsensical bugs are useless', 'Like this one, natch.', 16, NULL, NULL, false, false, '2007-12-18 16:31:34.972893', NULL, NULL, '2007-12-18 16:31:34.790641', 0, 7, 0, 0, 0, NULL, NULL); |
793 | |
794 | |
795 | ALTER TABLE bug ENABLE TRIGGER ALL; |
796 | @@ -1419,6 +1480,13 @@ |
797 | ALTER TABLE bugcve ENABLE TRIGGER ALL; |
798 | |
799 | |
800 | +ALTER TABLE bugjob DISABLE TRIGGER ALL; |
801 | + |
802 | + |
803 | + |
804 | +ALTER TABLE bugjob ENABLE TRIGGER ALL; |
805 | + |
806 | + |
807 | ALTER TABLE bugmessage DISABLE TRIGGER ALL; |
808 | |
809 | INSERT INTO bugmessage (id, bug, message, bugwatch, remote_comment_id, visible) VALUES (1, 2, 1, NULL, NULL, true); |
810 | @@ -1697,8 +1765,8 @@ |
811 | |
812 | ALTER TABLE buildqueue DISABLE TRIGGER ALL; |
813 | |
814 | -INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (1, 1, 'Dummy sampledata entry, not processing', 1, false, 1, 1, '00:00:00', 1, FALSE); |
815 | -INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (2, NULL, NULL, 10, false, 2, 1, '00:01:00', 1, FALSE); |
816 | +INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (1, 1, 'Dummy sampledata entry, not processing', 1, false, 1, 1, '00:00:00', 1, false); |
817 | +INSERT INTO buildqueue (id, builder, logtail, lastscore, manual, job, job_type, estimated_duration, processor, virtualized) VALUES (2, NULL, NULL, 10, false, 2, 1, '00:01:00', 1, false); |
818 | |
819 | |
820 | ALTER TABLE buildqueue ENABLE TRIGGER ALL; |
821 | @@ -2134,6 +2202,13 @@ |
822 | ALTER TABLE cvereference ENABLE TRIGGER ALL; |
823 | |
824 | |
825 | +ALTER TABLE databasereplicationlag DISABLE TRIGGER ALL; |
826 | + |
827 | + |
828 | + |
829 | +ALTER TABLE databasereplicationlag ENABLE TRIGGER ALL; |
830 | + |
831 | + |
832 | ALTER TABLE diff DISABLE TRIGGER ALL; |
833 | |
834 | |
835 | @@ -2191,16 +2266,16 @@ |
836 | |
837 | ALTER TABLE distributionmirror DISABLE TRIGGER ALL; |
838 | |
839 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
840 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (2, 1, 'invalid-mirror', 'http://localhost:11375/invalid-mirror/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.436833', NULL, 20, NULL, NULL); |
841 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (3, 1, 'unreachable-mirror', 'http://localhost:11375/timeout/', NULL, NULL, NULL, NULL, 12, 30, 75, 2, true, true, '2006-10-16 18:31:43.437635', NULL, 30, NULL, NULL); |
842 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (4, 1, 'archive-404-mirror', 'http://localhost:11375/archive-mirror/', NULL, NULL, NULL, NULL, 12, 30, 75, 1, true, true, '2006-10-16 18:31:43.438573', NULL, 30, NULL, NULL); |
843 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (5, 1, 'releases-mirror', 'http://localhost:11375/valid-mirror/releases/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.439336', NULL, 30, NULL, NULL); |
844 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (6, 1, 'releases-mirror2', 'http://localhost:11375/valid-mirror/releases2/', NULL, NULL, NULL, NULL, 12, 50, 82, 2, true, true, '2006-10-16 18:31:43.440079', NULL, 30, NULL, NULL); |
845 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (7, 1, 'archive-mirror2', 'http://localhost:11375/valid-mirror2/', NULL, NULL, NULL, NULL, 1, 10, 9, 1, true, true, '2006-10-16 18:31:43.440832', NULL, 30, NULL, NULL); |
846 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (8, 1, 'canonical-archive', 'http://archive.ubuntu.com/ubuntu/', NULL, NULL, NULL, NULL, 1, 70, 225, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
847 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (9, 1, 'canonical-releases', 'http://releases.ubuntu.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL); |
848 | -INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer) VALUES (10, 1, 'random-releases-mirror', 'http://releases.random.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 10, NULL, NULL); |
849 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (1, 1, 'archive-mirror', 'http://localhost:11375/valid-mirror/', NULL, NULL, NULL, NULL, 1, 10, 75, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
850 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (2, 1, 'invalid-mirror', 'http://localhost:11375/invalid-mirror/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.436833', NULL, 20, NULL, NULL, false); |
851 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (3, 1, 'unreachable-mirror', 'http://localhost:11375/timeout/', NULL, NULL, NULL, NULL, 12, 30, 75, 2, true, true, '2006-10-16 18:31:43.437635', NULL, 30, NULL, NULL, false); |
852 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (4, 1, 'archive-404-mirror', 'http://localhost:11375/archive-mirror/', NULL, NULL, NULL, NULL, 12, 30, 75, 1, true, true, '2006-10-16 18:31:43.438573', NULL, 30, NULL, NULL, false); |
853 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (5, 1, 'releases-mirror', 'http://localhost:11375/valid-mirror/releases/', NULL, NULL, NULL, NULL, 12, 50, 75, 2, true, true, '2006-10-16 18:31:43.439336', NULL, 30, NULL, NULL, false); |
854 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (6, 1, 'releases-mirror2', 'http://localhost:11375/valid-mirror/releases2/', NULL, NULL, NULL, NULL, 12, 50, 82, 2, true, true, '2006-10-16 18:31:43.440079', NULL, 30, NULL, NULL, false); |
855 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (7, 1, 'archive-mirror2', 'http://localhost:11375/valid-mirror2/', NULL, NULL, NULL, NULL, 1, 10, 9, 1, true, true, '2006-10-16 18:31:43.440832', NULL, 30, NULL, NULL, false); |
856 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (8, 1, 'canonical-archive', 'http://archive.ubuntu.com/ubuntu/', NULL, NULL, NULL, NULL, 1, 70, 225, 1, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
857 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (9, 1, 'canonical-releases', 'http://releases.ubuntu.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 30, NULL, NULL, false); |
858 | +INSERT INTO distributionmirror (id, distribution, name, http_base_url, ftp_base_url, rsync_base_url, displayname, description, owner, speed, country, content, official_candidate, enabled, date_created, whiteboard, status, date_reviewed, reviewer, country_dns_mirror) VALUES (10, 1, 'random-releases-mirror', 'http://releases.random.com/', NULL, NULL, NULL, NULL, 1, 70, 225, 2, true, true, '2006-10-16 18:31:43.434567', NULL, 10, NULL, NULL, false); |
859 | |
860 | |
861 | ALTER TABLE distributionmirror ENABLE TRIGGER ALL; |
862 | @@ -7964,10 +8039,11 @@ |
863 | |
864 | ALTER TABLE processorfamily DISABLE TRIGGER ALL; |
865 | |
866 | -INSERT INTO processorfamily (id, name, title, description) VALUES (1, 'x86', 'Intel 386 compatible chips', 'Bring back the 8086!'); |
867 | -INSERT INTO processorfamily (id, name, title, description) VALUES (2, 'powerpc', 'PowerPC compatible systems, G3 G4 etc', 'An architecture conceived by Motorola and developed further in cooperation with IBM. Was used very successfully by Apple for their PowerMac range, until 2007.'); |
868 | -INSERT INTO processorfamily (id, name, title, description) VALUES (3, 'amd64', 'AMD64 and Intel EM64T and compatible systems', 'A 64-bit extension to the venerable x86 architecture, pioneered by AMD and later adopted by Intel as well.'); |
869 | -INSERT INTO processorfamily (id, name, title, description) VALUES (4, 'hppa', 'PA-RISC Processors', 'The HP PA-RISC and compatible processors'); |
870 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (1, 'x86', 'Intel 386 compatible chips', 'Bring back the 8086!', false); |
871 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (2, 'powerpc', 'PowerPC compatible systems, G3 G4 etc', 'An architecture conceived by Motorola and developed further in cooperation with IBM. Was used very successfully by Apple for their PowerMac range, until 2007.', false); |
872 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (3, 'amd64', 'AMD64 and Intel EM64T and compatible systems', 'A 64-bit extension to the venerable x86 architecture, pioneered by AMD and later adopted by Intel as well.', false); |
873 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (4, 'hppa', 'PA-RISC Processors', 'The HP PA-RISC and compatible processors', false); |
874 | +INSERT INTO processorfamily (id, name, title, description, restricted) VALUES (5, 'arm', 'ARM Processors', 'The ARM and compatible processors', true); |
875 | |
876 | |
877 | ALTER TABLE processorfamily ENABLE TRIGGER ALL; |
878 | @@ -8693,74 +8769,6 @@ |
879 | ALTER TABLE sectionselection ENABLE TRIGGER ALL; |
880 | |
881 | |
882 | -ALTER TABLE securebinarypackagepublishinghistory DISABLE TRIGGER ALL; |
883 | - |
884 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (9, 12, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
885 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (11, 15, 6, 3, 1, 3, 40, '2005-05-05 00:00:00', '2005-05-05 00:01:00', '2006-01-25 00:00:00', 7, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
886 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (12, 15, 6, 2, 3, 3, 40, '2006-01-25 00:00:00', '2006-01-25 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
887 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (13, 15, 1, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2007-09-13 00:00:01', NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
888 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (14, 15, 7, 3, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', '2006-01-28 00:00:00', NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
889 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (15, 12, 7, 2, 3, 3, 40, '2006-01-26 00:00:00', '2006-01-26 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
890 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (16, 15, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-24 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
891 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (17, 16, 1, 2, 1, 1, 10, '2005-07-06 00:00:00', '2005-08-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
892 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (18, 17, 1, 3, 1, 1, 10, '2005-08-07 00:00:00', '2005-08-22 00:00:00', '2005-08-22 00:00:01', NULL, NULL, '2005-08-22 00:00:02', '2005-08-23 00:00:00', 0, false, NULL, 1, NULL, NULL); |
893 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (19, 18, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
894 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (20, 17, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:01:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
895 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (21, 18, 11, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-20 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
896 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (22, 20, 8, 4, 1, 1, 40, '2006-09-13 00:00:00', '2006-09-13 00:00:01', '2006-09-13 00:00:01', NULL, NULL, '2006-09-13 00:00:02', '2006-09-13 00:00:03', 0, false, NULL, 1, 1, 'nah ...'); |
897 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (23, 6, 1, 4, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', '2006-12-01 00:00:01', NULL, NULL, '2006-12-01 00:00:02', '2006-12-01 00:00:03', 0, false, NULL, 1, 28, 'I do not like it either'); |
898 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (24, 21, 1, 2, 1, 1, 40, '2006-12-01 00:00:00', '2006-12-01 00:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
899 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (25, 12, 1, 2, 1, 1, 10, '2007-01-19 00:00:00', '2007-02-19 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 8, NULL, NULL); |
900 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (26, 22, 1, 2, 1, 1, 40, '2006-04-11 13:00:00', '2006-04-11 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
901 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (27, 22, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
902 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (28, 23, 1, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
903 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (29, 23, 12, 2, 1, 1, 40, '2007-07-10 13:00:00', '2007-07-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
904 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (30, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
905 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (31, 25, 8, 2, 5, 7, 20, '2007-08-09 21:55:39.561526', '2007-08-09 21:56:39.561526', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 12, NULL, NULL); |
906 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (32, 26, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
907 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (33, 27, 1, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
908 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (34, 27, 12, 2, 1, 1, 10, '2005-05-05 00:00:00', '2005-06-18 00:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
909 | -INSERT INTO securebinarypackagepublishinghistory (id, binarypackagerelease, distroarchseries, status, component, section, priority, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (35, 24, 12, 2, 1, 1, 40, '2007-08-10 13:00:00', '2007-08-10 13:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 10, NULL, NULL); |
910 | - |
911 | - |
912 | -ALTER TABLE securebinarypackagepublishinghistory ENABLE TRIGGER ALL; |
913 | - |
914 | - |
915 | -ALTER TABLE securesourcepackagepublishinghistory DISABLE TRIGGER ALL; |
916 | - |
917 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (1, 14, 1, 1, 1, 3, '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
918 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (2, 15, 3, 2, 1, 3, '2004-09-27 11:57:13', '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
919 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (4, 17, 1, 2, 1, 1, '2004-03-14 18:00:00', '2004-03-14 18:00:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
920 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (5, 16, 3, 2, 1, 2, '2004-03-10 16:30:00', '2004-03-10 16:30:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
921 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (8, 20, 3, 3, 1, 1, '2005-04-18 17:34:15.308434', '2005-04-18 17:34:15.308434', '2005-08-24 17:01:15.308434', 21, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
922 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (9, 21, 3, 2, 1, 3, '2005-08-24 17:01:15.308434', '2005-08-24 17:01:15.308434', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
923 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (10, 23, 1, 2, 1, 1, '2005-09-15 11:42:02.870714', '2005-09-15 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
924 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (11, 24, 8, 2, 1, 2, '2005-09-15 11:42:21.070926', '2005-09-15 11:42:21.070926', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 3, NULL, NULL); |
925 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (12, 25, 3, 2, 1, 1, '2005-09-15 11:43:00.05741', '2005-09-15 11:43:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
926 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (13, 26, 3, 2, 3, 1, '2005-12-22 18:19:00.05741', '2005-12-22 18:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
927 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (14, 24, 3, 3, 1, 3, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 25, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 0, false, NULL, 1, NULL, NULL); |
928 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (15, 24, 1, 2, 1, 1, '2005-09-16 11:42:02.870714', '2005-09-16 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
929 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (16, 27, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
930 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (17, 28, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
931 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (18, 14, 1, 2, 1, 2, '2006-02-13 12:19:00.05741', '2006-02-13 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
932 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (19, 28, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
933 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (20, 25, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
934 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (21, 24, 11, 4, 1, 3, '2006-09-14 11:44:00.10654', '2006-09-14 11:44:00', '2006-09-14 11:44:01', 25, '2006-09-14 11:45:00', '2006-09-14 11:45:00', '2006-09-15 11:45:00', 0, false, NULL, 8, 1, 'does anyone like ? I did not think so.'); |
935 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (22, 32, 1, 4, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, '2006-12-02 11:44:00', 0, false, NULL, 1, 28, 'I do not like it.'); |
936 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (23, 33, 1, 2, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
937 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (24, 14, 1, 2, 1, 2, '2006-02-19 11:57:13', '2007-02-19 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 8, NULL, NULL); |
938 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (25, 33, 10, 2, 1, 3, '2007-04-25 13:44:00.10654', '2007-04-25 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
939 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (26, 35, 1, 2, 1, 3, '2006-04-11 12:00:00', '2006-04-11 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 1, NULL, NULL); |
940 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (27, 33, 10, 2, 1, 3, '2007-07-09 13:44:00.10654', '2007-07-09 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
941 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (28, 35, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
942 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (29, 20, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 9, NULL, NULL); |
943 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (30, 36, 10, 2, 5, 7, '2007-08-09 21:28:12.106187', NULL, NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 12, NULL, NULL); |
944 | -INSERT INTO securesourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, embargo, embargolifted, archive, removed_by, removal_comment) VALUES (31, 35, 10, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, false, NULL, 10, NULL, NULL); |
945 | - |
946 | - |
947 | -ALTER TABLE securesourcepackagepublishinghistory ENABLE TRIGGER ALL; |
948 | - |
949 | - |
950 | ALTER TABLE seriessourcepackagebranch DISABLE TRIGGER ALL; |
951 | |
952 | |
953 | @@ -8899,31 +8907,101 @@ |
954 | ALTER TABLE sourcepackagename ENABLE TRIGGER ALL; |
955 | |
956 | |
957 | +ALTER TABLE sourcepackagepublishinghistory DISABLE TRIGGER ALL; |
958 | + |
959 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (1, 14, 1, 1, 1, 3, '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
960 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (2, 15, 3, 2, 1, 3, '2004-09-27 11:57:13', '2004-09-27 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
961 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (4, 17, 1, 2, 1, 1, '2004-03-14 18:00:00', '2004-03-14 18:00:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
962 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (5, 16, 3, 2, 1, 2, '2004-03-10 16:30:00', '2004-03-10 16:30:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
963 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (8, 20, 3, 3, 1, 1, '2005-04-18 17:34:15.308434', '2005-04-18 17:34:15.308434', '2005-08-24 17:01:15.308434', 21, NULL, NULL, NULL, 0, 1, NULL, NULL); |
964 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (9, 21, 3, 2, 1, 3, '2005-08-24 17:01:15.308434', '2005-08-24 17:01:15.308434', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
965 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (10, 23, 1, 2, 1, 1, '2005-09-15 11:42:02.870714', '2005-09-15 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
966 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (11, 24, 8, 2, 1, 2, '2005-09-15 11:42:21.070926', '2005-09-15 11:42:21.070926', NULL, NULL, NULL, NULL, NULL, 0, 3, NULL, NULL); |
967 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (12, 25, 3, 2, 1, 1, '2005-09-15 11:43:00.05741', '2005-09-15 11:43:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
968 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (13, 26, 3, 2, 3, 1, '2005-12-22 18:19:00.05741', '2005-12-22 18:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
969 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (14, 24, 3, 3, 1, 3, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 25, '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', '2005-09-15 11:44:00.10654', 0, 1, NULL, NULL); |
970 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (15, 24, 1, 2, 1, 1, '2005-09-16 11:42:02.870714', '2005-09-16 11:42:02.870714', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
971 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (16, 27, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
972 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (17, 28, 3, 2, 1, 1, '2005-02-10 12:19:00.05741', '2005-02-10 12:20:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
973 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (18, 14, 1, 2, 1, 2, '2006-02-13 12:19:00.05741', '2006-02-13 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
974 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (19, 28, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
975 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (20, 25, 1, 1, 1, 3, '2006-02-15 12:19:00.05741', NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
976 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (21, 24, 11, 4, 1, 3, '2006-09-14 11:44:00.10654', '2006-09-14 11:44:00', '2006-09-14 11:44:01', 25, '2006-09-14 11:45:00', '2006-09-14 11:45:00', '2006-09-15 11:45:00', 0, 8, 1, 'does anyone like ? I did not think so.'); |
977 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (22, 32, 1, 4, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, '2006-12-02 11:44:00', 0, 1, 28, 'I do not like it.'); |
978 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (23, 33, 1, 2, 1, 3, '2006-12-01 13:44:00.10654', '2006-12-01 11:44:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
979 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (24, 14, 1, 2, 1, 2, '2006-02-19 11:57:13', '2007-02-19 11:57:13', NULL, NULL, NULL, NULL, NULL, 0, 8, NULL, NULL); |
980 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (25, 33, 10, 2, 1, 3, '2007-04-25 13:44:00.10654', '2007-04-25 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
981 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (26, 35, 1, 2, 1, 3, '2006-04-11 12:00:00', '2006-04-11 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 1, NULL, NULL); |
982 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (27, 33, 10, 2, 1, 3, '2007-07-09 13:44:00.10654', '2007-07-09 14:14:00', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
983 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (28, 35, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
984 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (29, 20, 1, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 9, NULL, NULL); |
985 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (30, 36, 10, 2, 5, 7, '2007-08-09 21:28:12.106187', NULL, NULL, NULL, NULL, NULL, NULL, 0, 12, NULL, NULL); |
986 | +INSERT INTO sourcepackagepublishinghistory (id, sourcepackagerelease, distroseries, status, component, section, datecreated, datepublished, datesuperseded, supersededby, datemadepending, scheduleddeletiondate, dateremoved, pocket, archive, removed_by, removal_comment) VALUES (31, 35, 10, 2, 1, 3, '2007-07-09 12:00:00', '2007-07-09 12:00:01', NULL, NULL, NULL, NULL, NULL, 0, 10, NULL, NULL); |
987 | + |
988 | + |
989 | +ALTER TABLE sourcepackagepublishinghistory ENABLE TRIGGER ALL; |
990 | + |
991 | + |
992 | +ALTER TABLE sourcepackagerecipe DISABLE TRIGGER ALL; |
993 | + |
994 | + |
995 | + |
996 | +ALTER TABLE sourcepackagerecipe ENABLE TRIGGER ALL; |
997 | + |
998 | + |
999 | +ALTER TABLE sourcepackagerecipebuild DISABLE TRIGGER ALL; |
1000 | + |
1001 | + |
1002 | + |
1003 | +ALTER TABLE sourcepackagerecipebuild ENABLE TRIGGER ALL; |
1004 | + |
1005 | + |
1006 | +ALTER TABLE sourcepackagerecipebuildjob DISABLE TRIGGER ALL; |
1007 | + |
1008 | + |
1009 | + |
1010 | +ALTER TABLE sourcepackagerecipebuildjob ENABLE TRIGGER ALL; |
1011 | + |
1012 | + |
1013 | +ALTER TABLE sourcepackagerecipedata DISABLE TRIGGER ALL; |
1014 | + |
1015 | + |
1016 | + |
1017 | +ALTER TABLE sourcepackagerecipedata ENABLE TRIGGER ALL; |
1018 | + |
1019 | + |
1020 | +ALTER TABLE sourcepackagerecipedatainstruction DISABLE TRIGGER ALL; |
1021 | + |
1022 | + |
1023 | + |
1024 | +ALTER TABLE sourcepackagerecipedatainstruction ENABLE TRIGGER ALL; |
1025 | + |
1026 | + |
1027 | ALTER TABLE sourcepackagerelease DISABLE TRIGGER ALL; |
1028 | |
1029 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (14, 1, '0.9', '2004-09-27 11:57:13', 1, NULL, 1, 'Mozilla dummy Changelog......', 'gcc-3.4-base, libc6 (>= 2.3.2.ds1-4), gcc-3.4 (>= 3.4.1-4sarge1), gcc-3.4 (<< 3.4.2), libstdc++6-dev (>= 3.4.1-4sarge1), pmount', 'bacula-common (= 1.34.6-2), bacula-director-common (= 1.34.6-2), postgresql-client (>= 7.4), pmount', 'any', NULL, 1, 1, 1, 1, 1, 'Mark Shuttleworth <mark@canonical.com>', '3.6.2', '1.0', 'mozilla-firefox', 1, NULL, 'gcc-4.0, pmount', 'gcc-4.0-base, pmount'); |
1030 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (15, 1, '1.0', '2004-09-27 11:57:13', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 2, 1, 9, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1031 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (16, 1, '1.0-1', '2005-03-10 16:30:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 3, 1, 10, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1032 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (17, 1, '0.99.6-1', '2005-03-14 18:00:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 2, 1, 10, 1, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1033 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (20, 1, '0.1-1', '2005-03-24 20:59:31.439579', 1, NULL, 1, 'pmount (0.1-1) hoary; urgency=low |
1034 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (14, 1, '0.9', '2004-09-27 11:57:13', 1, NULL, 1, 'Mozilla dummy Changelog......', 'gcc-3.4-base, libc6 (>= 2.3.2.ds1-4), gcc-3.4 (>= 3.4.1-4sarge1), gcc-3.4 (<< 3.4.2), libstdc++6-dev (>= 3.4.1-4sarge1), pmount', 'bacula-common (= 1.34.6-2), bacula-director-common (= 1.34.6-2), postgresql-client (>= 7.4), pmount', 'any', NULL, 1, 1, 1, 1, 1, 'Mark Shuttleworth <mark@canonical.com>', '3.6.2', '1.0', 'mozilla-firefox', 1, NULL, 'gcc-4.0, pmount', 'gcc-4.0-base, pmount', NULL); |
1035 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (15, 1, '1.0', '2004-09-27 11:57:13', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 2, 1, 9, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1036 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (16, 1, '1.0-1', '2005-03-10 16:30:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 3, 1, 10, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1037 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (17, 1, '0.99.6-1', '2005-03-14 18:00:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 2, 1, 10, 1, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1038 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (20, 1, '0.1-1', '2005-03-24 20:59:31.439579', 1, NULL, 1, 'pmount (0.1-1) hoary; urgency=low |
1039 | |
1040 | * Fix description (Malone #1) |
1041 | * Fix debian (Debian #2000) |
1042 | * Fix warty (Warty Ubuntu #1) |
1043 | |
1044 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 2, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1045 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (21, 1, '0.1-2', '2005-06-24 20:59:31.439579', 1, NULL, 1, 'This is a placeholder changelog for pmount 0.1-2', NULL, NULL, 'powerpc', NULL, 1, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1046 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (23, 1, '1.0.8-1ubuntu1', '2005-02-03 08:50:00', 1, NULL, 1, 'alsa-utils (1.0.8-1ubuntu1) warty; urgency=low |
1047 | - |
1048 | - * Placeholder |
1049 | - |
1050 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 1, 19, 1, 1, 'Mark Shuttleworth <mark@example.com>', '3.6.2', '1.0', 'alsa-mixer', 1, NULL, NULL, NULL); |
1051 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (24, 1, '1.0.9a-4', '2005-07-01 22:47:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4) warty; urgency=low |
1052 | - |
1053 | - * Placeholder |
1054 | - |
1055 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'any', NULL, 2, 1, 19, 8, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1056 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (25, 1, '1.0.9a-4ubuntu1', '2005-08-01 14:10:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4ubuntu1) hoary; urgency=low |
1057 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 2, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1058 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (21, 1, '0.1-2', '2005-06-24 20:59:31.439579', 1, NULL, 1, 'This is a placeholder changelog for pmount 0.1-2', NULL, NULL, 'powerpc', NULL, 1, 1, 14, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1059 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (23, 1, '1.0.8-1ubuntu1', '2005-02-03 08:50:00', 1, NULL, 1, 'alsa-utils (1.0.8-1ubuntu1) warty; urgency=low |
1060 | + |
1061 | + * Placeholder |
1062 | + |
1063 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 1, 19, 1, 1, 'Mark Shuttleworth <mark@example.com>', '3.6.2', '1.0', 'alsa-mixer', 1, NULL, NULL, NULL, NULL); |
1064 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (24, 1, '1.0.9a-4', '2005-07-01 22:47:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4) warty; urgency=low |
1065 | + |
1066 | + * Placeholder |
1067 | + |
1068 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'any', NULL, 2, 1, 19, 8, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1069 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (25, 1, '1.0.9a-4ubuntu1', '2005-08-01 14:10:00', 1, NULL, 1, 'alsa-utils (1.0.9a-4ubuntu1) hoary; urgency=low |
1070 | |
1071 | * Placeholder |
1072 | LP: #10 |
1073 | @@ -8932,22 +9010,22 @@ |
1074 | LP: #7, #8, |
1075 | #11 |
1076 | |
1077 | - -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 16, 19, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1078 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (26, 1, 'cr.g7-37', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 20, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1079 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (27, 1, 'b8p', '2006-02-10 11:19:00', 1, NULL, 1, 'libstdc++ (9.9-1) hoary; urgency=high |
1080 | + -- Sample Person <test@canonical.com> Tue, 7 Feb 2006 12:10:08 +0300', NULL, NULL, 'all', NULL, 1, 16, 19, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1081 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (26, 1, 'cr.g7-37', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 20, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1082 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (27, 1, 'b8p', '2006-02-10 11:19:00', 1, NULL, 1, 'libstdc++ (9.9-1) hoary; urgency=high |
1083 | |
1084 | * Placeholder |
1085 | |
1086 | - -- Sample Person <test@canonical.com> Tue, 10 Feb 2006 10:10:08 +0300', NULL, NULL, 'powerpc i386', NULL, 1, 16, 21, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1087 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (28, 1, '2.6.15.3', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 22, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1088 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (29, 1, '0.00', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 17, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1089 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (30, 1, '1.0', '2006-09-28 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1090 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (31, 1, '1.0', '2006-09-28 18:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1091 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (32, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 23, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1092 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (33, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 24, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1093 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (34, 1, '1.0', '2007-02-15 14:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 29, 16, 25, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL); |
1094 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (35, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 10, NULL, NULL, NULL); |
1095 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (36, 243606, '1.0-1', '2007-08-09 21:25:37.832976', 1, NULL, 5, 'commercialpackage (1.0-1) breezy; urgency=low |
1096 | + -- Sample Person <test@canonical.com> Tue, 10 Feb 2006 10:10:08 +0300', NULL, NULL, 'powerpc i386', NULL, 1, 16, 21, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1097 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (28, 1, '2.6.15.3', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 22, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1098 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (29, 1, '0.00', '2005-12-22 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 17, 3, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1099 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (30, 1, '1.0', '2006-09-28 18:19:00', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1100 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (31, 1, '1.0', '2006-09-28 18:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 20, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1101 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (32, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 23, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1102 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (33, 1, '1.0', '2006-12-01 13:19:01', 1, NULL, 1, NULL, NULL, NULL, 'all', NULL, 1, 16, 24, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1103 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (34, 1, '1.0', '2007-02-15 14:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 29, 16, 25, 10, 1, NULL, NULL, '1.0', NULL, 1, NULL, NULL, NULL, NULL); |
1104 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (35, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'any', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 10, NULL, NULL, NULL, NULL); |
1105 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (36, 243606, '1.0-1', '2007-08-09 21:25:37.832976', 1, NULL, 5, 'commercialpackage (1.0-1) breezy; urgency=low |
1106 | |
1107 | * Initial version |
1108 | Address for testing linkification: Foo Bar <foo.bar@canonical.com> |
1109 | @@ -8971,8 +9049,8 @@ |
1110 | iD8DBQFGtzTjWhGlTF8G/HcRAtFsAJ4hHyKhOnsUOQDI+SAk000DmFAnUgCcC84J |
1111 | 3F4bEPeRcnUjCFI/hjR0kxg= |
1112 | =Tjln |
1113 | -', 7, 243606, 27, 10, 1, 'Julian Edwards <launchpad@julian-edwards.com>', '3.6.2', '1.0', 'commercialpackage', 12, NULL, NULL, NULL); |
1114 | -INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep) VALUES (37, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 11, NULL, NULL, NULL); |
1115 | +', 7, 243606, 27, 10, 1, 'Julian Edwards <launchpad@julian-edwards.com>', '3.6.2', '1.0', 'commercialpackage', 12, NULL, NULL, NULL, NULL); |
1116 | +INSERT INTO sourcepackagerelease (id, creator, version, dateuploaded, urgency, dscsigningkey, component, changelog_entry, builddepends, builddependsindep, architecturehintlist, dsc, section, maintainer, sourcepackagename, upload_distroseries, format, dsc_maintainer_rfc822, dsc_standards_version, dsc_format, dsc_binaries, upload_archive, copyright, build_conflicts, build_conflicts_indep, sourcepackage_recipe_build) VALUES (37, 1, '1.0', '2006-04-11 11:19:01', 1, NULL, 1, NULL, NULL, NULL, 'i386', NULL, 1, 16, 26, 1, 1, NULL, NULL, '1.0', NULL, 11, NULL, NULL, NULL, NULL); |
1117 | |
1118 | |
1119 | ALTER TABLE sourcepackagerelease ENABLE TRIGGER ALL; |
1120 | |
1121 | === modified file 'database/schema/Makefile' |
1122 | --- database/schema/Makefile 2009-09-23 10:48:06 +0000 |
1123 | +++ database/schema/Makefile 2010-03-04 20:06:42 +0000 |
1124 | @@ -122,6 +122,8 @@ |
1125 | echo "* Installing PL/PgSQL"; \ |
1126 | createlang -d ${EMPTY_DBNAME} plpgsql; \ |
1127 | fi |
1128 | + @ echo "* Creating todrop schema" |
1129 | + @ psql -d ${EMPTY_DBNAME} -q -c "CREATE SCHEMA todrop;" |
1130 | @ echo "* Creating functions" |
1131 | @ psql -d ${EMPTY_DBNAME} -f trusted.sql | grep : | cat |
1132 | @ psql -d ${EMPTY_DBNAME} -f testfuncs.sql | grep : | cat |
1133 | |
1134 | === modified file 'database/schema/comments.sql' |
1135 | --- database/schema/comments.sql 2010-02-22 13:08:23 +0000 |
1136 | +++ database/schema/comments.sql 2010-03-04 20:06:42 +0000 |
1137 | @@ -22,6 +22,13 @@ |
1138 | COMMENT ON COLUMN AnswerContact.person IS 'The person or team associated with the question target.'; |
1139 | COMMENT ON COLUMN AnswerContact.date_created IS 'The date the answer contact was submitted.'; |
1140 | |
1141 | +-- ApportJob |
1142 | + |
1143 | +COMMENT ON TABLE ApportJob IS 'Contains references to jobs to be run against Apport BLOBs.'; |
1144 | +COMMENT ON COLUMN ApportJob.blob IS 'The TemporaryBlobStorage entry on which the job is to be run.'; |
1145 | +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.'; |
1146 | +COMMENT ON COLUMN ApportJob.json_data IS 'A JSON struct containing data for the job.'; |
1147 | + |
1148 | -- Branch |
1149 | COMMENT ON TABLE Branch IS 'Bzr branch'; |
1150 | COMMENT ON COLUMN Branch.registrant IS 'The user that registered the branch.'; |
1151 | @@ -155,6 +162,7 @@ |
1152 | 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.'; |
1153 | COMMENT ON COLUMN Bug.heat IS 'The relevance of this bug. This value is computed periodically using bug_affects_person and other bug values.'; |
1154 | 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.'; |
1155 | +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'; |
1156 | |
1157 | -- BugBranch |
1158 | COMMENT ON TABLE BugBranch IS 'A branch related to a bug, most likely a branch for fixing the bug.'; |
1159 | @@ -453,7 +461,7 @@ |
1160 | |
1161 | COMMENT ON TABLE DistributionSourcePackage IS 'Representing a sourcepackage in a distribution across all distribution series.'; |
1162 | 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.'; |
1163 | - |
1164 | +COMMENT ON COLUMN DistributionSourcePackage.max_bug_heat IS 'The highest heat value across bugs for this source package.'; |
1165 | |
1166 | -- DistributionSourcePackageCache |
1167 | |
1168 | @@ -467,7 +475,6 @@ |
1169 | COMMENT ON COLUMN DistributionSourcePackageCache.changelog IS 'A concatenation of the source package release changelogs for this source package, where the status is not REMOVED.'; |
1170 | COMMENT ON COLUMN DistributionSourcePackageCache.archive IS 'The archive where the source is published.'; |
1171 | |
1172 | - |
1173 | -- DistroSeriesPackageCache |
1174 | |
1175 | 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.'; |
1176 | @@ -604,6 +611,7 @@ |
1177 | 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.'; |
1178 | COMMENT ON COLUMN Product.license_approved IS 'The Other/Open Source license has been approved by an administrator.'; |
1179 | COMMENT ON COLUMN Product.remote_product IS 'The ID of this product on its remote bug tracker.'; |
1180 | +COMMENT ON COLUMN Product.max_bug_heat IS 'The highest heat value across bugs for this product.'; |
1181 | |
1182 | -- ProductLicense |
1183 | COMMENT ON TABLE ProductLicense IS 'The licenses that cover the software for a product.'; |
1184 | @@ -695,6 +703,7 @@ |
1185 | COMMENT ON COLUMN Project.logo IS 'The library file alias of a smaller version of this product''s mugshot.'; |
1186 | COMMENT ON COLUMN Project.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on products in this project.'; |
1187 | 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.'; |
1188 | +COMMENT ON COLUMN Project.max_bug_heat IS 'The highest heat value across bugs for products in this project.'; |
1189 | |
1190 | -- ProjectRelationship |
1191 | COMMENT ON TABLE ProjectRelationship IS 'Project Relationships. This table stores information about the way projects are related to one another in the open source world. The actual nature of the relationship is stored in the ''label'' field, and possible values are given by the ProjectRelationship enum in dbschema.py. Examples are AGGREGATES ("the Gnome Project AGGREGATES EOG and Evolution and Gnumeric and AbiWord") and SIMILAR ("the Evolution project is SIMILAR to the Mutt project").'; |
1192 | @@ -958,6 +967,7 @@ |
1193 | COMMENT ON COLUMN Distribution.enable_bug_expiration IS 'Indicates whether automatic bug expiration is enabled.'; |
1194 | COMMENT ON COLUMN Distribution.bug_reporting_guidelines IS 'Guidelines to the end user for reporting bugs on this distribution.'; |
1195 | 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.'; |
1196 | +COMMENT ON COLUMN Distribution.max_bug_heat IS 'The highest heat value across bugs for this distribution.'; |
1197 | |
1198 | -- DistroSeries |
1199 | |
1200 | @@ -1032,31 +1042,27 @@ |
1201 | COMMENT ON COLUMN BinaryPackageName.name IS |
1202 | 'A lowercase name identifying one or more binarypackages'; |
1203 | |
1204 | --- SecureBinaryPackagePublishingHistory |
1205 | -COMMENT ON TABLE SecureBinaryPackagePublishingHistory 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.'; |
1206 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.binarypackagerelease IS 'The binarypackage being published.'; |
1207 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.distroarchseries IS 'The distroarchseries into which the binarypackage is being published.'; |
1208 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.status IS 'The current status of the publishing.'; |
1209 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.component IS 'The component into which the publishing takes place.'; |
1210 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.section IS 'The section into which the publishing takes place.'; |
1211 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.priority IS 'The priority at which the publishing takes place.'; |
1212 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.datecreated IS 'The date/time on which the publishing record was created.'; |
1213 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.datepublished IS 'The date/time on which the source was actually published into an archive.'; |
1214 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.'; |
1215 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.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'; |
1216 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.'; |
1217 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.scheduleddeletiondate IS 'The date/time at which the package is/was scheduled to be deleted.'; |
1218 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.dateremoved IS 'The date/time at which the package was actually deleted.'; |
1219 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.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).'; |
1220 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.embargo IS 'The publishing record is embargoed from publication if this is set to TRUE. When TRUE, this column prevents the publication record from even showing up in the publishing tables.'; |
1221 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.embargolifted IS 'The date and time when we lifted the embargo on this publishing record. I.E. when embargo was set to FALSE having previously been set to TRUE.'; |
1222 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.archive IS 'Target archive for this publishing record.'; |
1223 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.removed_by IS 'Person responsible for the removal.'; |
1224 | -COMMENT ON COLUMN SecureBinaryPackagePublishingHistory.removal_comment IS 'Reason why the publication was removed.'; |
1225 | - |
1226 | --- BinaryPackagePublishingHistory and PublishedPackage Views |
1227 | - |
1228 | -COMMENT ON VIEW BinaryPackagePublishingHistory IS 'View on SecureBinaryPackagePublishingHistory that restricts access to embargoed entries'; |
1229 | +-- BinaryPackagePublishingHistory |
1230 | +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.'; |
1231 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.binarypackagerelease IS 'The binarypackage being published.'; |
1232 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.distroarchseries IS 'The distroarchseries into which the binarypackage is being published.'; |
1233 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.status IS 'The current status of the publishing.'; |
1234 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.component IS 'The component into which the publishing takes place.'; |
1235 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.section IS 'The section into which the publishing takes place.'; |
1236 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.priority IS 'The priority at which the publishing takes place.'; |
1237 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.datecreated IS 'The date/time on which the publishing record was created.'; |
1238 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.datepublished IS 'The date/time on which the source was actually published into an archive.'; |
1239 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.'; |
1240 | +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'; |
1241 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.'; |
1242 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.scheduleddeletiondate IS 'The date/time at which the package is/was scheduled to be deleted.'; |
1243 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.dateremoved IS 'The date/time at which the package was actually deleted.'; |
1244 | +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).'; |
1245 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.archive IS 'Target archive for this publishing record.'; |
1246 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.removed_by IS 'Person responsible for the removal.'; |
1247 | +COMMENT ON COLUMN BinaryPackagePublishingHistory.removal_comment IS 'Reason why the publication was removed.'; |
1248 | + |
1249 | +-- PublishedPackage View |
1250 | |
1251 | COMMENT ON VIEW PublishedPackage IS |
1252 | 'A very large view that brings together all the information about |
1253 | @@ -1340,16 +1346,10 @@ |
1254 | COMMENT ON COLUMN SourcePackageRecipeBuild.date_first_dispatched IS 'The instant the build was dispatched the first time. This value will not get overridden if the build is retried.'; |
1255 | COMMENT ON COLUMN SourcePackageRecipeBuild.requester IS 'Who requested the build.'; |
1256 | COMMENT ON COLUMN SourcePackageRecipeBuild.recipe IS 'The recipe being processed.'; |
1257 | -COMMENT ON COLUMN SourcePackageRecipeBuild.archive IS 'The archive the source package will be uploaded to.'; |
1258 | - |
1259 | --- SourcePackageRecipeBuildUpload |
1260 | - |
1261 | -COMMENT ON TABLE SourcePackageRecipeBuildUpload IS 'The record of uploading the source package built by a SourcePackageRecipeBuild to an archive.'; |
1262 | -COMMENT ON COLUMN SourcePackageRecipeBuildUpload.registrant IS 'Who requested the upload.'; |
1263 | -COMMENT ON COLUMN SourcePackageRecipeBuildUpload.sourcepackage_recipe_build IS 'Upload the output of this build.'; |
1264 | -COMMENT ON COLUMN SourcePackageRecipeBuildUpload.archive IS 'The archive to upload to.'; |
1265 | -COMMENT ON COLUMN SourcePackageRecipeBuildUpload.upload_log IS 'The output from uploading the source package to the archive.'; |
1266 | -COMMENT ON COLUMN SourcePackageRecipeBuildUpload.state IS 'The state of the upload.'; |
1267 | +COMMENT ON COLUMN SourcePackageRecipeBuild.archive IS 'The archive the source package will be built in and uploaded to.'; |
1268 | +COMMENT ON COLUMN SourcePackageRecipeBuild.pocket IS 'The pocket the source package will be built in and uploaded to.'; |
1269 | +COMMENT ON COLUMN SourcePackageRecipeBuild.dependencies IS 'The missing build dependencies, if any.'; |
1270 | +COMMENT ON COLUMN SourcePackageRecipeBuild.upload_log IS 'The output from uploading the source package to the archive.'; |
1271 | |
1272 | -- SourcePackageRecipeBuildJob |
1273 | |
1274 | @@ -1628,31 +1628,25 @@ |
1275 | COMMENT ON COLUMN MirrorSourceContent.distroseries IS 'A distroseries that this mirror contains.'; |
1276 | COMMENT ON COLUMN MirrorSourceContent.component IS 'What component of the distroseries that this sourcepackage mirror contains.'; |
1277 | |
1278 | --- SecureSourcePackagePublishingHistory |
1279 | - |
1280 | -COMMENT ON TABLE SecureSourcePackagePublishingHistory 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.'; |
1281 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.sourcepackagerelease IS 'The sourcepackagerelease being published.'; |
1282 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.distroseries IS 'The distroseries into which the sourcepackagerelease is being published.'; |
1283 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.status IS 'The current status of the publishing.'; |
1284 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.component IS 'The component into which the publishing takes place.'; |
1285 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.section IS 'The section into which the publishing takes place.'; |
1286 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.datecreated IS 'The date/time on which the publishing record was created.'; |
1287 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.datepublished IS 'The date/time on which the source was actually published into an archive.'; |
1288 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.'; |
1289 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.supersededby IS 'The source which superseded this one.'; |
1290 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.'; |
1291 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.scheduleddeletiondate IS 'The date/time at which the source is/was scheduled to be deleted.'; |
1292 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.dateremoved IS 'The date/time at which the source was actually deleted.'; |
1293 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.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)'; |
1294 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.embargo IS 'The publishing record is embargoed from publication if this is set to TRUE. When TRUE, this column prevents the publication record from even showing up in the publishing tables.'; |
1295 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.embargolifted IS 'The date and time when we lifted the embargo on this publishing record. I.E. when embargo was set to FALSE having previously been set to TRUE.'; |
1296 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.removed_by IS 'Person responsible for the removal.'; |
1297 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.removal_comment IS 'Reason why the publication was removed.'; |
1298 | - |
1299 | --- SourcePackagePublishingHistory View |
1300 | - |
1301 | -COMMENT ON VIEW SourcePackagePublishingHistory IS 'A view on SecureSourcePackagePublishingHistory that restricts access to embargoed entries'; |
1302 | -COMMENT ON COLUMN SecureSourcePackagePublishingHistory.archive IS 'The target archive for thi publishing record.'; |
1303 | +-- SourcePackagePublishingHistory |
1304 | + |
1305 | +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.'; |
1306 | +COMMENT ON COLUMN SourcePackagePublishingHistory.sourcepackagerelease IS 'The sourcepackagerelease being published.'; |
1307 | +COMMENT ON COLUMN SourcePackagePublishingHistory.distroseries IS 'The distroseries into which the sourcepackagerelease is being published.'; |
1308 | +COMMENT ON COLUMN SourcePackagePublishingHistory.status IS 'The current status of the publishing.'; |
1309 | +COMMENT ON COLUMN SourcePackagePublishingHistory.component IS 'The component into which the publishing takes place.'; |
1310 | +COMMENT ON COLUMN SourcePackagePublishingHistory.section IS 'The section into which the publishing takes place.'; |
1311 | +COMMENT ON COLUMN SourcePackagePublishingHistory.datecreated IS 'The date/time on which the publishing record was created.'; |
1312 | +COMMENT ON COLUMN SourcePackagePublishingHistory.datepublished IS 'The date/time on which the source was actually published into an archive.'; |
1313 | +COMMENT ON COLUMN SourcePackagePublishingHistory.datesuperseded IS 'The date/time on which the source was superseded by a new source.'; |
1314 | +COMMENT ON COLUMN SourcePackagePublishingHistory.supersededby IS 'The source which superseded this one.'; |
1315 | +COMMENT ON COLUMN SourcePackagePublishingHistory.datemadepending IS 'The date/time on which this publishing record was made to be pending removal from the archive.'; |
1316 | +COMMENT ON COLUMN SourcePackagePublishingHistory.scheduleddeletiondate IS 'The date/time at which the source is/was scheduled to be deleted.'; |
1317 | +COMMENT ON COLUMN SourcePackagePublishingHistory.dateremoved IS 'The date/time at which the source was actually deleted.'; |
1318 | +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)'; |
1319 | +COMMENT ON COLUMN SourcePackagePublishingHistory.removed_by IS 'Person responsible for the removal.'; |
1320 | +COMMENT ON COLUMN SourcePackagePublishingHistory.removal_comment IS 'Reason why the publication was removed.'; |
1321 | +COMMENT ON COLUMN SourcePackagePublishingHistory.archive IS 'The target archive for thi publishing record.'; |
1322 | |
1323 | -- Packaging |
1324 | COMMENT ON TABLE Packaging IS 'DO NOT JOIN THROUGH THIS TABLE. This is a set |
1325 | @@ -1865,6 +1859,7 @@ |
1326 | COMMENT ON COLUMN DistributionMirror.whiteboard IS 'Notes on the current status of the mirror'; |
1327 | COMMENT ON COLUMN DistributionMirror.date_created IS 'The date and time the mirror was created.'; |
1328 | COMMENT ON COLUMN DistributionMirror.date_reviewed IS 'The date and time the mirror was reviewed.'; |
1329 | +COMMENT ON COLUMN DistributionMirror.country_dns_mirror IS 'Is the mirror a country DNS mirror?'; |
1330 | |
1331 | -- MirrorDistroArchSeries |
1332 | COMMENT ON TABLE MirrorDistroArchSeries IS 'The mirror of the packages of a given Distro Arch Release.'; |
1333 | @@ -2344,3 +2339,7 @@ |
1334 | COMMENT ON COLUMN SourcePackageFormatSelection.distroseries IS 'Refers to the distroseries in question.'; |
1335 | COMMENT ON COLUMN SourcePackageFormatSelection.format IS 'The SourcePackageFormat to allow.'; |
1336 | |
1337 | +COMMENT ON TABLE DatabaseReplicationLag IS 'A cached snapshot of database replication lag between our master Slony node and its slaves.'; |
1338 | +COMMENT ON COLUMN DatabaseReplicationLag.node IS 'The Slony node number identifying the slave database.'; |
1339 | +COMMENT ON COLUMN DatabaseReplicationLag.lag IS 'lag time.'; |
1340 | +COMMENT ON COLUMN DatabaseReplicationLag.updated IS 'When this value was updated.'; |
1341 | |
1342 | === modified file 'database/schema/diagram.py' |
1343 | --- database/schema/diagram.py 2009-10-17 14:06:03 +0000 |
1344 | +++ database/schema/diagram.py 2010-03-04 20:06:42 +0000 |
1345 | @@ -9,7 +9,6 @@ |
1346 | import _pythonpath |
1347 | |
1348 | import psycopg, sys, os, re |
1349 | -from sets import Set |
1350 | from security import DbSchema, CursorWrapper |
1351 | from ConfigParser import SafeConfigParser, NoOptionError |
1352 | |
1353 | @@ -51,8 +50,8 @@ |
1354 | '''The universe contains everything''' |
1355 | return True |
1356 | |
1357 | -all_tables = Set() |
1358 | -graphed_tables = Set() |
1359 | +all_tables = set() |
1360 | +graphed_tables = set() |
1361 | |
1362 | def tartup(filename, outfile, section): |
1363 | dot = open(filename).read() |
1364 | |
1365 | === renamed file 'database/schema/patch-2207-09.0.sql' => 'database/schema/patch-2207-09-0.sql' |
1366 | === added file 'database/schema/patch-2207-23-0.sql' |
1367 | --- database/schema/patch-2207-23-0.sql 1970-01-01 00:00:00 +0000 |
1368 | +++ database/schema/patch-2207-23-0.sql 2010-03-04 20:06:42 +0000 |
1369 | @@ -0,0 +1,19 @@ |
1370 | +-- Copyright 2010 Canonical Ltd. This software is licensed under the |
1371 | +-- GNU Affero General Public License version 3 (see the file LICENSE). |
1372 | + |
1373 | +SET client_min_messages=ERROR; |
1374 | + |
1375 | +ALTER TABLE DistributionMirror |
1376 | + ADD COLUMN country_dns_mirror boolean DEFAULT FALSE NOT NULL; |
1377 | + |
1378 | +--- Index for country archive mirrors, one per country. |
1379 | +CREATE UNIQUE INDEX distributionmirror__archive__distribution__country__key |
1380 | + ON DistributionMirror(distribution, country, content) |
1381 | + WHERE country_dns_mirror IS TRUE AND content = 1; |
1382 | + |
1383 | +--- Index for country CD image mirrors, one per country. |
1384 | +CREATE UNIQUE INDEX distributionmirror__releases__distribution__country__key |
1385 | + ON DistributionMirror(distribution, country, content) |
1386 | + WHERE country_dns_mirror IS TRUE AND content = 2; |
1387 | + |
1388 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 23, 0); |
1389 | |
1390 | === added file 'database/schema/patch-2207-28-1.sql' |
1391 | --- database/schema/patch-2207-28-1.sql 1970-01-01 00:00:00 +0000 |
1392 | +++ database/schema/patch-2207-28-1.sql 2010-03-04 20:06:42 +0000 |
1393 | @@ -0,0 +1,9 @@ |
1394 | +SET client_min_messages = ERROR; |
1395 | + |
1396 | +CREATE TABLE DatabaseReplicationLag ( |
1397 | + node integer PRIMARY KEY, |
1398 | + lag interval NOT NULL, |
1399 | + updated timestamp without time zone |
1400 | + DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'UTC')); |
1401 | + |
1402 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 28, 1); |
1403 | |
1404 | === added file 'database/schema/patch-2207-29-0.sql' |
1405 | --- database/schema/patch-2207-29-0.sql 1970-01-01 00:00:00 +0000 |
1406 | +++ database/schema/patch-2207-29-0.sql 2010-03-04 20:06:42 +0000 |
1407 | @@ -0,0 +1,34 @@ |
1408 | +-- Copyright 2010 Canonical Ltd. This software is licensed under the |
1409 | +-- GNU Affero General Public License version 3 (see the file LICENSE). |
1410 | + |
1411 | +SET client_min_messages=ERROR; |
1412 | + |
1413 | +ALTER TABLE bug |
1414 | + ADD COLUMN latest_patch_uploaded timestamp without time zone |
1415 | + DEFAULT NULL; |
1416 | + |
1417 | +CREATE INDEX bug__latest_patch_uploaded__idx |
1418 | + ON bug(latest_patch_uploaded); |
1419 | + |
1420 | +CREATE TRIGGER bug_latest_patch_uploaded_on_insert_update_t |
1421 | +AFTER INSERT OR UPDATE ON bugattachment |
1422 | +FOR EACH ROW EXECUTE PROCEDURE bug_update_latest_patch_uploaded_on_insert_update(); |
1423 | + |
1424 | +CREATE TRIGGER bug_latest_patch_uploaded_on_delete_t |
1425 | +AFTER DELETE ON bugattachment |
1426 | +FOR EACH ROW EXECUTE PROCEDURE bug_update_latest_patch_uploaded_on_delete(); |
1427 | + |
1428 | +CREATE INDEX bugattachment__bug__idx ON BugAttachment(bug); |
1429 | + |
1430 | +UPDATE Bug |
1431 | +SET latest_patch_uploaded = LatestPatch.datecreated |
1432 | +FROM ( |
1433 | + SELECT BugAttachment.bug, max(Message.datecreated) AS datecreated |
1434 | + FROM BugAttachment, Message |
1435 | + WHERE BugAttachment.message = Message.id |
1436 | + AND BugAttachment.type = 1 |
1437 | + GROUP BY BugAttachment.bug |
1438 | + ) AS LatestPatch |
1439 | +WHERE LatestPatch.bug = Bug.id; |
1440 | + |
1441 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 29, 0); |
1442 | |
1443 | === added file 'database/schema/patch-2207-30-0.sql' |
1444 | --- database/schema/patch-2207-30-0.sql 1970-01-01 00:00:00 +0000 |
1445 | +++ database/schema/patch-2207-30-0.sql 2010-03-04 20:06:42 +0000 |
1446 | @@ -0,0 +1,14 @@ |
1447 | +SET client_min_messages=ERROR; |
1448 | + |
1449 | +CREATE TABLE ApportJob( |
1450 | + id serial NOT NULL PRIMARY KEY, |
1451 | + job integer NOT NULL REFERENCES Job(id), |
1452 | + blob integer NOT NULL REFERENCES TemporaryBlobStorage(id), |
1453 | + job_type integer NOT NULL, |
1454 | + json_data text |
1455 | +); |
1456 | + |
1457 | +ALTER TABLE ApportJob ADD CONSTRAINT apportjob__job__key UNIQUE (job); |
1458 | +CREATE INDEX apportjob__blob__idx ON ApportJob(blob); |
1459 | + |
1460 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 30, 0) |
1461 | |
1462 | === added file 'database/schema/patch-2207-31-0.sql' |
1463 | --- database/schema/patch-2207-31-0.sql 1970-01-01 00:00:00 +0000 |
1464 | +++ database/schema/patch-2207-31-0.sql 2010-03-04 20:06:42 +0000 |
1465 | @@ -0,0 +1,27 @@ |
1466 | + |
1467 | +SET client_min_messages=ERROR; |
1468 | + |
1469 | +DROP VIEW SourcePackagePublishingHistory; |
1470 | +DROP VIEW BinaryPackagePublishingHistory; |
1471 | + |
1472 | +ALTER TABLE SecureSourcePackagePublishingHistory |
1473 | + RENAME TO SourcePackagePublishingHistory; |
1474 | +ALTER TABLE SecureBinaryPackagePublishingHistory |
1475 | + RENAME TO BinaryPackagePublishingHistory; |
1476 | + |
1477 | +ALTER SEQUENCE securesourcepackagepublishinghistory_id_seq |
1478 | + RENAME TO sourcepackagepublishinghistory_id_seq; |
1479 | +ALTER SEQUENCE securebinarypackagepublishinghistory_id_seq |
1480 | + RENAME TO binarypackagepublishinghistory_id_seq; |
1481 | + |
1482 | +ALTER TABLE SourcePackagePublishingHistory |
1483 | + DROP COLUMN embargolifted; |
1484 | +ALTER TABLE SourcePackagePublishingHistory |
1485 | + DROP COLUMN embargo; |
1486 | +ALTER TABLE BinaryPackagePublishingHistory |
1487 | + DROP COLUMN embargolifted; |
1488 | +ALTER TABLE BinaryPackagePublishingHistory |
1489 | + DROP COLUMN embargo; |
1490 | + |
1491 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 31, 0); |
1492 | + |
1493 | |
1494 | === added file 'database/schema/patch-2207-32-0.sql' |
1495 | --- database/schema/patch-2207-32-0.sql 1970-01-01 00:00:00 +0000 |
1496 | +++ database/schema/patch-2207-32-0.sql 2010-03-04 20:06:42 +0000 |
1497 | @@ -0,0 +1,24 @@ |
1498 | +SET client_min_messages=ERROR; |
1499 | + |
1500 | +ALTER TABLE SourcePackageRecipeBuild ADD COLUMN dependencies text; |
1501 | +ALTER TABLE SourcePackageRecipeBuild ADD COLUMN pocket integer |
1502 | + DEFAULT 0 NOT NULL; |
1503 | +ALTER TABLE SourcePackageRecipeBuild ADD COLUMN upload_log integer |
1504 | + CONSTRAINT sourcepackagerecipebuild__upload_log__fk |
1505 | + REFERENCES LibraryFileAlias; |
1506 | + |
1507 | +CREATE INDEX sourcepackagerecipebuild__upload_log__idx |
1508 | + ON SourcePackageRecipeBuild(upload_log) WHERE upload_log IS NOT NULL; |
1509 | + |
1510 | +-- We can't drop tables in DB patches due to Slony-I limitations, so |
1511 | +-- we give them a magic name for database/schema/upgrade.py to deal |
1512 | +-- with correctly. |
1513 | +-- Drop the constraint right now so the person privacy checker doesn't |
1514 | +-- look at this table at all. |
1515 | +ALTER TABLE SourcePackageRecipeBuildUpload DROP CONSTRAINT sourcepackagerecipebuildupload_archive_fkey; |
1516 | +ALTER TABLE SourcePackageRecipeBuildUpload DROP CONSTRAINT sourcepackagerecipebuildupload_registrant_fkey; |
1517 | +ALTER TABLE SourcePackageRecipeBuildUpload DROP CONSTRAINT sourcepackagerecipebuildupload_sourcepackage_recipe_build_fkey; |
1518 | +ALTER TABLE SourcePackageRecipeBuildUpload DROP CONSTRAINT sourcepackagerecipebuildupload_upload_log_fkey; |
1519 | +ALTER TABLE SourcePackageRecipeBuildUpload SET SCHEMA todrop; |
1520 | + |
1521 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 32, 0); |
1522 | |
1523 | === added file 'database/schema/patch-2207-33-0.sql' |
1524 | --- database/schema/patch-2207-33-0.sql 1970-01-01 00:00:00 +0000 |
1525 | +++ database/schema/patch-2207-33-0.sql 2010-03-04 20:06:42 +0000 |
1526 | @@ -0,0 +1,9 @@ |
1527 | +-- Copyright 2010 Canonical Ltd. This software is licensed under the |
1528 | +-- GNU Affero General Public License version 3 (see the file LICENSE). |
1529 | + |
1530 | +SET client_min_messages=ERROR; |
1531 | + |
1532 | +ALTER TABLE BranchMergeProposal |
1533 | + ADD COLUMN description TEXT; |
1534 | + |
1535 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 33, 0); |
1536 | |
1537 | === added file 'database/schema/patch-2207-34-0.sql' |
1538 | --- database/schema/patch-2207-34-0.sql 1970-01-01 00:00:00 +0000 |
1539 | +++ database/schema/patch-2207-34-0.sql 2010-03-04 20:06:42 +0000 |
1540 | @@ -0,0 +1,11 @@ |
1541 | +-- Copyright 2010 Canonical Ltd. This software is licensed under the |
1542 | +-- GNU Affero General Public License version 3 (see the file LICENSE). |
1543 | + |
1544 | +SET client_min_messages=ERROR; |
1545 | + |
1546 | +ALTER TABLE product ADD COLUMN max_bug_heat integer; |
1547 | +ALTER TABLE project ADD COLUMN max_bug_heat integer; |
1548 | +ALTER TABLE distribution ADD COLUMN max_bug_heat integer; |
1549 | +ALTER TABLE distributionsourcepackage ADD COLUMN max_bug_heat integer; |
1550 | + |
1551 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 34, 0); |
1552 | |
1553 | === added file 'database/schema/patch-2207-35-0.sql' |
1554 | --- database/schema/patch-2207-35-0.sql 1970-01-01 00:00:00 +0000 |
1555 | +++ database/schema/patch-2207-35-0.sql 2010-03-04 20:06:42 +0000 |
1556 | @@ -0,0 +1,8 @@ |
1557 | +-- Copyright 2010 Canonical Ltd. This software is licensed under the |
1558 | +-- GNU Affero General Public License version 3 (see the file LICENSE). |
1559 | + |
1560 | +SET client_min_messages=ERROR; |
1561 | + |
1562 | +ALTER TABLE processorfamily ADD COLUMN restricted boolean DEFAULT FALSE NOT NULL; |
1563 | + |
1564 | +INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 35, 0); |
1565 | |
1566 | === modified file 'database/schema/security.cfg' |
1567 | --- database/schema/security.cfg 2010-01-29 17:15:31 +0000 |
1568 | +++ database/schema/security.cfg 2010-03-04 20:06:42 +0000 |
1569 | @@ -121,10 +121,11 @@ |
1570 | public.account = SELECT |
1571 | public.announcement = SELECT, INSERT, UPDATE, DELETE |
1572 | public.answercontact = SELECT, INSERT, UPDATE, DELETE |
1573 | +public.apportjob = SELECT, INSERT, UPDATE, DELETE |
1574 | public.archive = SELECT, INSERT, UPDATE |
1575 | public.archiveauthtoken = SELECT, INSERT, UPDATE |
1576 | public.archivesubscriber = SELECT, INSERT, UPDATE |
1577 | -public.archivearch = SELECT, INSERT, UPDATE |
1578 | +public.archivearch = SELECT, INSERT, UPDATE, DELETE |
1579 | public.archivedependency = SELECT, INSERT, DELETE |
1580 | public.archivepermission = SELECT, INSERT, UPDATE, DELETE |
1581 | public.authtoken = SELECT, INSERT, UPDATE, DELETE |
1582 | @@ -165,6 +166,7 @@ |
1583 | public.cvereference = SELECT, INSERT |
1584 | public.cve = SELECT, INSERT, UPDATE |
1585 | public.customlanguagecode = SELECT, INSERT, UPDATE, DELETE |
1586 | +public.databasereplicationlag = SELECT |
1587 | public.diff = SELECT, INSERT, UPDATE |
1588 | public.distributionbounty = SELECT, INSERT, UPDATE |
1589 | public.distributionmirror = SELECT, INSERT, UPDATE, DELETE |
1590 | @@ -279,7 +281,6 @@ |
1591 | public.sourcepackagerecipe = SELECT, INSERT, UPDATE, DELETE |
1592 | public.sourcepackagerecipebuild = SELECT, INSERT, UPDATE, DELETE |
1593 | public.sourcepackagerecipebuildjob = SELECT, INSERT, UPDATE |
1594 | -public.sourcepackagerecipebuildupload = SELECT, INSERT, UPDATE, DELETE |
1595 | public.sourcepackagerecipedata = SELECT, INSERT, UPDATE, DELETE |
1596 | public.sourcepackagerecipedatainstruction = SELECT, INSERT, UPDATE, DELETE |
1597 | public.specificationbranch = SELECT, INSERT, UPDATE, DELETE |
1598 | @@ -411,7 +412,6 @@ |
1599 | public.sprint = SELECT |
1600 | public.sourcepackagereleasefile = SELECT |
1601 | public.sourcepackagerecipebuild = SELECT |
1602 | -public.sourcepackagerecipebuildupload = SELECT |
1603 | public.temporaryblobstorage = SELECT, DELETE |
1604 | public.translationimportqueueentry = SELECT |
1605 | |
1606 | @@ -546,6 +546,7 @@ |
1607 | public.bugactivity = SELECT, INSERT |
1608 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1609 | public.bugcve = SELECT, INSERT |
1610 | +public.bugjob = SELECT, INSERT |
1611 | public.bugmessage = SELECT, INSERT, UPDATE |
1612 | public.bugnomination = SELECT |
1613 | public.bugnotification = SELECT, INSERT |
1614 | @@ -561,6 +562,7 @@ |
1615 | public.distribution = SELECT |
1616 | public.distroseries = SELECT |
1617 | public.emailaddress = SELECT, INSERT |
1618 | +public.job = SELECT, INSERT, UPDATE |
1619 | public.language = SELECT |
1620 | public.libraryfilealias = SELECT, INSERT |
1621 | public.libraryfilecontent = SELECT, INSERT |
1622 | @@ -703,8 +705,8 @@ |
1623 | public.mirrorproberecord = SELECT, INSERT |
1624 | public.person = SELECT |
1625 | public.processorfamily = SELECT |
1626 | -public.securesourcepackagepublishinghistory = SELECT |
1627 | -public.securebinarypackagepublishinghistory = SELECT |
1628 | +public.sourcepackagepublishinghistory = SELECT |
1629 | +public.binarypackagepublishinghistory = SELECT |
1630 | public.sourcepackagerelease = SELECT |
1631 | public.sourcepackagereleasefile = SELECT |
1632 | public.sourcepackagename = SELECT |
1633 | @@ -770,8 +772,8 @@ |
1634 | public.archivearch = SELECT, UPDATE |
1635 | public.distribution = SELECT |
1636 | public.packagediff = SELECT, INSERT, UPDATE |
1637 | -public.securebinarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1638 | -public.securesourcepackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1639 | +public.binarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1640 | +public.sourcepackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1641 | |
1642 | [lucille] |
1643 | # Soyuz archive publisher. |
1644 | @@ -790,8 +792,8 @@ |
1645 | public.packagesetsources = SELECT, INSERT, UPDATE, DELETE |
1646 | public.packagesetinclusion = SELECT, INSERT, UPDATE, DELETE |
1647 | public.flatpackagesetinclusion = SELECT, INSERT, UPDATE, DELETE |
1648 | -public.securebinarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1649 | -public.securesourcepackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1650 | +public.binarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1651 | +public.sourcepackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1652 | public.sourcepackagepublishinghistory = SELECT |
1653 | |
1654 | # Closing bugs for publication copies. |
1655 | @@ -845,12 +847,12 @@ |
1656 | public.distroseries = SELECT, UPDATE |
1657 | public.distroarchseries = SELECT, UPDATE |
1658 | public.sourcepackagepublishinghistory = SELECT |
1659 | -public.securesourcepackagepublishinghistory = SELECT |
1660 | +public.sourcepackagepublishinghistory = SELECT |
1661 | public.sourcepackagerelease = SELECT |
1662 | public.sourcepackagereleasefile = SELECT |
1663 | public.sourcepackagename = SELECT |
1664 | public.binarypackagepublishinghistory = SELECT |
1665 | -public.securebinarypackagepublishinghistory = SELECT |
1666 | +public.binarypackagepublishinghistory = SELECT |
1667 | public.binarypackagerelease = SELECT |
1668 | public.binarypackagefile = SELECT |
1669 | public.binarypackagename = SELECT |
1670 | @@ -914,7 +916,7 @@ |
1671 | # certain processes, such as the librarian tables. This group is deprecated - |
1672 | # access should be explicitly granted to users. |
1673 | public.archive = SELECT, INSERT, UPDATE |
1674 | -public.archivearch = SELECT, INSERT, UPDATE |
1675 | +public.archivearch = SELECT, INSERT, UPDATE, DELETE |
1676 | public.binarypackagerelease = SELECT, INSERT, UPDATE |
1677 | public.binarypackagefile = SELECT, INSERT, UPDATE |
1678 | public.binarypackagefilepublishing = SELECT, INSERT, UPDATE |
1679 | @@ -925,6 +927,7 @@ |
1680 | public.bug = SELECT, INSERT, UPDATE |
1681 | public.bugactivity = SELECT, INSERT, UPDATE |
1682 | public.bugattachment = SELECT, INSERT, UPDATE |
1683 | +public.bugjob = SELECT, INSERT |
1684 | public.bugmessage = SELECT, INSERT, UPDATE |
1685 | public.bugnomination = SELECT, INSERT, UPDATE |
1686 | public.bugpackageinfestation = SELECT, INSERT, UPDATE |
1687 | @@ -966,8 +969,7 @@ |
1688 | public.teammembership = SELECT, INSERT, UPDATE, DELETE |
1689 | public.message = SELECT, INSERT, UPDATE |
1690 | public.milestone = SELECT, INSERT, UPDATE |
1691 | -public.binarypackagepublishinghistory = SELECT |
1692 | -public.securebinarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1693 | +public.binarypackagepublishinghistory = SELECT, INSERT, UPDATE, DELETE |
1694 | public.packageselection = SELECT, INSERT, UPDATE |
1695 | public.packaging = SELECT, INSERT, UPDATE |
1696 | public.person = SELECT, INSERT, UPDATE |
1697 | @@ -1000,8 +1002,7 @@ |
1698 | public.sourcepackagefilepublishing = SELECT, INSERT, UPDATE |
1699 | public.sourcepackageformatselection = SELECT, INSERT |
1700 | public.sourcepackagename = SELECT, INSERT, UPDATE |
1701 | -public.sourcepackagepublishinghistory = SELECT |
1702 | -public.securesourcepackagepublishinghistory = SELECT, INSERT, UPDATE |
1703 | +public.sourcepackagepublishinghistory = SELECT, INSERT, UPDATE |
1704 | public.sourcepackagerelease = SELECT, INSERT, UPDATE |
1705 | public.sourcepackagereleasefile = SELECT, INSERT, UPDATE |
1706 | public.spokenin = SELECT, INSERT, UPDATE |
1707 | @@ -1126,6 +1127,7 @@ |
1708 | public.binarypackagefile = SELECT, INSERT |
1709 | public.pocketchroot = SELECT |
1710 | public.build = SELECT, INSERT, UPDATE |
1711 | +public.sourcepackagerecipebuild = SELECT, UPDATE |
1712 | public.buildqueue = SELECT, INSERT, UPDATE |
1713 | public.job = SELECT, INSERT, UPDATE |
1714 | public.buildpackagejob = SELECT, INSERT, UPDATE |
1715 | @@ -1141,12 +1143,13 @@ |
1716 | public.packageuploadcustom = SELECT, INSERT |
1717 | |
1718 | # For premature source-only publication |
1719 | -public.securesourcepackagepublishinghistory = SELECT, INSERT |
1720 | +public.sourcepackagepublishinghistory = SELECT, INSERT |
1721 | |
1722 | # Closing bugs for premature source-only publication |
1723 | public.bug = SELECT, UPDATE |
1724 | public.bugactivity = SELECT, INSERT |
1725 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1726 | +public.bugjob = SELECT, INSERT |
1727 | public.bugsubscription = SELECT |
1728 | public.bugnotification = SELECT, INSERT |
1729 | public.bugnotificationrecipient = SELECT, INSERT |
1730 | @@ -1219,12 +1222,10 @@ |
1731 | public.binarypackagefile = SELECT, UPDATE |
1732 | public.sourcepackagename = SELECT |
1733 | public.binarypackagename = SELECT |
1734 | -public.binarypackagepublishinghistory = SELECT |
1735 | -public.sourcepackagepublishinghistory = SELECT |
1736 | public.sourcepackagefilepublishing = SELECT |
1737 | public.binarypackagefilepublishing = SELECT |
1738 | -public.securesourcepackagepublishinghistory = SELECT, INSERT, UPDATE |
1739 | -public.securebinarypackagepublishinghistory = SELECT, INSERT, UPDATE |
1740 | +public.sourcepackagepublishinghistory = SELECT, INSERT, UPDATE |
1741 | +public.binarypackagepublishinghistory = SELECT, INSERT, UPDATE |
1742 | public.sourcepackagerecipebuildjob = SELECT, INSERT, UPDATE |
1743 | public.component = SELECT |
1744 | public.section = SELECT |
1745 | @@ -1246,6 +1247,7 @@ |
1746 | public.bug = SELECT, UPDATE |
1747 | public.bugactivity = SELECT, INSERT |
1748 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1749 | +public.bugjob = SELECT, INSERT |
1750 | public.bugsubscription = SELECT |
1751 | public.bugnotification = SELECT, INSERT |
1752 | public.bugnotificationrecipient = SELECT, INSERT |
1753 | @@ -1315,10 +1317,12 @@ |
1754 | public.bug = SELECT, INSERT, UPDATE |
1755 | public.bugactivity = SELECT, INSERT |
1756 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1757 | +public.bugjob = SELECT, INSERT |
1758 | public.bugmessage = SELECT, INSERT |
1759 | public.bugtag = SELECT |
1760 | public.bugtask = SELECT, INSERT, UPDATE |
1761 | public.bugwatch = SELECT |
1762 | +public.job = SELECT, INSERT, UPDATE |
1763 | public.component = SELECT |
1764 | public.packagebugsupervisor = SELECT |
1765 | public.person = SELECT |
1766 | @@ -1515,6 +1519,7 @@ |
1767 | public.bug = SELECT, INSERT, UPDATE |
1768 | public.bugactivity = SELECT, INSERT |
1769 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1770 | +public.bugjob = SELECT, INSERT |
1771 | public.bugsubscription = SELECT, INSERT |
1772 | public.bugnotification = SELECT, INSERT |
1773 | public.bugnotificationattachment = SELECT |
1774 | @@ -1632,7 +1637,6 @@ |
1775 | public.distribution = SELECT |
1776 | public.person = SELECT |
1777 | public.libraryfilealias = SELECT, UPDATE |
1778 | -public.securebinarypackagepublishinghistory = SELECT |
1779 | public.sourcepackagereleasefile = SELECT |
1780 | public.sourcepackagepublishinghistory = SELECT |
1781 | public.sourcepackagerelease = SELECT |
1782 | @@ -1783,6 +1787,7 @@ |
1783 | public.bugtracker = SELECT, INSERT |
1784 | public.bugwatch = SELECT, INSERT |
1785 | public.bug = SELECT, INSERT, UPDATE |
1786 | +public.bugjob = SELECT, INSERT |
1787 | public.bugaffectsperson = SELECT, INSERT, UPDATE, DELETE |
1788 | public.bugtask = SELECT, INSERT, UPDATE |
1789 | public.accountpassword = SELECT, INSERT |
1790 | @@ -1796,6 +1801,7 @@ |
1791 | public.bugsubscription = SELECT, INSERT |
1792 | public.bugmessage = SELECT, INSERT |
1793 | public.sourcepackagename = SELECT |
1794 | +public.job = SELECT, INSERT, UPDATE |
1795 | |
1796 | [updatesourceforgeremoteproduct] |
1797 | # Updates Product.remote_product using SourceForge project data. |
1798 | @@ -1886,3 +1892,16 @@ |
1799 | public.bug = SELECT, UPDATE |
1800 | public.job = SELECT, UPDATE, DELETE |
1801 | public.bugjob = SELECT, DELETE |
1802 | + |
1803 | +[lagmon] |
1804 | +# cache-database-replication-lag.py |
1805 | +type=user |
1806 | +public.update_replication_lag_cache() = EXECUTE |
1807 | + |
1808 | +[process-apport-blobs] |
1809 | +type=user |
1810 | +groups=script,read |
1811 | +public.job = SELECT, UPDATE, DELETE |
1812 | +public.apportjob = SELECT, INSERT, UPDATE, DELETE |
1813 | +public.libraryfilealias = SELECT, INSERT, UPDATE |
1814 | +public.libraryfilecontent = SELECT, INSERT, UPDATE |
1815 | |
1816 | === modified file 'database/schema/security.py' |
1817 | --- database/schema/security.py 2010-01-06 12:34:40 +0000 |
1818 | +++ database/schema/security.py 2010-03-04 20:06:42 +0000 |
1819 | @@ -10,7 +10,6 @@ |
1820 | |
1821 | from itertools import chain |
1822 | import os |
1823 | -import sets |
1824 | import sys |
1825 | |
1826 | import psycopg2 |
1827 | @@ -291,7 +290,7 @@ |
1828 | # Set of all tables we have granted permissions on. After we have assigned |
1829 | # permissions, we can use this to determine what tables have been |
1830 | # forgotten about. |
1831 | - found = sets.Set() |
1832 | + found = set() |
1833 | |
1834 | # Set permissions as per config file |
1835 | for username in config.sections(): |
1836 | @@ -383,7 +382,7 @@ |
1837 | |
1838 | # Raise an error if we have database objects lying around that have not |
1839 | # had permissions assigned. |
1840 | - forgotten = sets.Set() |
1841 | + forgotten = set() |
1842 | for obj in schema.values(): |
1843 | if obj not in found: |
1844 | forgotten.add(obj) |
1845 | |
1846 | === modified file 'database/schema/trusted.sql' |
1847 | --- database/schema/trusted.sql 2009-11-30 11:48:01 +0000 |
1848 | +++ database/schema/trusted.sql 2010-03-04 20:06:42 +0000 |
1849 | @@ -94,6 +94,28 @@ |
1850 | '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.'; |
1851 | |
1852 | |
1853 | +CREATE OR REPLACE FUNCTION update_replication_lag_cache() RETURNS boolean |
1854 | +LANGUAGE plpgsql VOLATILE SECURITY DEFINER AS |
1855 | +$$ |
1856 | + BEGIN |
1857 | + DELETE FROM DatabaseReplicationLag; |
1858 | + INSERT INTO DatabaseReplicationLag (node, lag) |
1859 | + SELECT st_received, st_lag_time FROM _sl.sl_status |
1860 | + WHERE st_origin = _sl.getlocalnodeid('_sl'); |
1861 | + RETURN TRUE; |
1862 | + -- Slony-I not installed here - non-replicated setup. |
1863 | + EXCEPTION |
1864 | + WHEN invalid_schema_name THEN |
1865 | + RETURN FALSE; |
1866 | + WHEN undefined_table THEN |
1867 | + RETURN FALSE; |
1868 | + END; |
1869 | +$$; |
1870 | + |
1871 | +COMMENT ON FUNCTION update_replication_lag_cache() IS |
1872 | +'Updates the DatabaseReplicationLag materialized view.'; |
1873 | + |
1874 | + |
1875 | CREATE OR REPLACE FUNCTION getlocalnodeid() RETURNS integer |
1876 | LANGUAGE plpgsql STABLE SECURITY DEFINER AS |
1877 | $$ |
1878 | @@ -1423,3 +1445,38 @@ |
1879 | $$; |
1880 | |
1881 | |
1882 | +-- Update the (redundant) column bug.latest_patch_uploaded when a |
1883 | +-- a bug attachment is added or removed or if its type is changed. |
1884 | +CREATE OR REPLACE FUNCTION bug_update_latest_patch_uploaded(integer) RETURNS VOID |
1885 | + SECURITY DEFINER LANGUAGE plpgsql AS |
1886 | + $$ |
1887 | + BEGIN |
1888 | + UPDATE bug SET latest_patch_uploaded = |
1889 | + (SELECT max(message.datecreated) |
1890 | + FROM message, bugattachment |
1891 | + WHERE bugattachment.message=message.id AND |
1892 | + bugattachment.bug=$1 AND |
1893 | + bugattachment.type=1) |
1894 | + WHERE bug.id=$1; |
1895 | + END; |
1896 | + $$; |
1897 | + |
1898 | + |
1899 | +CREATE OR REPLACE FUNCTION bug_update_latest_patch_uploaded_on_insert_update() RETURNS trigger |
1900 | + SECURITY DEFINER LANGUAGE plpgsql AS |
1901 | + $$ |
1902 | + BEGIN |
1903 | + PERFORM bug_update_latest_patch_uploaded(NEW.bug); |
1904 | + RETURN NULL; -- Ignored - this is an AFTER trigger |
1905 | + END; |
1906 | + $$; |
1907 | + |
1908 | + |
1909 | +CREATE OR REPLACE FUNCTION bug_update_latest_patch_uploaded_on_delete() RETURNS trigger |
1910 | + SECURITY DEFINER LANGUAGE plpgsql AS |
1911 | + $$ |
1912 | + BEGIN |
1913 | + PERFORM bug_update_latest_patch_uploaded(OLD.bug); |
1914 | + RETURN NULL; -- Ignored - this is an AFTER trigger |
1915 | + END; |
1916 | + $$; |
1917 | |
1918 | === modified file 'lib/canonical/config/schema-lazr.conf' |
1919 | --- lib/canonical/config/schema-lazr.conf 2010-02-23 11:53:24 +0000 |
1920 | +++ lib/canonical/config/schema-lazr.conf 2010-03-04 20:06:42 +0000 |
1921 | @@ -29,7 +29,6 @@ |
1922 | base_url: http://ftpmaster.internal/ |
1923 | copy_base_url: http://rebuild-test.internal/ |
1924 | |
1925 | - |
1926 | [calculate_bug_heat] |
1927 | # The database user which will be used by this process. |
1928 | # datatype: string |
1929 | @@ -38,6 +37,13 @@ |
1930 | error_dir: none |
1931 | copy_to_zlog: false |
1932 | |
1933 | +[process_apport_blobs] |
1934 | +# The database user which will be used by this process. |
1935 | +# datatype: string |
1936 | +dbuser: process-apport-blobs |
1937 | +oops_prefix: APPORTBLOB |
1938 | +error_dir: none |
1939 | +copy_to_zlog: false |
1940 | |
1941 | [branchscanner] |
1942 | # The database user which will be used by this process. |
1943 | |
1944 | === modified file 'lib/canonical/launchpad/browser/launchpad.py' |
1945 | --- lib/canonical/launchpad/browser/launchpad.py 2010-03-01 19:35:48 +0000 |
1946 | +++ lib/canonical/launchpad/browser/launchpad.py 2010-03-04 20:06:42 +0000 |
1947 | @@ -53,38 +53,56 @@ |
1948 | from canonical.lazr import ExportedFolder, ExportedImageFolder |
1949 | from canonical.launchpad.helpers import intOrZero |
1950 | from canonical.launchpad.layers import WebServiceLayer |
1951 | +from canonical.launchpad.interfaces.account import AccountStatus |
1952 | +from canonical.launchpad.interfaces.launchpad import ( |
1953 | + IAppFrontPageSearchForm, IBazaarApplication, ILaunchpadCelebrities, |
1954 | + IRosettaApplication, IStructuralHeaderPresentation, |
1955 | + IStructuralObjectPresentation) |
1956 | +from canonical.launchpad.interfaces.launchpadstatistic import ( |
1957 | + ILaunchpadStatisticSet) |
1958 | +from canonical.launchpad.interfaces.logintoken import ILoginTokenSet |
1959 | +from canonical.launchpad.interfaces.temporaryblobstorage import ( |
1960 | + ITemporaryStorageManager) |
1961 | +from canonical.launchpad.webapp import ( |
1962 | + LaunchpadFormView, LaunchpadView, Link, Navigation, |
1963 | + StandardLaunchpadFacets, canonical_name, canonical_url, custom_widget, |
1964 | + stepto) |
1965 | +from canonical.launchpad.webapp.breadcrumb import Breadcrumb |
1966 | +from canonical.launchpad.webapp.interfaces import ( |
1967 | + GoneError, IBreadcrumb, ILaunchBag, ILaunchpadRoot, INavigationMenu, |
1968 | + NotFoundError, POSTToNonCanonicalURL) |
1969 | +from canonical.launchpad.webapp.publisher import RedirectionView |
1970 | +from canonical.launchpad.webapp.authorization import check_permission |
1971 | +from canonical.launchpad.webapp.tales import PageTemplateContextsAPI |
1972 | +from canonical.launchpad.webapp.url import urlappend |
1973 | +from canonical.launchpad.webapp.vhosts import allvhosts |
1974 | +from canonical.widgets.project import ProjectScopeWidget |
1975 | + |
1976 | +from lazr.uri import URI |
1977 | |
1978 | from lp.app.interfaces.headings import IMajorHeadingView |
1979 | from lp.registry.interfaces.announcement import IAnnouncementSet |
1980 | from lp.soyuz.interfaces.binarypackagename import ( |
1981 | IBinaryPackageNameSet) |
1982 | +from lp.bugs.interfaces.bug import IBugSet |
1983 | +from lp.bugs.interfaces.malone import IMaloneApplication |
1984 | +from lp.buildmaster.interfaces.builder import IBuilderSet |
1985 | from lp.code.interfaces.branch import IBranchSet |
1986 | from lp.code.interfaces.branchlookup import IBranchLookup |
1987 | from lp.code.interfaces.branchnamespace import InvalidNamespace |
1988 | +from lp.code.interfaces.codeimport import ICodeImportSet |
1989 | from lp.code.interfaces.linkedbranch import ( |
1990 | CannotHaveLinkedBranch, NoLinkedBranch) |
1991 | -from lp.bugs.interfaces.bug import IBugSet |
1992 | -from lp.buildmaster.interfaces.builder import IBuilderSet |
1993 | -from lp.soyuz.interfaces.packageset import IPackagesetSet |
1994 | -from lp.code.interfaces.codeimport import ICodeImportSet |
1995 | +from lp.hardwaredb.interfaces.hwdb import IHWDBApplication |
1996 | from lp.registry.interfaces.codeofconduct import ICodeOfConductSet |
1997 | from lp.registry.interfaces.distribution import IDistributionSet |
1998 | from lp.registry.interfaces.karma import IKarmaActionSet |
1999 | -from canonical.launchpad.interfaces.account import AccountStatus |
2000 | -from lp.hardwaredb.interfaces.hwdb import IHWDBApplication |
2001 | -from lp.services.worlddata.interfaces.language import ILanguageSet |
2002 | -from canonical.launchpad.interfaces.launchpad import ( |
2003 | - IAppFrontPageSearchForm, IBazaarApplication, ILaunchpadCelebrities, |
2004 | - IRosettaApplication, IStructuralHeaderPresentation, |
2005 | - IStructuralObjectPresentation) |
2006 | -from canonical.launchpad.interfaces.launchpadstatistic import ( |
2007 | - ILaunchpadStatisticSet) |
2008 | -from canonical.launchpad.interfaces.logintoken import ILoginTokenSet |
2009 | -from lp.bugs.interfaces.malone import IMaloneApplication |
2010 | from lp.registry.interfaces.mentoringoffer import IMentoringOfferSet |
2011 | -from lp.services.openid.interfaces.openidrpconfig import IOpenIDRPConfigSet |
2012 | from lp.registry.interfaces.person import IPersonSet |
2013 | from lp.registry.interfaces.pillar import IPillarNameSet |
2014 | +from lp.services.openid.interfaces.openidrpconfig import IOpenIDRPConfigSet |
2015 | +from lp.services.worlddata.interfaces.language import ILanguageSet |
2016 | +from lp.soyuz.interfaces.packageset import IPackagesetSet |
2017 | from lp.registry.interfaces.product import ( |
2018 | InvalidProductName, IProductSet) |
2019 | from lp.registry.interfaces.projectgroup import IProjectGroupSet |
2020 | @@ -99,22 +117,6 @@ |
2021 | ITranslationImportQueue) |
2022 | from lp.testopenid.interfaces.server import ITestOpenIDApplication |
2023 | |
2024 | -from canonical.launchpad.webapp import ( |
2025 | - LaunchpadFormView, LaunchpadView, Link, Navigation, |
2026 | - StandardLaunchpadFacets, canonical_name, canonical_url, custom_widget, |
2027 | - stepto) |
2028 | -from canonical.launchpad.webapp.breadcrumb import Breadcrumb |
2029 | -from canonical.launchpad.webapp.interfaces import ( |
2030 | - GoneError, IBreadcrumb, ILaunchBag, ILaunchpadRoot, INavigationMenu, |
2031 | - NotFoundError, POSTToNonCanonicalURL) |
2032 | -from canonical.launchpad.webapp.publisher import RedirectionView |
2033 | -from canonical.launchpad.webapp.authorization import check_permission |
2034 | -from lazr.uri import URI |
2035 | -from canonical.launchpad.webapp.tales import PageTemplateContextsAPI |
2036 | -from canonical.launchpad.webapp.url import urlappend |
2037 | -from canonical.launchpad.webapp.vhosts import allvhosts |
2038 | -from canonical.widgets.project import ProjectScopeWidget |
2039 | - |
2040 | |
2041 | # XXX SteveAlexander 2005-09-22: this is imported here because there is no |
2042 | # general timedelta to duration format adapter available. This should |
2043 | @@ -577,6 +579,7 @@ |
2044 | 'testopenid': ITestOpenIDApplication, |
2045 | 'questions': IQuestionSet, |
2046 | '+rpconfig': IOpenIDRPConfigSet, |
2047 | + 'temporary-blobs': ITemporaryStorageManager, |
2048 | # These three have been renamed, and no redirects done, as the old |
2049 | # urls now point to the product pages. |
2050 | #'bazaar': IBazaarApplication, |
2051 | |
2052 | === modified file 'lib/canonical/launchpad/browser/temporaryblobstorage.py' |
2053 | --- lib/canonical/launchpad/browser/temporaryblobstorage.py 2009-09-18 13:24:29 +0000 |
2054 | +++ lib/canonical/launchpad/browser/temporaryblobstorage.py 2010-03-04 20:06:42 +0000 |
2055 | @@ -6,16 +6,23 @@ |
2056 | __metaclass__ = type |
2057 | __all__ = [ |
2058 | 'TemporaryBlobStorageAddView', |
2059 | + 'TemporaryBlobStorageNavigation', |
2060 | + 'TemporaryBlobStorageURL', |
2061 | ] |
2062 | |
2063 | from zope.component import getUtility |
2064 | +from zope.interface import implements |
2065 | |
2066 | from canonical.launchpad.webapp.launchpadform import action, LaunchpadFormView |
2067 | |
2068 | from canonical.launchpad.interfaces.temporaryblobstorage import ( |
2069 | BlobTooLarge, ITemporaryBlobStorage, ITemporaryStorageManager) |
2070 | +from canonical.launchpad.webapp import GetitemNavigation |
2071 | +from canonical.launchpad.webapp.interfaces import ICanonicalUrlData |
2072 | from canonical.librarian.interfaces import UploadFailed |
2073 | |
2074 | +from lp.bugs.interfaces.apportjob import IProcessApportBlobJobSource |
2075 | + |
2076 | |
2077 | class TemporaryBlobStorageAddView(LaunchpadFormView): |
2078 | # XXX: gary 2009-09-18 bug=31358 |
2079 | @@ -40,13 +47,50 @@ |
2080 | # being named like that. |
2081 | @action('Continue', name='FORM_SUBMIT') |
2082 | def continue_action(self, action, data): |
2083 | - try: |
2084 | - uuid = getUtility(ITemporaryStorageManager).new(data['blob']) |
2085 | + uuid = self.store_blob(data['blob']) |
2086 | + if uuid is not None: |
2087 | self.request.response.setHeader('X-Launchpad-Blob-Token', uuid) |
2088 | self.request.response.addInfoNotification( |
2089 | 'Your ticket is "%s"' % uuid) |
2090 | + |
2091 | + def store_blob(self, blob): |
2092 | + """Store a blob and return its UUID.""" |
2093 | + try: |
2094 | + uuid = getUtility(ITemporaryStorageManager).new(blob) |
2095 | except BlobTooLarge: |
2096 | self.addError('Uploaded file was too large.') |
2097 | - except UploadFailed: |
2098 | + return None |
2099 | + except UploadFailed, e: |
2100 | + import pdb; pdb.set_trace() |
2101 | self.addError('File storage unavailable - try again later.') |
2102 | - |
2103 | + return None |
2104 | + else: |
2105 | + # Create ProcessApportBlobJob for the BLOB. |
2106 | + blob = getUtility(ITemporaryStorageManager).fetch(uuid) |
2107 | + getUtility(IProcessApportBlobJobSource).create(blob) |
2108 | + return uuid |
2109 | + |
2110 | + |
2111 | +class TemporaryBlobStorageURL: |
2112 | + """Bug URL creation rules.""" |
2113 | + implements(ICanonicalUrlData) |
2114 | + |
2115 | + inside = None |
2116 | + rootsite = None |
2117 | + |
2118 | + def __init__(self, context): |
2119 | + self.context = context |
2120 | + |
2121 | + @property |
2122 | + def path(self): |
2123 | + """Return the path component of the URL.""" |
2124 | + return u'temporary-blobs/%s' % self.context.uuid |
2125 | + |
2126 | + |
2127 | +class TemporaryBlobStorageNavigation(GetitemNavigation): |
2128 | + """Navigation for temporary blobs.""" |
2129 | + |
2130 | + usedfor = ITemporaryStorageManager |
2131 | + |
2132 | + def traverse(self, name): |
2133 | + return getUtility(ITemporaryStorageManager).fetch(name) |
2134 | |
2135 | === modified file 'lib/canonical/launchpad/database/account.py' |
2136 | --- lib/canonical/launchpad/database/account.py 2010-02-25 10:40:35 +0000 |
2137 | +++ lib/canonical/launchpad/database/account.py 2010-03-04 20:06:42 +0000 |
2138 | @@ -47,6 +47,10 @@ |
2139 | openid_identifier = StringCol( |
2140 | dbName='openid_identifier', notNull=True, default=DEFAULT) |
2141 | |
2142 | + def __repr__(self): |
2143 | + return "<%s '%s' (%s)>" % ( |
2144 | + self.__class__.__name__, self.displayname, self.status) |
2145 | + |
2146 | def _getEmails(self, status): |
2147 | """Get related `EmailAddress` objects with the given status.""" |
2148 | result = IStore(EmailAddress).find( |
2149 | |
2150 | === modified file 'lib/canonical/launchpad/database/temporaryblobstorage.py' |
2151 | --- lib/canonical/launchpad/database/temporaryblobstorage.py 2010-02-09 00:17:40 +0000 |
2152 | +++ lib/canonical/launchpad/database/temporaryblobstorage.py 2010-03-04 20:06:42 +0000 |
2153 | @@ -11,21 +11,17 @@ |
2154 | ] |
2155 | |
2156 | |
2157 | -import random |
2158 | -import time |
2159 | -import thread |
2160 | - |
2161 | from cStringIO import StringIO |
2162 | from datetime import timedelta, datetime |
2163 | |
2164 | from pytz import utc |
2165 | -from sqlobject import StringCol, ForeignKey |
2166 | +from sqlobject import StringCol, ForeignKey, SQLObjectNotFound |
2167 | from zope.component import getUtility |
2168 | from zope.interface import implements |
2169 | |
2170 | from canonical import uuid |
2171 | from canonical.config import config |
2172 | -from canonical.database.sqlbase import SQLBase, sqlvalues |
2173 | +from canonical.database.sqlbase import SQLBase |
2174 | from canonical.database.constants import DEFAULT |
2175 | from canonical.database.datetimecol import UtcDateTimeCol |
2176 | from canonical.launchpad.interfaces import ( |
2177 | @@ -34,6 +30,10 @@ |
2178 | ILibraryFileAliasSet, |
2179 | BlobTooLarge, |
2180 | ) |
2181 | +from canonical.launchpad.interfaces.lpstorm import IStore |
2182 | +from canonical.launchpad.database.librarian import LibraryFileAlias |
2183 | + |
2184 | +from lp.services.job.interfaces.job import JobStatus |
2185 | |
2186 | |
2187 | class TemporaryBlobStorage(SQLBase): |
2188 | @@ -58,6 +58,18 @@ |
2189 | finally: |
2190 | self.file_alias.close() |
2191 | |
2192 | + def hasBeenProcessed(self): |
2193 | + """See `ITemporaryBlobStorage`.""" |
2194 | + # Imported here to avoid circular imports |
2195 | + from lp.bugs.interfaces.apportjob import IProcessApportBlobJobSource |
2196 | + try: |
2197 | + job_for_blob = getUtility( |
2198 | + IProcessApportBlobJobSource).getByBlobUUID(self.uuid) |
2199 | + except SQLObjectNotFound: |
2200 | + return False |
2201 | + |
2202 | + return (job_for_blob.job.status == JobStatus.COMPLETED) |
2203 | + |
2204 | |
2205 | class TemporaryStorageManager: |
2206 | """A tool to create temporary BLOB's in Launchpad.""" |
2207 | @@ -115,3 +127,12 @@ |
2208 | if blob is not None: |
2209 | TemporaryBlobStorage.delete(blob.id) |
2210 | |
2211 | + def default_temporary_blob_storage_list(self): |
2212 | + """See `ITemporaryStorageManager`.""" |
2213 | + # Return the 50 most recent blobs. |
2214 | + store = IStore(TemporaryBlobStorage) |
2215 | + return store.find( |
2216 | + TemporaryBlobStorage, |
2217 | + TemporaryBlobStorage.file_alias == LibraryFileAlias.id, |
2218 | + LibraryFileAlias.expires > datetime.utcnow().replace(tzinfo=utc) |
2219 | + ).order_by(TemporaryBlobStorage.date_created) |
2220 | |
2221 | === modified file 'lib/canonical/launchpad/doc/account.txt' |
2222 | --- lib/canonical/launchpad/doc/account.txt 2009-12-24 12:05:52 +0000 |
2223 | +++ lib/canonical/launchpad/doc/account.txt 2010-03-04 20:06:42 +0000 |
2224 | @@ -1,24 +1,28 @@ |
2225 | -= Account and AccountSet = |
2226 | +====================== |
2227 | +Account and AccountSet |
2228 | +====================== |
2229 | |
2230 | An Account is used by someone to Authenticate with the Launchpad login |
2231 | service. |
2232 | |
2233 | |
2234 | -= AccountSet = |
2235 | +AccountSet |
2236 | +========== |
2237 | |
2238 | The AccountSet object provides methods to retrieve `IAccount`s. It |
2239 | -implements the IAccountSet. |
2240 | +implements the IAccountSet interface. |
2241 | |
2242 | >>> from zope.interface.verify import verifyObject |
2243 | - >>> from canonical.launchpad.interfaces import ( |
2244 | - ... IAccount, IAccountSet, IPerson) |
2245 | + >>> from lp.registry.interfaces.person import IPerson |
2246 | + >>> from canonical.launchpad.interfaces import IAccount, IAccountSet |
2247 | |
2248 | >>> account_set = getUtility(IAccountSet) |
2249 | >>> verifyObject(IAccountSet, account_set) |
2250 | True |
2251 | |
2252 | |
2253 | -== Looking up accounts by email address == |
2254 | +Looking up accounts by email address |
2255 | +------------------------------------ |
2256 | |
2257 | Accounts are generally looked up by email address. |
2258 | |
2259 | @@ -49,7 +53,8 @@ |
2260 | >>> del stub_account |
2261 | |
2262 | |
2263 | -== Looking up accounts by their database ID == |
2264 | +Looking up accounts by their database ID |
2265 | +---------------------------------------- |
2266 | |
2267 | If we know the ID of an account we can use the get() method. |
2268 | |
2269 | @@ -64,7 +69,8 @@ |
2270 | LookupError:... |
2271 | |
2272 | |
2273 | -== Looking up accounts by OpenID identifier == |
2274 | +Looking up accounts by OpenID identifier |
2275 | +---------------------------------------- |
2276 | |
2277 | Each Launchpad user is assigned an permanent OpenID identity URL. The |
2278 | last component of this URL is specific to the user, and can be used to |
2279 | @@ -84,12 +90,13 @@ |
2280 | LookupError: no-such-identifier |
2281 | |
2282 | |
2283 | -= The Account object = |
2284 | +The Account object |
2285 | +================== |
2286 | |
2287 | The account implements the IAccount interface but not all attributes are |
2288 | accessible for the owner. |
2289 | |
2290 | - >>> login('foo.bar@canonical.com') |
2291 | + >>> login('admin@canonical.com') |
2292 | >>> verifyObject(IAccount, account) |
2293 | True |
2294 | >>> login('no-priv@canonical.com') |
2295 | @@ -101,9 +108,14 @@ |
2296 | >>> print account.preferredemail.email |
2297 | no-priv@canonical.com |
2298 | |
2299 | +Account objects have a useful string representation. |
2300 | + |
2301 | + >>> account |
2302 | + <Account 'No Privileges Person' (Active account)> |
2303 | + |
2304 | The account can have additional validated and guessed email |
2305 | addresses. This will be empty if the user has only a single validated |
2306 | -email address: |
2307 | +email address. |
2308 | |
2309 | >>> [email.email for email in account.validated_emails] |
2310 | [] |
2311 | @@ -111,7 +123,7 @@ |
2312 | [] |
2313 | |
2314 | If we add a new guessed email address, it will be included in the |
2315 | -guessed list: |
2316 | +guessed list. |
2317 | |
2318 | >>> from canonical.launchpad.interfaces import ( |
2319 | ... EmailAddressStatus, IEmailAddressSet) |
2320 | @@ -122,7 +134,7 @@ |
2321 | [u'guessed-email@example.com'] |
2322 | |
2323 | If we add a validated email address, it will show up in the validated |
2324 | -list: |
2325 | +list. |
2326 | |
2327 | >>> email = getUtility(IEmailAddressSet).new( |
2328 | ... "validated-email@example.com", account=account, |
2329 | @@ -132,8 +144,8 @@ |
2330 | |
2331 | It also has an encrypted password. |
2332 | |
2333 | - >>> account.password |
2334 | - u'K7Qmeansl6RbuPfulfcmyDQOzp70OxVh5Fcf' |
2335 | + >>> print account.password |
2336 | + K7Qmeansl6RbuPfulfcmyDQOzp70OxVh5Fcf |
2337 | |
2338 | Ensure the password changes are sticky, as this is a property hiding the |
2339 | AccountPassword table. |
2340 | @@ -143,10 +155,10 @@ |
2341 | None |
2342 | |
2343 | >>> account.password = u'K7Qmeansl6RbuPfulfcmyDQOzp70OxVh5Fcf' |
2344 | - >>> account.password |
2345 | - u'K7Qmeansl6RbuPfulfcmyDQOzp70OxVh5Fcf' |
2346 | + >>> print account.password |
2347 | + K7Qmeansl6RbuPfulfcmyDQOzp70OxVh5Fcf |
2348 | |
2349 | -And other account metadata. |
2350 | +The account has other metadata. |
2351 | |
2352 | >>> account.date_created |
2353 | datetime.datetime(...) |
2354 | @@ -163,8 +175,8 @@ |
2355 | >>> print account.status_comment |
2356 | None |
2357 | |
2358 | - >>> account.displayname |
2359 | - u'No Privileges Person' |
2360 | + >>> print account.displayname |
2361 | + No Privileges Person |
2362 | |
2363 | When the status is changed, the date_status_set is updated in the |
2364 | database. Only an admin can change the status. |
2365 | @@ -172,7 +184,7 @@ |
2366 | >>> from canonical.launchpad.interfaces.account import AccountStatus |
2367 | |
2368 | >>> original_date_status_set = account.date_status_set |
2369 | - >>> login('foo.bar@canonical.com') |
2370 | + >>> login('admin@canonical.com') |
2371 | >>> account.status = AccountStatus.SUSPENDED |
2372 | |
2373 | # Shouldn't be necessary with Storm! |
2374 | @@ -193,8 +205,8 @@ |
2375 | >>> personset = getUtility(IPersonSet) |
2376 | >>> person = personset.getByEmail('no-priv@canonical.com') |
2377 | >>> person.displayname = 'Something New' |
2378 | - >>> account.displayname |
2379 | - u'Something New' |
2380 | + >>> print account.displayname |
2381 | + Something New |
2382 | |
2383 | However, the reverse is not true. If we change the Account.displayname, |
2384 | the linked Person.displayname (if there is one) is not updated |
2385 | @@ -203,21 +215,22 @@ |
2386 | unavailable. |
2387 | |
2388 | >>> account.displayname = 'No Privileges Account' |
2389 | - >>> person.displayname |
2390 | - u'Something New' |
2391 | + >>> print person.displayname |
2392 | + Something New |
2393 | |
2394 | >>> person.displayname = 'No Privileges Person' |
2395 | - >>> account.displayname |
2396 | - u'No Privileges Person' |
2397 | + >>> print account.displayname |
2398 | + No Privileges Person |
2399 | |
2400 | An Account has an OpenID identifier used to generate the OpenID identity |
2401 | URL. |
2402 | |
2403 | - >>> account.openid_identifier |
2404 | - u'no-priv_oid' |
2405 | - |
2406 | - |
2407 | -= Creating new accounts = |
2408 | + >>> print account.openid_identifier |
2409 | + no-priv_oid |
2410 | + |
2411 | + |
2412 | +Creating new accounts |
2413 | +===================== |
2414 | |
2415 | New Accounts are created using the AccountSet.new() method. The account |
2416 | rationale and displayname are required. |
2417 | @@ -226,15 +239,13 @@ |
2418 | >>> from canonical.launchpad.interfaces.account import ( |
2419 | ... AccountCreationRationale) |
2420 | |
2421 | - # Login as a user that may see the accounts of other users. |
2422 | - >>> login('foo.bar@canonical.com') |
2423 | + >>> login('admin@canonical.com') |
2424 | >>> passwordless_account = account_set.new( |
2425 | ... AccountCreationRationale.USER_CREATED, 'Passwordless') |
2426 | - >>> syncUpdate(passwordless_account) |
2427 | - >>> passwordless_account.creation_rationale.name |
2428 | - 'USER_CREATED' |
2429 | - >>> passwordless_account.displayname |
2430 | - u'Passwordless' |
2431 | + >>> print passwordless_account.creation_rationale.name |
2432 | + USER_CREATED |
2433 | + >>> print passwordless_account.displayname |
2434 | + Passwordless |
2435 | >>> print passwordless_account.password |
2436 | None |
2437 | >>> print passwordless_account.preferredemail |
2438 | @@ -258,15 +269,16 @@ |
2439 | ... AccountCreationRationale.OWNER_CREATED_LAUNCHPAD , 'Clear', |
2440 | ... password=u'clear_password', password_is_encrypted=True) |
2441 | >>> syncUpdate(clear_account) |
2442 | - >>> clear_account.password |
2443 | - u'clear_password' |
2444 | - |
2445 | - |
2446 | -== Valid Accounts == |
2447 | + >>> print clear_account.password |
2448 | + clear_password |
2449 | + |
2450 | + |
2451 | +Valid Accounts |
2452 | +-------------- |
2453 | |
2454 | Like person objects, an account is considered valid if it is in the |
2455 | active state and has a preferred email address. So a newly created |
2456 | -account with no email address is not valid: |
2457 | +account with no email address is not valid. |
2458 | |
2459 | >>> account = account_set.new( |
2460 | ... AccountCreationRationale.USER_CREATED, |
2461 | @@ -276,7 +288,7 @@ |
2462 | >>> account.is_valid |
2463 | False |
2464 | |
2465 | -Lets add a new email address to the account: |
2466 | +Let's add a new email address to the account. |
2467 | |
2468 | >>> email = getUtility(IEmailAddressSet).new( |
2469 | ... "valid-account-test@example.com", account=account) |
2470 | @@ -284,7 +296,7 @@ |
2471 | False |
2472 | |
2473 | The account is still not valid because it has no preferred email. |
2474 | -Setting the email to preferred fixes this: |
2475 | +Setting the email to preferred fixes this. |
2476 | |
2477 | >>> from canonical.launchpad.interfaces import EmailAddressStatus |
2478 | >>> email.status = EmailAddressStatus.PREFERRED |
2479 | @@ -298,20 +310,19 @@ |
2480 | False |
2481 | |
2482 | |
2483 | -== Creating an IPerson for an Account == |
2484 | - |
2485 | -From a newly created account which has no person associated with, it is |
2486 | -possible to create a new person that will be associated with it. |
2487 | - |
2488 | -We need to change database policy here again, as the SSO Server cannot |
2489 | -modify tables in the lpmain replication set. |
2490 | - |
2491 | +Creating an IPerson for an Account |
2492 | +---------------------------------- |
2493 | + |
2494 | +Newly created accounts without an associated Person can be 'promoted' to full |
2495 | +Launchpad accounts with an attached Person. |
2496 | + |
2497 | + # We need to change database policy here again, as the SSO Server cannot |
2498 | + # modify tables in the lpmain replication set. |
2499 | >>> from canonical.launchpad.webapp.interfaces import IStoreSelector |
2500 | >>> from canonical.launchpad.webapp.dbpolicy import MasterDatabasePolicy |
2501 | >>> getUtility(IStoreSelector).push(MasterDatabasePolicy()) |
2502 | |
2503 | - >>> from lp.registry.interfaces.person import ( |
2504 | - ... PersonCreationRationale) |
2505 | + >>> from lp.registry.interfaces.person import PersonCreationRationale |
2506 | >>> fresh_account, email = account_set.createAccountAndEmail( |
2507 | ... 'foo@example.com', |
2508 | ... AccountCreationRationale.OWNER_CREATED_UBUNTU_SHOP, |
2509 | @@ -323,7 +334,6 @@ |
2510 | |
2511 | >>> person = fresh_account.createPerson( |
2512 | ... PersonCreationRationale.OWNER_CREATED_LAUNCHPAD) |
2513 | - >>> import transaction |
2514 | >>> transaction.commit() |
2515 | >>> person.account == fresh_account |
2516 | True |
2517 | @@ -355,10 +365,11 @@ |
2518 | >>> db_policy = getUtility(IStoreSelector).pop() |
2519 | |
2520 | |
2521 | -== OpenID identifiers == |
2522 | +OpenID identifiers |
2523 | +------------------ |
2524 | |
2525 | -The account is given an openid identifier. The identifier is created |
2526 | -directly in the database; it not available until the account object is synced. |
2527 | +The account is given an openid identifier. The identifier is created directly |
2528 | +in the database; it not available until the account object is synced. |
2529 | |
2530 | >>> new_account = account_set.new( |
2531 | ... AccountCreationRationale.OWNER_CREATED_LAUNCHPAD, 'OID Account', |
2532 | |
2533 | === modified file 'lib/canonical/launchpad/doc/oauth.txt' |
2534 | --- lib/canonical/launchpad/doc/oauth.txt 2010-02-24 23:02:56 +0000 |
2535 | +++ lib/canonical/launchpad/doc/oauth.txt 2010-03-04 20:06:42 +0000 |
2536 | @@ -1,8 +1,11 @@ |
2537 | -= OAuth (http://oauth.net/core/1.0/) = |
2538 | +===== |
2539 | +OAuth |
2540 | +===== |
2541 | |
2542 | This is a mechanism for allowing a third party application to access |
2543 | Launchpad on a user's behalf. These applications are identified by a |
2544 | -unique key and are stored as OAuthConsumers. |
2545 | +unique key and are stored as OAuthConsumers. The OAuth specification is |
2546 | +defined in <http://oauth.net/core/1.0/>. |
2547 | |
2548 | These applications (also called consumers) are managed by the |
2549 | OAuthConsumerSet utility. |
2550 | @@ -36,16 +39,19 @@ |
2551 | AssertionError: ... |
2552 | |
2553 | |
2554 | -== Request tokens == |
2555 | +Request tokens |
2556 | +============== |
2557 | |
2558 | When a consumer wants to access protected resources on Launchpad, it |
2559 | must first ask for an OAuthRequestToken, which is then used when the |
2560 | consumer sends the user to the Launchpad authorization page. |
2561 | |
2562 | |
2563 | -=== Creating request tokens === |
2564 | +Creating request tokens |
2565 | +----------------------- |
2566 | |
2567 | The request tokens are created using IOAuthConsumer.newRequestToken(). |
2568 | + |
2569 | # XXX EdwinGrubbs 2008-10-03 bug=277756 |
2570 | # Tests could be simplified with helper methods for creating tokens |
2571 | # in different states. |
2572 | @@ -65,9 +71,8 @@ |
2573 | >>> print request_token.context |
2574 | None |
2575 | |
2576 | -Initially, a token does not have a person or permission associated with |
2577 | -it as the consumer doesn't know what the user's identity is on |
2578 | -Launchpad. |
2579 | +Initially, a token does not have a person or permission associated with it as |
2580 | +the consumer doesn't know the user's identity on Launchpad. |
2581 | |
2582 | >>> print request_token.person |
2583 | None |
2584 | @@ -96,37 +101,42 @@ |
2585 | >>> request_token.is_reviewed |
2586 | True |
2587 | |
2588 | -When reviewing a token we can also change the context associated with |
2589 | +When reviewing a token, we can also change the context associated with |
2590 | it, which means the consumer using that token will only have access |
2591 | to things linked to that context (Product, Project, Distribution, |
2592 | DistroSourcePackage). |
2593 | |
2594 | - >>> from canonical.launchpad.interfaces import ( |
2595 | - ... IDistributionSet, IProductSet, IProjectGroupSet) |
2596 | + >>> from lp.registry.interfaces.distribution import IDistributionSet |
2597 | + >>> from lp.registry.interfaces.product import IProductSet |
2598 | + >>> from lp.registry.interfaces.projectgroup import IProjectGroupSet |
2599 | + |
2600 | >>> firefox = getUtility(IProductSet)['firefox'] |
2601 | >>> request_token2 = consumer.newRequestToken() |
2602 | >>> request_token2.review( |
2603 | ... salgado, OAuthPermission.WRITE_PRIVATE, context=firefox) |
2604 | - >>> request_token2.context.title |
2605 | - u'Mozilla Firefox' |
2606 | + >>> print request_token2.context.title |
2607 | + Mozilla Firefox |
2608 | |
2609 | >>> mozilla = getUtility(IProjectGroupSet)['mozilla'] |
2610 | >>> request_token2 = consumer.newRequestToken() |
2611 | >>> request_token2.review( |
2612 | ... salgado, OAuthPermission.WRITE_PRIVATE, context=mozilla) |
2613 | - >>> request_token2.context.title |
2614 | - u'The Mozilla Project' |
2615 | + >>> print request_token2.context.title |
2616 | + The Mozilla Project |
2617 | |
2618 | >>> ubuntu = getUtility(IDistributionSet)['ubuntu'] |
2619 | >>> evolution = ubuntu.getSourcePackage('evolution') |
2620 | >>> request_token2 = consumer.newRequestToken() |
2621 | >>> request_token2.review( |
2622 | ... salgado, OAuthPermission.WRITE_PRIVATE, context=evolution) |
2623 | - >>> request_token2.context.title |
2624 | - u'\u201cevolution\u201d package in Ubuntu' |
2625 | - |
2626 | - |
2627 | -=== Retrieving request tokens === |
2628 | + |
2629 | + >>> from canonical.encoding import ascii_smash |
2630 | + >>> print ascii_smash(request_token2.context.title) |
2631 | + evolution package in Ubuntu |
2632 | + |
2633 | + |
2634 | +Retrieving request tokens |
2635 | +------------------------- |
2636 | |
2637 | Any consumer can retrieve its request tokens as long as it knows their |
2638 | keys. |
2639 | @@ -160,7 +170,8 @@ |
2640 | None |
2641 | |
2642 | |
2643 | -=== Exchanging request tokens for access tokens === |
2644 | +Exchanging request tokens for access tokens |
2645 | +------------------------------------------- |
2646 | |
2647 | Once a request token has been reviewed it may be exchanged for an access |
2648 | token. That may happen only if the user actually granted some sort of |
2649 | @@ -197,8 +208,8 @@ |
2650 | >>> request_token2.review( |
2651 | ... salgado, OAuthPermission.WRITE_PRIVATE, context=firefox) |
2652 | >>> access_token2 = request_token2.createAccessToken() |
2653 | - >>> access_token2.context.title |
2654 | - u'Mozilla Firefox' |
2655 | + >>> print access_token2.context.title |
2656 | + Mozilla Firefox |
2657 | |
2658 | If the request token hasn't been reviewed yet, it can't be used to |
2659 | create an access token. |
2660 | @@ -223,7 +234,8 @@ |
2661 | AssertionError: ... |
2662 | |
2663 | |
2664 | -== Access tokens == |
2665 | +Access tokens |
2666 | +============= |
2667 | |
2668 | As shown above, access tokens can be created from any reviewed (and |
2669 | authorized) request tokens. These tokens are then stored by the consumer |
2670 | @@ -276,7 +288,8 @@ |
2671 | ... datetime.now(pytz.timezone('UTC')) - timedelta(hours=1)) |
2672 | |
2673 | |
2674 | -== Nonces and timestamps == |
2675 | +Nonces and timestamps |
2676 | +===================== |
2677 | |
2678 | A nonce is a random string, generated by the client for each request. |
2679 | |
2680 | @@ -322,7 +335,7 @@ |
2681 | ... |
2682 | NonceAlreadyUsed: ... |
2683 | |
2684 | -According to the oauth specification (http://oauth.net/core/1.0/#nonce), for a |
2685 | +According to the oauth specification <http://oauth.net/core/1.0/#nonce>, for a |
2686 | given client, an application should not accept a timestamp older than the most |
2687 | recent timestamp received. |
2688 | |
2689 | @@ -337,7 +350,7 @@ |
2690 | |
2691 | Launchpad relaxes the constraint on the timestamp. Rather than accepting any |
2692 | request within the same second, Launchpad accepts any request within the past |
2693 | -60 seconds (or, as defined by the code, withing the past number of seconds |
2694 | +60 seconds (or, as defined by the code, within the past number of seconds |
2695 | specified by canonical.launchpad.database.oauth.TIMESTAMP_ACCEPTANCE_WINDOW). |
2696 | |
2697 | For instance, in Launchpad, if a client sends a timestamp of |
2698 | @@ -376,13 +389,13 @@ |
2699 | http://groups.google.com/group/oauth/msg/387fdafcf0be322a and LP bug 319710 |
2700 | for more background). |
2701 | |
2702 | -The code also raises a ClockSkew error if the timestamp is more |
2703 | -than TIMESTAMP_SKEW_WINDOW seconds away from the server's clock (ahead or |
2704 | +The code also raises a ClockSkew error if the timestamp is more than |
2705 | +TIMESTAMP_SKEW_WINDOW seconds away from the server's clock (ahead or |
2706 | behind). This number of seconds is currently equal to one hour (60*60). The |
2707 | -primary reason for behavior is so that a clock skew too far in the future does |
2708 | -not essentially make the authentication tokens useless once the client's clock |
2709 | -is corrected. In addition, it gives us a constraint within which we can reason |
2710 | -about clock-related errors reported by customers. |
2711 | +primary reason for this behavior is so that a clock skew too far in the future |
2712 | +does not essentially make the authentication tokens useless once the client's |
2713 | +clock is corrected. In addition, it gives us a constraint within which we can |
2714 | +reason about clock-related errors reported by customers. |
2715 | |
2716 | Here's a quick demonstration of the behavior. |
2717 | |
2718 | |
2719 | === modified file 'lib/canonical/launchpad/doc/renamed-view.txt' |
2720 | --- lib/canonical/launchpad/doc/renamed-view.txt 2009-06-11 01:28:55 +0000 |
2721 | +++ lib/canonical/launchpad/doc/renamed-view.txt 2010-03-04 20:06:42 +0000 |
2722 | @@ -89,7 +89,7 @@ |
2723 | >>> view.publishTraverse(request, u'foo') |
2724 | Traceback (most recent call last): |
2725 | ... |
2726 | - NotFound: Object: u'foo', name: <Distribution at...> |
2727 | + NotFound: Object: u'foo', name: <Distribution 'Ubuntu' (ubuntu)> |
2728 | |
2729 | |
2730 | == Registering from ZCML == |
2731 | |
2732 | === modified file 'lib/canonical/launchpad/doc/temporaryblobstorage.txt' |
2733 | --- lib/canonical/launchpad/doc/temporaryblobstorage.txt 2008-09-24 18:53:11 +0000 |
2734 | +++ lib/canonical/launchpad/doc/temporaryblobstorage.txt 2010-03-04 20:06:42 +0000 |
2735 | @@ -56,3 +56,48 @@ |
2736 | BlobTooLarge: 7 |
2737 | >>> config_data = config.pop('max_blob_size') |
2738 | |
2739 | + |
2740 | +Checking blob processing status |
2741 | +------------------------------- |
2742 | + |
2743 | +A blob has an hasBeenProcessed() method which returns True if the |
2744 | +ProcessApportBlobJob for the blob has been completed. |
2745 | + |
2746 | +The hasBeenProcessed() of a newly created blob, with no |
2747 | +associated ProcessApportBlobJob, will return False. |
2748 | + |
2749 | + >>> blob_token = getUtility(ITemporaryStorageManager).new("Blob data") |
2750 | + >>> blob = getUtility(ITemporaryStorageManager).fetch(blob_token) |
2751 | + >>> print blob.hasBeenProcessed() |
2752 | + False |
2753 | + |
2754 | +We'll create a ProcessApportBlobJob for the blob. |
2755 | + |
2756 | + >>> from lp.bugs.interfaces.apportjob import ( |
2757 | + ... IProcessApportBlobJobSource) |
2758 | + >>> processing_job = getUtility(IProcessApportBlobJobSource).create( |
2759 | + ... blob) |
2760 | + |
2761 | + >>> blob = getUtility(ITemporaryStorageManager).fetch(blob_token) |
2762 | + >>> processing_job.blob == blob |
2763 | + True |
2764 | + |
2765 | +Before the job is run, the blob's hasBeenProcessed() method will return |
2766 | +False. |
2767 | + |
2768 | + >>> print blob.hasBeenProcessed() |
2769 | + False |
2770 | + |
2771 | +Whilst the job is running, the blob's hasBeenProcessed() method will |
2772 | +return False. |
2773 | + |
2774 | + >>> processing_job.job.start() |
2775 | + >>> print blob.hasBeenProcessed() |
2776 | + False |
2777 | + |
2778 | +Once the job is complete, the blob's hasBeenProcessed() method will |
2779 | +return True. |
2780 | + |
2781 | + >>> processing_job.job.complete() |
2782 | + >>> print blob.hasBeenProcessed() |
2783 | + True |
2784 | |
2785 | === modified file 'lib/canonical/launchpad/icing/style.css' |
2786 | --- lib/canonical/launchpad/icing/style.css 2010-02-26 07:12:09 +0000 |
2787 | +++ lib/canonical/launchpad/icing/style.css 2010-03-04 20:06:42 +0000 |
2788 | @@ -1241,6 +1241,10 @@ |
2789 | margin: 0; |
2790 | } |
2791 | |
2792 | +.patches-view-cell { |
2793 | + padding-right: 1em; |
2794 | +} |
2795 | + |
2796 | /* --- Blueprints --- */ |
2797 | |
2798 | body.tab-specifications #actions, body.tab-specifications .results { |
2799 | @@ -1467,7 +1471,7 @@ |
2800 | |
2801 | div.popupTitle { |
2802 | background: #ffffdc; |
2803 | - padding: 0 1em; |
2804 | + padding: 0.5em 1em; |
2805 | border: 1px black solid; |
2806 | position: absolute; |
2807 | display: none; |
2808 | |
2809 | === modified file 'lib/canonical/launchpad/interfaces/_schema_circular_imports.py' |
2810 | --- lib/canonical/launchpad/interfaces/_schema_circular_imports.py 2010-02-27 10:19:18 +0000 |
2811 | +++ lib/canonical/launchpad/interfaces/_schema_circular_imports.py 2010-03-04 20:06:42 +0000 |
2812 | @@ -46,6 +46,8 @@ |
2813 | from lp.code.interfaces.diff import IPreviewDiff |
2814 | from lp.code.interfaces.hasbranches import ( |
2815 | IHasBranches, IHasMergeProposals, IHasRequestedReviews) |
2816 | +from lp.code.interfaces.sourcepackagerecipebuild import ( |
2817 | + ISourcePackageRecipeBuild) |
2818 | from lp.registry.interfaces.distribution import IDistribution |
2819 | from lp.registry.interfaces.distributionmirror import IDistributionMirror |
2820 | from lp.registry.interfaces.distributionsourcepackage import ( |
2821 | @@ -65,12 +67,12 @@ |
2822 | IArchiveDependency) |
2823 | from lp.soyuz.interfaces.distroarchseries import IDistroArchSeries |
2824 | from lp.soyuz.interfaces.publishing import ( |
2825 | - IBinaryPackagePublishingHistory, ISecureBinaryPackagePublishingHistory, |
2826 | - ISecureSourcePackagePublishingHistory, ISourcePackagePublishingHistory, |
2827 | + IBinaryPackagePublishingHistory, ISourcePackagePublishingHistory, |
2828 | ISourcePackagePublishingHistoryPublic, PackagePublishingStatus) |
2829 | from lp.soyuz.interfaces.packageset import IPackageset |
2830 | from lp.soyuz.interfaces.queue import ( |
2831 | IPackageUpload, PackageUploadCustomFormat, PackageUploadStatus) |
2832 | +from lp.soyuz.interfaces.sourcepackagerelease import ISourcePackageRelease |
2833 | from lp.registry.interfaces.sourcepackage import ISourcePackage |
2834 | from canonical.launchpad.interfaces.message import ( |
2835 | IIndexedMessage, IMessage, IUserToUserEmail) |
2836 | @@ -188,12 +190,12 @@ |
2837 | LAZR_WEBSERVICE_EXPORTED)[ |
2838 | 'return_type'].value_type.schema = IBinaryPackagePublishingHistory |
2839 | patch_reference_property( |
2840 | - ISecureBinaryPackagePublishingHistory, 'distroarchseries', |
2841 | + IBinaryPackagePublishingHistory, 'distroarchseries', |
2842 | IDistroArchSeries) |
2843 | patch_reference_property( |
2844 | - ISecureBinaryPackagePublishingHistory, 'archive', IArchive) |
2845 | + IBinaryPackagePublishingHistory, 'archive', IArchive) |
2846 | patch_reference_property( |
2847 | - ISecureSourcePackagePublishingHistory, 'archive', IArchive) |
2848 | + ISourcePackagePublishingHistory, 'archive', IArchive) |
2849 | |
2850 | # IArchive apocalypse. |
2851 | patch_reference_property(IArchive, 'distribution', IDistribution) |
2852 | @@ -322,6 +324,9 @@ |
2853 | |
2854 | IBuildBase['buildstate'].vocabulary = BuildStatus |
2855 | |
2856 | +patch_reference_property( |
2857 | + ISourcePackageRelease, 'source_package_recipe_build', ISourcePackageRecipeBuild) |
2858 | + |
2859 | # IHasBugs |
2860 | patch_plain_parameter_type( |
2861 | IHasBugs, 'searchTasks', 'assignee', IPerson) |
2862 | |
2863 | === modified file 'lib/canonical/launchpad/interfaces/temporaryblobstorage.py' |
2864 | --- lib/canonical/launchpad/interfaces/temporaryblobstorage.py 2009-06-25 05:30:52 +0000 |
2865 | +++ lib/canonical/launchpad/interfaces/temporaryblobstorage.py 2010-03-04 20:06:42 +0000 |
2866 | @@ -17,6 +17,14 @@ |
2867 | from zope.schema import Datetime, Text, Bytes |
2868 | from canonical.launchpad import _ |
2869 | |
2870 | +from lazr.restful.declarations import ( |
2871 | + collection_default_content, exported, |
2872 | + export_as_webservice_collection, export_as_webservice_entry, |
2873 | + export_read_operation, operation_parameters, rename_parameters_as, |
2874 | + REQUEST_USER) |
2875 | +from lazr.restful.interface import copy_field |
2876 | + |
2877 | + |
2878 | class BlobTooLarge(Exception): |
2879 | """Raised if attempting to create a blob larger than the maximum |
2880 | allowed size. |
2881 | @@ -26,16 +34,25 @@ |
2882 | |
2883 | class ITemporaryBlobStorage(Interface): |
2884 | """A blob which we will store in the database temporarily.""" |
2885 | + export_as_webservice_entry( |
2886 | + singular_name='temporary_blob', plural_name='temporary_blobs') |
2887 | |
2888 | - uuid = Text(title=_('UUID'), required=True, readonly=True) |
2889 | + uuid = exported( |
2890 | + Text(title=_('UUID'), required=True, readonly=True), |
2891 | + exported_as='token') |
2892 | blob = Bytes(title=_('BLOB'), required=True, readonly=True) |
2893 | date_created = Datetime(title=_('Date created'), |
2894 | required=True, readonly=True) |
2895 | file_alias = Attribute("Link to actual storage of blob") |
2896 | |
2897 | + @export_read_operation() |
2898 | + def hasBeenProcessed(): |
2899 | + """Return True if this blob has been processed.""" |
2900 | + |
2901 | |
2902 | class ITemporaryStorageManager(Interface): |
2903 | """A tool to create temporary blobs.""" |
2904 | + export_as_webservice_collection(ITemporaryBlobStorage) |
2905 | |
2906 | def new(blob, expires=None): |
2907 | """Create a new blob for storage in the database, returning the |
2908 | @@ -47,9 +64,19 @@ |
2909 | config.launchpad.default_blob_expiry |
2910 | """ |
2911 | |
2912 | + @rename_parameters_as(uuid='token') |
2913 | + @operation_parameters(uuid=copy_field(ITemporaryBlobStorage['uuid'])) |
2914 | + @export_read_operation() |
2915 | def fetch(uuid): |
2916 | """Retrieve a TemporaryBlobStorage by uuid.""" |
2917 | |
2918 | def delete(uuid): |
2919 | """Delete a TemporaryBlobStorage by uuid.""" |
2920 | |
2921 | + @collection_default_content() |
2922 | + def default_temporary_blob_storage_list(): |
2923 | + """Return the default list of `ITemporaryBlobStorage` objects. |
2924 | + |
2925 | + :returns: All the the `ITemporaryBlobStorage` blobs whose file |
2926 | + aliases have not expired. |
2927 | + """ |
2928 | |
2929 | === modified file 'lib/canonical/launchpad/javascript/code/codereview.js' |
2930 | --- lib/canonical/launchpad/javascript/code/codereview.js 2010-01-29 16:00:43 +0000 |
2931 | +++ lib/canonical/launchpad/javascript/code/codereview.js 2010-03-04 20:06:42 +0000 |
2932 | @@ -39,22 +39,9 @@ |
2933 | */ |
2934 | link.on('click', show_request_review_form); |
2935 | } |
2936 | - link = Y.one('.menu-link-set_commit_message'); |
2937 | - if (Y.Lang.isValue(link)) { |
2938 | - link.addClass('js-action'); |
2939 | - link.on('click', edit_commit_message); |
2940 | - } |
2941 | - if (Y.Lang.isValue(Y.lp.widgets)) { |
2942 | - var widget = Y.lp.widgets['edit-commit-message']; |
2943 | - if (Y.Lang.isValue(widget)) { |
2944 | - widget.editor.on('save', function() { |
2945 | - commit_message_listener(this.get('value'), true); |
2946 | - }); |
2947 | - widget.editor.on('cancel', function() { |
2948 | - commit_message_listener(this.get('value'), false); |
2949 | - }); |
2950 | - } |
2951 | - } |
2952 | + |
2953 | + link_multiline_editor('commit_message'); |
2954 | + link_multiline_editor('description'); |
2955 | link_scroller('#proposal-summary a.diff-link', '#review-diff'); |
2956 | link_scroller('.menu-link-add_comment', '#add-comment', function() { |
2957 | Y.one('#add-comment-form textarea').focus(); |
2958 | @@ -82,24 +69,54 @@ |
2959 | }); |
2960 | } |
2961 | |
2962 | -/* |
2963 | - * Hide the commit message editor if the value is empty. |
2964 | + |
2965 | +/* |
2966 | + * Make the edit link a javascript link (green). |
2967 | + * Link the listener to the save and cancel events of the multiline editor. |
2968 | + */ |
2969 | +function link_multiline_editor(name) { |
2970 | + var link = Y.one('.menu-link-set_' + name); |
2971 | + if (Y.Lang.isValue(link)) { |
2972 | + link.addClass('js-action'); |
2973 | + link.on('click', function(e) { |
2974 | + hide_link_show_multiline_edit(e, name);} |
2975 | + ); |
2976 | + var parent = link.ancestor(); |
2977 | + if (parent.hasClass('unseen')) { |
2978 | + link.addClass('unseen'); |
2979 | + parent.removeClass('unseen'); |
2980 | + } |
2981 | + } |
2982 | + if (Y.Lang.isValue(Y.lp.widgets)) { |
2983 | + var widget = Y.lp.widgets['edit-' + name]; |
2984 | + if (Y.Lang.isValue(widget)) { |
2985 | + widget.editor.on('save', function() { |
2986 | + multiline_edit_message_listener(name, this.get('value'), true); |
2987 | + }); |
2988 | + widget.editor.on('cancel', function() { |
2989 | + multiline_edit_message_listener(name, this.get('value'), false); |
2990 | + }); |
2991 | + } |
2992 | + } |
2993 | +} |
2994 | + |
2995 | + |
2996 | +/* |
2997 | + * Hide the editor if the value is empty. |
2998 | * |
2999 | - * If the commit message is empty, we want to show the |
3000 | - * 'Set commit message' link again. For consistency with |
3001 | - * page updates we want to flash this link so the user can |
3002 | - * see what we are doing. If the commit message was saved |
3003 | - * and is empty, then we flash green as all is good. If the |
3004 | - * user has cancelled the edit, and the commit message is |
3005 | - * empty, then we flash the link red. |
3006 | + * If the value is empty, we want to show the 'Set commit message' link again. |
3007 | + * For consistency with page updates we want to flash this link so the user |
3008 | + * can see what we are doing. If the commit message was saved and is empty, |
3009 | + * then we flash green as all is good. If the user has cancelled the edit, |
3010 | + * and the commit message is empty, then we flash the link red. |
3011 | */ |
3012 | -function commit_message_listener(message, saved) |
3013 | +function multiline_edit_message_listener(name, message, saved) |
3014 | { |
3015 | if (message === '') { |
3016 | // Hide the multiline editor |
3017 | - Y.one('#edit-commit-message').addClass('unseen'); |
3018 | + Y.one('#edit-' + name).addClass('unseen'); |
3019 | // Show the link again |
3020 | - var link = Y.one('.menu-link-set_commit_message'); |
3021 | + var link = Y.one('.menu-link-set_' + name); |
3022 | link.removeClass('unseen'); |
3023 | if (saved) { |
3024 | // Flash green. |
3025 | @@ -113,19 +130,17 @@ |
3026 | } |
3027 | |
3028 | /* |
3029 | - * Edit the commit message. |
3030 | - * |
3031 | * Hide the link, show the multi-line editor, and set it to edit. |
3032 | */ |
3033 | -function edit_commit_message(e) { |
3034 | +function hide_link_show_multiline_edit(e, name) { |
3035 | // We are handling this click event. |
3036 | e.halt(); |
3037 | // Make the edit button unseen. |
3038 | - Y.one('#edit-commit-message').removeClass('unseen'); |
3039 | + Y.one('#edit-' + name).removeClass('unseen'); |
3040 | // Remove the unseen class from the commit message. |
3041 | - Y.one('.menu-link-set_commit_message').addClass('unseen'); |
3042 | + Y.one('.menu-link-set_' + name).addClass('unseen'); |
3043 | // Trigger the edit on the multiline editor. |
3044 | - Y.lp.widgets['edit-commit-message']._triggerEdit(e); |
3045 | + Y.lp.widgets['edit-' + name]._triggerEdit(e); |
3046 | } |
3047 | |
3048 | /* |
3049 | |
3050 | === added file 'lib/canonical/launchpad/pagetests/webservice/xx-temporary-blob-storage.txt' |
3051 | --- lib/canonical/launchpad/pagetests/webservice/xx-temporary-blob-storage.txt 1970-01-01 00:00:00 +0000 |
3052 | +++ lib/canonical/launchpad/pagetests/webservice/xx-temporary-blob-storage.txt 2010-03-04 20:06:42 +0000 |
3053 | @@ -0,0 +1,81 @@ |
3054 | +The set of temporary blobs |
3055 | +========================== |
3056 | + |
3057 | +The set of temporary blobs in Launchpad is represented by the collection |
3058 | +found at /temporary-blobs. The collection contains all the temporary |
3059 | +blobs whose file aliases have not expired. |
3060 | + |
3061 | + >>> temporary_blobs = webservice.get('/temporary-blobs').jsonBody() |
3062 | + >>> len(temporary_blobs['entries']) |
3063 | + 0 |
3064 | + |
3065 | +If we add a new blob, it will show up in the temporary_blobs entries |
3066 | +set. |
3067 | + |
3068 | + >>> login('foo.bar@canonical.com') |
3069 | + >>> from zope.component import getUtility |
3070 | + >>> from canonical.launchpad.interfaces.temporaryblobstorage import ( |
3071 | + ... ITemporaryStorageManager) |
3072 | + |
3073 | + >>> blob_token = getUtility(ITemporaryStorageManager).new("some data") |
3074 | + >>> logout() |
3075 | + |
3076 | + >>> temporary_blobs = webservice.get('/temporary-blobs').jsonBody() |
3077 | + >>> len(temporary_blobs['entries']) |
3078 | + 1 |
3079 | + |
3080 | +Each of the entries in the temporary_blobs entries set is an |
3081 | +ITemporaryBlobStorage instance. A blob is identified by its UUID, which |
3082 | +is exported via the webservice as 'token', in keeping with how it's |
3083 | +referred to in the UI. |
3084 | + |
3085 | + >>> blob = temporary_blobs['entries'][0] |
3086 | + >>> blob['token'] == blob_token |
3087 | + True |
3088 | + |
3089 | +It's possible to fetch a blob directly using its token. |
3090 | + |
3091 | + >>> blob_link = '/temporary-blobs/' + blob_token |
3092 | + >>> blob = webservice.get(blob_link).jsonBody() |
3093 | + >>> blob['token'] == blob_token |
3094 | + True |
3095 | + |
3096 | +It's also possible to fetch the blob by calling temporary_blobs.fetch() |
3097 | +and passing it a token. |
3098 | + |
3099 | + >>> blob = webservice.named_get( |
3100 | + ... '/temporary-blobs', 'fetch', token=blob_token).jsonBody() |
3101 | + >>> blob['token'] == blob_token |
3102 | + True |
3103 | + |
3104 | + |
3105 | +Checking whether a blob has been processed |
3106 | +------------------------------------------ |
3107 | + |
3108 | +Launchpad processes blobs after they've been uploaded, so that any data |
3109 | +that can be used whilst filing a bug (or in any other operation, |
3110 | +ostensibly) can be extracted from the blob without affecting the |
3111 | +processing time of web requests. |
3112 | + |
3113 | +It's possible to see whether a blob has been processed by calling its |
3114 | +hasBeenProcessed() method. In the case of the blob we created above, it |
3115 | +hasn't been processed because no job was created to process it. |
3116 | + |
3117 | + >>> print webservice.named_get( |
3118 | + ... blob['self_link'], 'hasBeenProcessed').jsonBody() |
3119 | + False |
3120 | + |
3121 | +Once the blob has been processed, its hasBeenProcessed() method will |
3122 | +return True. |
3123 | + |
3124 | + >>> from lp.bugs.interfaces.apportjob import IProcessApportBlobJobSource |
3125 | + >>> login('foo.bar@canonical.com') |
3126 | + >>> job = getUtility(IProcessApportBlobJobSource).create( |
3127 | + ... getUtility(ITemporaryStorageManager).fetch(blob_token)) |
3128 | + >>> job.job.start() |
3129 | + >>> job.job.complete() |
3130 | + >>> logout() |
3131 | + |
3132 | + >>> print webservice.named_get( |
3133 | + ... blob['self_link'], 'hasBeenProcessed').jsonBody() |
3134 | + True |
3135 | |
3136 | === modified file 'lib/canonical/launchpad/webapp/dbpolicy.py' |
3137 | --- lib/canonical/launchpad/webapp/dbpolicy.py 2010-02-23 11:53:24 +0000 |
3138 | +++ lib/canonical/launchpad/webapp/dbpolicy.py 2010-03-04 20:06:42 +0000 |
3139 | @@ -304,26 +304,18 @@ |
3140 | |
3141 | # sl_status gives meaningful results only on the origin node. |
3142 | master_store = self.getStore(MAIN_STORE, MASTER_FLAVOR) |
3143 | - # If it takes more than (by default) 0.25 seconds to query the |
3144 | - # replication lag, assume we are lagged. Normally the query |
3145 | - # takes <20ms. This can happen during heavy updates, as the |
3146 | - # Slony-I tables can get slow with lots of events. We use a |
3147 | - # SAVEPOINT to conveniently reset the statement timeout. |
3148 | - master_store.execute(""" |
3149 | - SAVEPOINT lag_check; SET LOCAL statement_timeout TO %d |
3150 | - """ % config.launchpad.lag_check_timeout) |
3151 | - try: |
3152 | - try: |
3153 | - return master_store.execute( |
3154 | - "SELECT replication_lag(%d)" % slave_node_id).get_one()[0] |
3155 | - except TimeoutError: |
3156 | - logging.warn( |
3157 | - 'Gave up querying slave lag after %d ms', |
3158 | - (config.launchpad.lag_check_timeout)) |
3159 | - return timedelta(days=999) # A long, long time. |
3160 | - finally: |
3161 | - master_store.execute("ROLLBACK TO lag_check") |
3162 | |
3163 | + # Retrieve the cached lag. |
3164 | + lag = master_store.execute(""" |
3165 | + SELECT lag + (CURRENT_TIMESTAMP AT TIME ZONE 'UTC' - updated) |
3166 | + FROM DatabaseReplicationLag WHERE node=%d |
3167 | + """ % slave_node_id).get_one() |
3168 | + if lag is None: |
3169 | + logging.error( |
3170 | + "No data in DatabaseReplicationLag for node %d" |
3171 | + % slave_node_id) |
3172 | + return timedelta(days=999) # A long, long time. |
3173 | + return lag[0] |
3174 | |
3175 | |
3176 | def WebServiceDatabasePolicyFactory(request): |
3177 | |
3178 | === modified file 'lib/canonical/launchpad/zcml/temporaryblobstorage.zcml' |
3179 | --- lib/canonical/launchpad/zcml/temporaryblobstorage.zcml 2009-07-13 18:15:02 +0000 |
3180 | +++ lib/canonical/launchpad/zcml/temporaryblobstorage.zcml 2010-03-04 20:06:42 +0000 |
3181 | @@ -36,4 +36,20 @@ |
3182 | interface="canonical.launchpad.interfaces.ITemporaryStorageManager" /> |
3183 | </securedutility> |
3184 | |
3185 | + <browser:navigation |
3186 | + module="canonical.launchpad.browser.temporaryblobstorage" |
3187 | + classes="TemporaryBlobStorageNavigation" |
3188 | + /> |
3189 | + |
3190 | + <browser:url |
3191 | + for="canonical.launchpad.interfaces.temporaryblobstorage.ITemporaryBlobStorage" |
3192 | + urldata="canonical.launchpad.browser.temporaryblobstorage.TemporaryBlobStorageURL" |
3193 | + parent_utility="canonical.launchpad.interfaces.IWebServiceApplication"/> |
3194 | + path_expression="string:temporary-blobs/${uuid}" |
3195 | + /> |
3196 | + |
3197 | + <browser:url |
3198 | + for="canonical.launchpad.interfaces.temporaryblobstorage.ITemporaryStorageManager" |
3199 | + path_expression="string:temporary-blobs" |
3200 | + parent_utility="canonical.launchpad.interfaces.IWebServiceApplication"/> |
3201 | </configure> |
3202 | |
3203 | === modified file 'lib/lp/answers/doc/person.txt' |
3204 | --- lib/lp/answers/doc/person.txt 2009-12-24 01:41:54 +0000 |
3205 | +++ lib/lp/answers/doc/person.txt 2010-03-04 20:06:42 +0000 |
3206 | @@ -1,22 +1,28 @@ |
3207 | -= Person and the Answer Tracker = |
3208 | - |
3209 | -== searchQuestions() == |
3210 | - |
3211 | -IQuestionsPerson defines a searchQuestions() method which can be used to |
3212 | -select all or a subset of the questions in which the person is |
3213 | -involved. This includes questions which the person created, is assigned |
3214 | -to, is subscribed to, commented on, or answered. Various subsets can |
3215 | -be selected by using the following criteria status, search_text and |
3216 | -participation type. |
3217 | - |
3218 | - >>> from canonical.launchpad.interfaces import IPersonSet |
3219 | +============================= |
3220 | +People and the answer tracker |
3221 | +============================= |
3222 | + |
3223 | +Sometimes you want to find out what questions a person is involved with. |
3224 | + |
3225 | + |
3226 | +Searching |
3227 | +========= |
3228 | + |
3229 | +IQuestionsPerson defines a searchQuestions() method which is used to select |
3230 | +all, or a subset of, the questions in which a person is involved. This |
3231 | +includes questions which the person created, is assigned to, is subscribed to, |
3232 | +commented on, or answered. Various subsets can be selected by using the |
3233 | +various search criteria. |
3234 | + |
3235 | + >>> from lp.registry.interfaces.person import IPersonSet |
3236 | >>> from lp.answers.interfaces.questionsperson import IQuestionsPerson |
3237 | >>> personset = getUtility(IPersonSet) |
3238 | >>> foo_bar_raw = personset.getByEmail('foo.bar@canonical.com') |
3239 | >>> foo_bar = IQuestionsPerson(foo_bar_raw) |
3240 | |
3241 | |
3242 | -=== search_text === |
3243 | +Search text |
3244 | +----------- |
3245 | |
3246 | The search_text parameter will limit the questions to those matching |
3247 | the query using the regular full text algorithm. |
3248 | @@ -28,13 +34,14 @@ |
3249 | Newly installed plug-in doesn't seem to be used Answered |
3250 | |
3251 | |
3252 | -=== sort === |
3253 | - |
3254 | -When using the search_text criteria, the default is to sort the results |
3255 | -by relevancy. One can use the sort parameter to change that. It takes |
3256 | -one of the constant defined in the QuestionSort enumeration. |
3257 | - |
3258 | - >>> from canonical.launchpad.interfaces import QuestionSort |
3259 | +Sorting |
3260 | +------- |
3261 | + |
3262 | +When using the search_text criteria, the default is to sort the results by |
3263 | +relevancy. One can use the sort parameter to change that. It takes one of |
3264 | +the constant defined in the QuestionSort enumeration. |
3265 | + |
3266 | + >>> from lp.answers.interfaces.questionenums import QuestionSort |
3267 | >>> for question in foo_bar.searchQuestions( |
3268 | ... search_text='firefox', sort=QuestionSort.OLDEST_FIRST): |
3269 | ... print question.id, question.title, question.status.title |
3270 | @@ -42,8 +49,7 @@ |
3271 | 6 Newly installed plug-in doesn't seem to be used Answered |
3272 | 9 mailto: problem in webpage Solved |
3273 | |
3274 | -When no text search is done, the default sort order is |
3275 | -QuestionSort.NEWEST_FIRST. |
3276 | +When no text search is done, the default sort order is newest first. |
3277 | |
3278 | >>> for question in foo_bar.searchQuestions(): |
3279 | ... print question.id, question.title, question.status.title |
3280 | @@ -56,13 +62,13 @@ |
3281 | 4 Firefox loses focus and gets stuck Open |
3282 | |
3283 | |
3284 | -=== status === |
3285 | - |
3286 | -The last searches showed that by default, not all statuses are searched |
3287 | -for by default (they excluded expired and invalid questions). The status |
3288 | -parameter can be used to control the list of statuses to select: |
3289 | - |
3290 | - >>> from canonical.launchpad.interfaces import QuestionStatus |
3291 | +Status |
3292 | +------ |
3293 | + |
3294 | +As shown above, expired and invalid questions are not returned. The status |
3295 | +parameter can be used to control the list of statuses to select. |
3296 | + |
3297 | + >>> from lp.answers.interfaces.questionenums import QuestionStatus |
3298 | >>> for question in foo_bar.searchQuestions(status=QuestionStatus.INVALID): |
3299 | ... print question.title, question.status.title |
3300 | Firefox is slow and consumes too much RAM Invalid |
3301 | @@ -70,23 +76,23 @@ |
3302 | The status parameter can also take a list of statuses. |
3303 | |
3304 | >>> for question in foo_bar.searchQuestions( |
3305 | - ... status=[QuestionStatus.SOLVED, QuestionStatus.INVALID]): |
3306 | + ... status=(QuestionStatus.SOLVED, QuestionStatus.INVALID)): |
3307 | ... print question.title, question.status.title |
3308 | mailto: problem in webpage Solved |
3309 | Firefox is slow and consumes too much RAM Invalid |
3310 | |
3311 | |
3312 | -=== participation === |
3313 | +Participation |
3314 | +------------- |
3315 | |
3316 | -By default, any types of relationship to a question is considered by |
3317 | -searchQuestions. This can customized through the participation |
3318 | -parameter. It takes one or a list of constants from the |
3319 | -QuestionParticipation enumeration. |
3320 | +By default, any relationship between a person and a question is considered by |
3321 | +searchQuestions. This can customized through the participation parameter. It |
3322 | +takes one or a list of constants from the QuestionParticipation enumeration. |
3323 | |
3324 | To select only questions on which the person commented, the |
3325 | -QuestionParticipation.COMMENTER is used: |
3326 | +QuestionParticipation.COMMENTER is used. |
3327 | |
3328 | - >>> from canonical.launchpad.interfaces import QuestionParticipation |
3329 | + >>> from lp.answers.interfaces.questionenums import QuestionParticipation |
3330 | >>> for question in foo_bar.searchQuestions( |
3331 | ... participation=QuestionParticipation.COMMENTER, status=None): |
3332 | ... print question.title |
3333 | @@ -96,8 +102,8 @@ |
3334 | Installation of Java Runtime Environment for Mozilla |
3335 | Newly installed plug-in doesn't seem to be used |
3336 | |
3337 | -QuestionParticipation.SUBSCRIBER will only select the questions to which |
3338 | -the person is subscribed to: |
3339 | +QuestionParticipation.SUBSCRIBER will only select the questions to which the |
3340 | +person is subscribed. |
3341 | |
3342 | >>> for question in foo_bar.searchQuestions( |
3343 | ... participation=QuestionParticipation.SUBSCRIBER, status=None): |
3344 | @@ -105,7 +111,7 @@ |
3345 | Slow system |
3346 | Firefox is slow and consumes too much RAM |
3347 | |
3348 | -QuestionParticipation.OWNER selects the questions that the person created: |
3349 | +QuestionParticipation.OWNER selects the questions that the person created. |
3350 | |
3351 | >>> for question in foo_bar.searchQuestions( |
3352 | ... participation=QuestionParticipation.OWNER, status=None): |
3353 | @@ -114,8 +120,8 @@ |
3354 | Firefox loses focus and gets stuck |
3355 | Firefox is slow and consumes too much RAM |
3356 | |
3357 | -QuestionParticipation.ANSWERER selects the questions for which the person |
3358 | -was marked as the answerer: |
3359 | +QuestionParticipation.ANSWERER selects the questions for which the person gave |
3360 | +an answer. |
3361 | |
3362 | >>> for question in foo_bar.searchQuestions( |
3363 | ... participation=QuestionParticipation.ANSWERER, status=None): |
3364 | @@ -124,19 +130,18 @@ |
3365 | Firefox is slow and consumes too much RAM |
3366 | |
3367 | QuestionParticipation.ASSIGNEE selects that questions which are assigned to |
3368 | -the person: |
3369 | +the person. |
3370 | |
3371 | - >>> for question in foo_bar.searchQuestions( |
3372 | - ... participation=QuestionParticipation.ASSIGNEE, status=None): |
3373 | - ... print question.title |
3374 | + >>> list(foo_bar.searchQuestions( |
3375 | + ... participation=QuestionParticipation.ASSIGNEE, status=None)) |
3376 | + [] |
3377 | |
3378 | If a list of these constants is used, all of these participation types |
3379 | -will be selected: |
3380 | +will be selected. |
3381 | |
3382 | >>> for question in foo_bar.searchQuestions( |
3383 | - ... participation=[ |
3384 | - ... QuestionParticipation.OWNER, |
3385 | - ... QuestionParticipation.ANSWERER], |
3386 | + ... participation=(QuestionParticipation.OWNER, |
3387 | + ... QuestionParticipation.ANSWERER), |
3388 | ... status=None): |
3389 | ... print question.title |
3390 | mailto: problem in webpage |
3391 | @@ -145,40 +150,41 @@ |
3392 | Firefox is slow and consumes too much RAM |
3393 | |
3394 | |
3395 | -=== language === |
3396 | - |
3397 | -By default, questions in all languages are included in the results. |
3398 | -It is possible to filter questions by the language they were written |
3399 | -in . One or a list of ILanguage object should be passed in the |
3400 | -language parameter to specify the language filter. |
3401 | - |
3402 | - >>> from canonical.launchpad.interfaces import ILanguageSet |
3403 | +Language |
3404 | +-------- |
3405 | + |
3406 | +By default, questions in all languages are included in the results. It is |
3407 | +possible to filter questions by the language they were written in. One or a |
3408 | +sequence of ILanguage object can be passed in to specify the language filter. |
3409 | + |
3410 | + >>> from lp.services.worlddata.interfaces.language import ILanguageSet |
3411 | >>> spanish = getUtility(ILanguageSet)['es'] |
3412 | >>> english = getUtility(ILanguageSet)['en'] |
3413 | |
3414 | Foo bar doesn't have any questions written in Spanish. |
3415 | |
3416 | - >>> for question in foo_bar.searchQuestions(language=spanish): |
3417 | - ... print question.title |
3418 | - |
3419 | -But carlos has one. |
3420 | - |
3421 | + >>> list(foo_bar.searchQuestions(language=spanish)) |
3422 | + [] |
3423 | + |
3424 | +But Carlos has one. |
3425 | + |
3426 | + # Because not everyone uses a real editor <wink> |
3427 | + >>> from canonical.encoding import ascii_smash |
3428 | >>> carlos_raw = personset.getByName('carlos') |
3429 | >>> carlos = IQuestionsPerson(carlos_raw) |
3430 | >>> for question in carlos.searchQuestions( |
3431 | - ... language=[english, spanish]): |
3432 | - ... [question.title, question.language.code] |
3433 | - [u'Problema al recompilar kernel con soporte smp (doble-n\xfacleo)', |
3434 | - u'es'] |
3435 | - |
3436 | - |
3437 | -=== needs_attention === |
3438 | - |
3439 | -The method accept a parameter called needs_attention which only selects |
3440 | -the questions that needs attention from the person. This includes questions |
3441 | -owned by the person in the ANSWERED or NEEDSINFO state. It also includes |
3442 | -questions on which the person requested for more information or gave an |
3443 | -answer and that are back in the OPEN state. |
3444 | + ... language=(english, spanish)): |
3445 | + ... print ascii_smash(question.title), question.language.code |
3446 | + Problema al recompilar kernel con soporte smp (doble-nucleo) es |
3447 | + |
3448 | + |
3449 | +Questions needing attention |
3450 | +--------------------------- |
3451 | + |
3452 | +You can select only the questions that needs attention from a person. This |
3453 | +includes questions owned by the person in the ANSWERED or NEEDSINFO state. It |
3454 | +also includes questions on which the person requested more information or gave |
3455 | +an answer and are back in the OPEN state. |
3456 | |
3457 | >>> for question in foo_bar.searchQuestions(needs_attention=True): |
3458 | ... print question.status.title, question.owner.displayname, ( |
3459 | @@ -187,70 +193,80 @@ |
3460 | Needs information Foo Bar Slow system |
3461 | |
3462 | |
3463 | -=== Combination === |
3464 | +Search combinations |
3465 | +------------------- |
3466 | |
3467 | -The returned sets of questions is the intersection of the sets delimited |
3468 | -by each criteria: |
3469 | +The results are the intersection of the sets delimited by each criteria. |
3470 | |
3471 | >>> for question in foo_bar.searchQuestions( |
3472 | - ... search_text='firefox OR Java', status=QuestionStatus.ANSWERED, |
3473 | + ... search_text='firefox OR Java', |
3474 | + ... status=QuestionStatus.ANSWERED, |
3475 | ... participation=QuestionParticipation.COMMENTER): |
3476 | ... print question.title, question.status.title |
3477 | Installation of Java Runtime Environment for Mozilla Answered |
3478 | Newly installed plug-in doesn't seem to be used Answered |
3479 | |
3480 | |
3481 | -== getQuestionLanguages() == |
3482 | +Question languages |
3483 | +================== |
3484 | |
3485 | IQuestionsPerson also defines a getQuestionLanguages() attribute which |
3486 | contains the set of languages used by all of the questions in which this |
3487 | person is involved. |
3488 | |
3489 | - >>> sorted(language.code for language in foo_bar.getQuestionLanguages()) |
3490 | - [u'en'] |
3491 | - |
3492 | -This includes questions which the person owns. But also, questions that |
3493 | -the user subscribed to. |
3494 | - |
3495 | - >>> from canonical.launchpad.interfaces import IQuestionSet |
3496 | + >>> print ', '.join( |
3497 | + ... sorted(language.code |
3498 | + ... for language in foo_bar.getQuestionLanguages())) |
3499 | + en |
3500 | + |
3501 | +This includes questions which the person owns, and questions that the user is |
3502 | +subscribed to... |
3503 | + |
3504 | + >>> from lp.answers.interfaces.questioncollection import IQuestionSet |
3505 | >>> pt_BR_question = getUtility(IQuestionSet).get(13) |
3506 | >>> login('foo.bar@canonical.com') |
3507 | >>> pt_BR_question.subscribe(foo_bar_raw) |
3508 | <QuestionSubscription...> |
3509 | |
3510 | - >>> sorted(language.code for language in foo_bar.getQuestionLanguages()) |
3511 | - [u'en', u'pt_BR'] |
3512 | + >>> print ', '.join( |
3513 | + ... sorted(language.code |
3514 | + ... for language in foo_bar.getQuestionLanguages())) |
3515 | + en, pt_BR |
3516 | |
3517 | -And also questions for which he's the answerer. |
3518 | +...and questions for which he's the answerer... |
3519 | |
3520 | >>> es_question = getUtility(IQuestionSet).get(12) |
3521 | >>> es_question.reject(foo_bar_raw, 'Reject question.') |
3522 | <QuestionMessage...> |
3523 | |
3524 | - >>> sorted(language.code for language in foo_bar.getQuestionLanguages()) |
3525 | - [u'en', u'es', u'pt_BR'] |
3526 | + >>> print ', '.join( |
3527 | + ... sorted(language.code |
3528 | + ... for language in foo_bar.getQuestionLanguages())) |
3529 | + en, es, pt_BR |
3530 | |
3531 | -As well, as question which are assigned to the user. |
3532 | +...as well as questions which are assigned to the user... |
3533 | |
3534 | >>> pt_BR_question.assignee = carlos_raw |
3535 | - >>> from canonical.database.sqlbase import flush_database_updates |
3536 | - >>> flush_database_updates() |
3537 | - |
3538 | - >>> sorted(language.code for language in carlos.getQuestionLanguages()) |
3539 | - [u'es', u'pt_BR'] |
3540 | - |
3541 | -And questions on which the user commented: |
3542 | + >>> print ', '.join( |
3543 | + ... sorted(language.code |
3544 | + ... for language in carlos.getQuestionLanguages())) |
3545 | + es, pt_BR |
3546 | + |
3547 | +...and questions on which the user commented. |
3548 | |
3549 | >>> en_question = getUtility(IQuestionSet).get(1) |
3550 | >>> login('carlos@canonical.com') |
3551 | >>> en_question.addComment(carlos_raw, 'A simple comment.') |
3552 | <QuestionMessage...> |
3553 | |
3554 | - >>> sorted(language.code for language in carlos.getQuestionLanguages()) |
3555 | - [u'en', u'es', u'pt_BR'] |
3556 | - |
3557 | - |
3558 | -== getDirectAnswerQuestionTargets() == |
3559 | + >>> print ', '.join( |
3560 | + ... sorted(language.code |
3561 | + ... for language in carlos.getQuestionLanguages())) |
3562 | + en, es, pt_BR |
3563 | + |
3564 | + |
3565 | +Direct subscriptions |
3566 | +==================== |
3567 | |
3568 | IQuestionsPerson defines getDirectAnswerQuestionTargets that can be used to |
3569 | retrieve a list of IQuestionTargets that a person subscribed himself to as an |
3570 | @@ -261,9 +277,10 @@ |
3571 | >>> no_priv.getDirectAnswerQuestionTargets() |
3572 | [] |
3573 | |
3574 | - >>> from canonical.launchpad.interfaces import IProductSet |
3575 | + >>> from lp.registry.interfaces.product import IProductSet |
3576 | >>> firefox = getUtility(IProductSet).getByName("firefox") |
3577 | - >>> # Answer contacts must speak a language |
3578 | + |
3579 | + # Answer contacts must speak a language |
3580 | >>> no_priv_raw.addLanguage(english) |
3581 | >>> firefox.addAnswerContact(no_priv_raw) |
3582 | True |
3583 | @@ -272,7 +289,9 @@ |
3584 | ... print target.name |
3585 | firefox |
3586 | |
3587 | -== getTeamAnswerQuestionTargets() == |
3588 | + |
3589 | +Indirect subscriptions |
3590 | +====================== |
3591 | |
3592 | IQuestionsPerson defines getTeamAnswerQuestionTargets that retrieves a list of |
3593 | IQuestionTargets that the person is subscribed to indirectly as an answer |
3594 | @@ -283,20 +302,21 @@ |
3595 | >>> no_priv_raw.inTeam(landscape_team) |
3596 | True |
3597 | |
3598 | - >>> from canonical.launchpad.interfaces import IDistributionSet |
3599 | + >>> from lp.registry.interfaces.distribution import IDistributionSet |
3600 | >>> ubuntu = getUtility(IDistributionSet).getByName("ubuntu") |
3601 | >>> landscape_team.addLanguage(english) |
3602 | >>> ubuntu.addAnswerContact(landscape_team) |
3603 | True |
3604 | |
3605 | - >>> sorted(target.name |
3606 | - ... for target in no_priv.getTeamAnswerQuestionTargets()) |
3607 | - [u'ubuntu'] |
3608 | + >>> print ', '.join( |
3609 | + ... sorted(target.name |
3610 | + ... for target in no_priv.getTeamAnswerQuestionTargets())) |
3611 | + ubuntu |
3612 | |
3613 | -Indirect team membership is also taken in consideration. For example, |
3614 | -the Landscape Team joins the Translator Team. So targets for which the |
3615 | -Translator team is an answer contact will be included in No Privileges |
3616 | -Person's supported IQuestionTargets: |
3617 | +Indirect team membership is also taken in consideration. For example, when |
3618 | +the Landscape Team joins the Translator Team, targets for which the Translator |
3619 | +team is an answer contact will be included in No Privileges Person's supported |
3620 | +IQuestionTargets. |
3621 | |
3622 | >>> translator_team = personset.getByName('ubuntu-translators') |
3623 | >>> no_priv_raw.inTeam(translator_team) |
3624 | @@ -315,36 +335,33 @@ |
3625 | >>> translator_team.addLanguage(english) |
3626 | >>> evolution_package.addAnswerContact(translator_team) |
3627 | True |
3628 | - >>> sorted(target.name |
3629 | - ... for target in no_priv.getTeamAnswerQuestionTargets()) |
3630 | - [u'evolution', u'ubuntu'] |
3631 | - |
3632 | - |
3633 | -== Deactivated pillars and *AnswerQuestionTargets() == |
3634 | - |
3635 | -getDirectAnswerQuestionTargets() and getTeamAnswerQuestionTargets() use |
3636 | -a _getQuestionTargetsFromAnswerContacts() to build a distinct list of |
3637 | -valid IQuestionTargets. It ensures that no deactivated pillars are in |
3638 | -the list. |
3639 | + >>> print ', '.join( |
3640 | + ... sorted(target.name |
3641 | + ... for target in no_priv.getTeamAnswerQuestionTargets())) |
3642 | + evolution, ubuntu |
3643 | + |
3644 | + |
3645 | +Deactivated pillars |
3646 | +=================== |
3647 | + |
3648 | +Only valid IQuestionTargets are returned, ensuring that no deactivated pillars |
3649 | +are in the results. |
3650 | |
3651 | If the Firefox project is deactivated, it is removed from the list of |
3652 | supported projects. |
3653 | |
3654 | - >>> from canonical.launchpad.ftests import syncUpdate |
3655 | - |
3656 | >>> login('foo.bar@canonical.com') |
3657 | >>> firefox.active = False |
3658 | - >>> syncUpdate(firefox) |
3659 | >>> sorted(target.name |
3660 | ... for target in no_priv.getDirectAnswerQuestionTargets()) |
3661 | [] |
3662 | |
3663 | -When the Firefox project is reactivated, the answer contact relationship |
3664 | -is visible. It is important to preserve the continuity of the project in |
3665 | -cases were we only want is deactivated for a short period. |
3666 | +When the Firefox project is reactivated, the answer contact relationship is |
3667 | +visible. These relationships are persistent for cases where we only want is |
3668 | +deactivated for a short period. |
3669 | |
3670 | >>> firefox.active = True |
3671 | - >>> syncUpdate(firefox) |
3672 | - >>> sorted(target.name |
3673 | - ... for target in no_priv.getDirectAnswerQuestionTargets()) |
3674 | - [u'firefox'] |
3675 | + >>> print ', '.join( |
3676 | + ... sorted(target.name |
3677 | + ... for target in no_priv.getDirectAnswerQuestionTargets())) |
3678 | + firefox |
3679 | |
3680 | === renamed file 'lib/lp/answers/doc/project.txt' => 'lib/lp/answers/doc/projectgroup.txt' |
3681 | --- lib/lp/answers/doc/project.txt 2010-02-17 14:42:16 +0000 |
3682 | +++ lib/lp/answers/doc/projectgroup.txt 2010-03-04 20:06:42 +0000 |
3683 | @@ -1,12 +1,15 @@ |
3684 | -= Project and the Answer Tracker = |
3685 | +=============================== |
3686 | +Projects and the answer tracker |
3687 | +=============================== |
3688 | |
3689 | -Although question cannot be filed directly against projects, IProjectGroup in |
3690 | -Launchpad also provides the IQuestionCollection and |
3691 | +Although question cannot be filed directly against project groups, |
3692 | +IProjectGroup in Launchpad also provides the IQuestionCollection and |
3693 | ISearchableByQuestionOwner interfaces. |
3694 | |
3695 | >>> from canonical.launchpad.webapp.testing import verifyObject |
3696 | - >>> from canonical.launchpad.interfaces import ( |
3697 | - ... IProjectGroupSet, ISearchableByQuestionOwner, IQuestionCollection) |
3698 | + >>> from lp.registry.interfaces.projectgroup import IProjectGroupSet |
3699 | + >>> from lp.answers.interfaces.questioncollection import ( |
3700 | + ... ISearchableByQuestionOwner, IQuestionCollection) |
3701 | |
3702 | >>> mozilla_project = getUtility(IProjectGroupSet).getByName('mozilla') |
3703 | >>> verifyObject(IQuestionCollection, mozilla_project) |
3704 | @@ -14,38 +17,41 @@ |
3705 | >>> verifyObject(ISearchableByQuestionOwner, mozilla_project) |
3706 | True |
3707 | |
3708 | -== searchQuestions() == |
3709 | - |
3710 | -This means that it is possible to search for all questions filed against |
3711 | -products in a project using the project searchQuestions() method. |
3712 | - |
3713 | - # Add a question to thunderbird. |
3714 | - >>> from canonical.launchpad.interfaces import ILaunchBag, IProductSet |
3715 | + |
3716 | +Questions filed against project in a project group |
3717 | +================================================== |
3718 | + |
3719 | +You can search for all questions filed against projects in a project using the |
3720 | +project group's searchQuestions() method. |
3721 | + |
3722 | + >>> from lp.registry.interfaces.person import IPersonSet |
3723 | + >>> from lp.registry.interfaces.product import IProductSet |
3724 | + |
3725 | >>> login('test@canonical.com') |
3726 | >>> thunderbird = getUtility(IProductSet).getByName('thunderbird') |
3727 | - >>> sample_person = getUtility(ILaunchBag).user |
3728 | + >>> sample_person = getUtility(IPersonSet).getByName('name12') |
3729 | >>> question = thunderbird.newQuestion( |
3730 | - ... sample_person, "SVG attachments aren't displayed", |
3731 | + ... sample_person, |
3732 | + ... "SVG attachments aren't displayed ", |
3733 | ... "It would be a nice feature if SVG attachments could be displayed" |
3734 | - ... "inlined.") |
3735 | + ... " inlined.") |
3736 | |
3737 | >>> for question in mozilla_project.searchQuestions(search_text='svg'): |
3738 | ... print question.title, question.target.displayname |
3739 | SVG attachments aren't displayed Mozilla Thunderbird |
3740 | Problem showing the SVG demo on W3C site Mozilla Firefox |
3741 | |
3742 | -In the case were a Project has no Products, then we can expect no |
3743 | -possible questions. |
3744 | +In the case where a project group has no projects, there are no results. |
3745 | |
3746 | >>> aaa_project = getUtility(IProjectGroupSet).getByName('aaa') |
3747 | - >>> [q for question in aaa_project.searchQuestions()] |
3748 | + >>> list(aaa_project.searchQuestions()) |
3749 | [] |
3750 | |
3751 | -Questions can be searched by all the standard searchQuestions() parameters |
3752 | -(consult questiontarget.txt for the full details.) |
3753 | +Questions can be searched by all the standard searchQuestions() parameters. |
3754 | +See questiontarget.txt for the full details. |
3755 | |
3756 | - >>> from canonical.launchpad.interfaces import ( |
3757 | - ... QuestionStatus, QuestionSort) |
3758 | + >>> from lp.answers.interfaces.questionenums import ( |
3759 | + ... QuestionSort, QuestionStatus) |
3760 | >>> for question in mozilla_project.searchQuestions( |
3761 | ... owner=sample_person, status=QuestionStatus.OPEN, |
3762 | ... sort=QuestionSort.OLDEST_FIRST): |
3763 | @@ -53,20 +59,21 @@ |
3764 | Problem showing the SVG demo on W3C site Mozilla Firefox |
3765 | SVG attachments aren't displayed Mozilla Thunderbird |
3766 | |
3767 | -== getQuestionLanguages() == |
3768 | - |
3769 | -The getQuestionLanguages() returns the set of languages that is used by |
3770 | -all the questions in the project products. |
3771 | - |
3772 | - >>> sorted(language.code |
3773 | - ... for language in mozilla_project.getQuestionLanguages()) |
3774 | - [u'en', u'pt_BR'] |
3775 | - |
3776 | -(The firefox product has one question created in Brazilian Portuguese.) |
3777 | - |
3778 | -In the case where a Project has no Products, language questions will |
3779 | -still return and empty set. |
3780 | - |
3781 | - >>> [language.code for language in aaa_project.getQuestionLanguages()] |
3782 | + |
3783 | +Languages |
3784 | +========= |
3785 | + |
3786 | +getQuestionLanguages() returns the set of languages that is used by all the |
3787 | +questions in the project group's projects. |
3788 | + |
3789 | + # The Firefox project group has one question created in Brazilian |
3790 | + # Portuguese. |
3791 | + >>> print ', '.join( |
3792 | + ... sorted(language.code |
3793 | + ... for language in mozilla_project.getQuestionLanguages())) |
3794 | + en, pt_BR |
3795 | + |
3796 | +In the case where a project group has no projects, there are no results. |
3797 | + |
3798 | + >>> list(aaa_project.getQuestionLanguages()) |
3799 | [] |
3800 | - |
3801 | |
3802 | === modified file 'lib/lp/answers/doc/question.txt' |
3803 | --- lib/lp/answers/doc/question.txt 2009-03-24 12:43:49 +0000 |
3804 | +++ lib/lp/answers/doc/question.txt 2010-03-04 20:06:42 +0000 |
3805 | @@ -1,21 +1,24 @@ |
3806 | -= Launchpad Answer Tracker = |
3807 | +======================== |
3808 | +Launchpad Answer Tracker |
3809 | +======================== |
3810 | |
3811 | -Launchpad includes an Answer Tracker where users can post questions |
3812 | -(usually about problems they encounter with projects) and other can |
3813 | -answer them.) Questions are created and accessed using the |
3814 | -IQuestionTarget interface. This interface is available on Products, |
3815 | -Distributions and DistributionSourcePackages. |
3816 | +Launchpad includes an Answer Tracker where users can post questions, usually |
3817 | +about problems they encounter with projects, and other people can answer them. |
3818 | +Questions are created and accessed using the IQuestionTarget interface. This |
3819 | +interface is available on Products, Distributions and |
3820 | +DistributionSourcePackages. |
3821 | |
3822 | >>> login('test@canonical.com') |
3823 | |
3824 | >>> from canonical.launchpad.webapp.testing import verifyObject |
3825 | - >>> from canonical.launchpad.interfaces import ( |
3826 | - ... IDistributionSet, IProductSet, IPersonSet, IQuestionTarget) |
3827 | + >>> from lp.answers.interfaces.questiontarget import IQuestionTarget |
3828 | + >>> from lp.registry.interfaces.product import IProductSet |
3829 | |
3830 | >>> firefox = getUtility(IProductSet)['firefox'] |
3831 | >>> verifyObject(IQuestionTarget, firefox) |
3832 | True |
3833 | |
3834 | + >>> from lp.registry.interfaces.distribution import IDistributionSet |
3835 | >>> ubuntu = getUtility(IDistributionSet).getByName('ubuntu') |
3836 | >>> verifyObject(IQuestionTarget, ubuntu) |
3837 | True |
3838 | @@ -24,9 +27,9 @@ |
3839 | >>> verifyObject(IQuestionTarget, evolution_in_ubuntu) |
3840 | True |
3841 | |
3842 | -Although Distribution series do not implement the IQuestionTarget |
3843 | -interface, it is possible to adapt one to it. (The adapter is actually |
3844 | -the distroseries's distribution.) |
3845 | +Although distribution series do not implement the IQuestionTarget interface, |
3846 | +it is possible to adapt one to it. The adapter is actually the distroseries's |
3847 | +distribution. |
3848 | |
3849 | >>> ubuntu_warty = ubuntu.getSeries('warty') |
3850 | >>> IQuestionTarget.providedBy(ubuntu_warty) |
3851 | @@ -56,29 +59,33 @@ |
3852 | You create a new question by calling the newQuestion() method of an |
3853 | IQuestionTarget attribute. |
3854 | |
3855 | + >>> from lp.registry.interfaces.person import IPersonSet |
3856 | >>> sample_person = getUtility(IPersonSet).getByEmail('test@canonical.com') |
3857 | >>> firefox_question = firefox.newQuestion( |
3858 | ... sample_person, "Firefox question", "Unable to use Firefox") |
3859 | |
3860 | -(The complete IQuestionTarget interface is documented in |
3861 | -../interfaces/ftests/questiontarget.txt.) |
3862 | - |
3863 | -== Official usage == |
3864 | - |
3865 | -A product or distribution may be offically supported by the community |
3866 | -using the Answer Tracker. This status is set by the official_answers |
3867 | -attribute on the IProduct and IDistribution. |
3868 | +The complete IQuestionTarget interface is documented in questiontarget.txt. |
3869 | + |
3870 | + |
3871 | +Official usage |
3872 | +============== |
3873 | + |
3874 | +A product or distribution may be officially supported by the community using |
3875 | +the Answer Tracker. This status is set by the official_answers attribute on |
3876 | +the IProduct and IDistribution. |
3877 | |
3878 | >>> ubuntu.official_answers |
3879 | True |
3880 | >>> firefox.official_answers |
3881 | True |
3882 | |
3883 | -== IQuestion == |
3884 | - |
3885 | -Questions are manipulated through the IQuestion interface: |
3886 | - |
3887 | - >>> from canonical.launchpad.interfaces import IQuestion |
3888 | + |
3889 | +IQuestion interface |
3890 | +=================== |
3891 | + |
3892 | +Questions are manipulated through the IQuestion interface. |
3893 | + |
3894 | + >>> from lp.answers.interfaces.question import IQuestion |
3895 | >>> from zope.security.proxy import removeSecurityProxy |
3896 | |
3897 | # The complete interface is not necessarily available to the |
3898 | @@ -88,21 +95,27 @@ |
3899 | |
3900 | The person who submitted the question is available in the owner field. |
3901 | |
3902 | - >>> firefox_question.owner == sample_person |
3903 | - True |
3904 | + >>> firefox_question.owner |
3905 | + <Person at ... name12 (Sample Person)> |
3906 | |
3907 | When the question is created, the owner is added to the question's |
3908 | -subscribers: |
3909 | - |
3910 | - >>> sample_person in [s.person for s in firefox_question.subscriptions] |
3911 | - True |
3912 | - |
3913 | -The question status is 'Open': |
3914 | - |
3915 | - >>> firefox_question.status.title |
3916 | - 'Open' |
3917 | - |
3918 | -And the creation time is recorded in the datecreated attribute: |
3919 | +subscribers. |
3920 | + |
3921 | + >>> from operator import attrgetter |
3922 | + >>> def print_subscribers(question): |
3923 | + ... people = [subscription.person |
3924 | + ... for subscription in question.subscriptions] |
3925 | + ... for person in sorted(people, key=attrgetter('name')): |
3926 | + ... print person.displayname |
3927 | + >>> print_subscribers(firefox_question) |
3928 | + Sample Person |
3929 | + |
3930 | +The question status is 'Open'. |
3931 | + |
3932 | + >>> print firefox_question.status.title |
3933 | + Open |
3934 | + |
3935 | +The question has a creation time. |
3936 | |
3937 | >>> from datetime import datetime, timedelta |
3938 | >>> from pytz import UTC |
3939 | @@ -110,11 +123,10 @@ |
3940 | >>> now - firefox_question.datecreated < timedelta(seconds=5) |
3941 | True |
3942 | |
3943 | -The target onto which the question was created is available through the |
3944 | -'target' attribute: |
3945 | +The target onto which the question was created is also available. |
3946 | |
3947 | - >>> firefox_question.target == firefox |
3948 | - True |
3949 | + >>> print firefox_question.target.displayname |
3950 | + Mozilla Firefox |
3951 | |
3952 | It is also possible to adapt a question to its IQuestionTarget. |
3953 | |
3954 | @@ -163,66 +175,69 @@ |
3955 | firefox |
3956 | |
3957 | |
3958 | -== Subscriptions and Notifications == |
3959 | +Subscriptions and notifications |
3960 | +=============================== |
3961 | |
3962 | Whenever a question is created or changed, email notifications will be |
3963 | -sent. To receive such notification, one can subscribe to the bug using |
3964 | +sent. To receive such notification, one can subscribe to the bug using |
3965 | the subscribe() method. |
3966 | |
3967 | >>> no_priv = getUtility(IPersonSet).getByName('no-priv') |
3968 | >>> subscription = firefox_question.subscribe(no_priv) |
3969 | |
3970 | -The list of subscriptions is available in the subscriptions attribute. |
3971 | -In the current case, the subscribers will include the owner |
3972 | -('Sample Person') and the newly subscribed person. |
3973 | +The subscribers include the owner and the newly subscribed person. |
3974 | |
3975 | - >>> [s.person.displayname for s in firefox_question.subscriptions] |
3976 | - [u'Sample Person', u'No Privileges Person'] |
3977 | + >>> print_subscribers(firefox_question) |
3978 | + Sample Person |
3979 | + No Privileges Person |
3980 | |
3981 | The getDirectSubscribers() method returns a sorted list of subscribers. |
3982 | This method iterates like the NotificationRecipientSet returned by the |
3983 | getDirectRecipients() method. |
3984 | |
3985 | - >>> [person.displayname |
3986 | - ... for person in firefox_question.getDirectSubscribers()] |
3987 | - [u'No Privileges Person', u'Sample Person'] |
3988 | + >>> for person in firefox_question.getDirectSubscribers(): |
3989 | + ... print person.displayname |
3990 | + No Privileges Person |
3991 | + Sample Person |
3992 | |
3993 | To remove a person from the subscriptions list, we use the unsubscribe() |
3994 | method. |
3995 | |
3996 | >>> firefox_question.unsubscribe(no_priv) |
3997 | - >>> [s.person.displayname for s in firefox_question.subscriptions] |
3998 | - [u'Sample Person'] |
3999 | + >>> print_subscribers(firefox_question) |
4000 | + Sample Person |
4001 | |
4002 | -The persons who are on the subscription list are said to be directly |
4003 | -subscribed to the question. They explicitly choose to get notifications |
4004 | -about that particular question. This list of persons is available through |
4005 | -the getDirectRecipients() method. |
4006 | +The people on the subscription list are said to be directly subscribed to the |
4007 | +question. They explicitly chose to get notifications about that particular |
4008 | +question. This list of people is available through the getDirectRecipients() |
4009 | +method. |
4010 | |
4011 | >>> subscribers = firefox_question.getDirectRecipients() |
4012 | |
4013 | That method returns an INotificationRecipientSet, containing the direct |
4014 | -subscribers along the rationale for contacting them: |
4015 | +subscribers along with the rationale for contacting them. |
4016 | |
4017 | >>> from canonical.launchpad.interfaces import INotificationRecipientSet |
4018 | >>> verifyObject(INotificationRecipientSet, subscribers) |
4019 | True |
4020 | - >>> [person.displayname for person in subscribers] |
4021 | - [u'Sample Person'] |
4022 | - >>> subscribers.getReason(sample_person) |
4023 | - ('You received this question notification because you are a direct |
4024 | - subscriber of the question.', 'Subscriber') |
4025 | + >>> def print_reason(subscribers): |
4026 | + ... for person in subscribers: |
4027 | + ... text, header = subscribers.getReason(person) |
4028 | + ... print header, person.displayname, text |
4029 | + >>> print_reason(subscribers) |
4030 | + Subscriber Sample Person You received this question notification |
4031 | + because you are a direct subscriber of the question. |
4032 | |
4033 | -There is also a list of 'indirect' subscribers to the question. These |
4034 | -are persons that didn't explicitly subscribed to the question, but that |
4035 | -will receive notifications for other reason. Answer contacts for the |
4036 | -question target are part of the indirect subscribers list. |
4037 | +There is also a list of 'indirect' subscribers to the question. These are |
4038 | +people that didn't explicitly subscribe to the question, but that will receive |
4039 | +notifications for other reasons. Answer contacts for the question target are |
4040 | +part of the indirect subscribers list. |
4041 | |
4042 | # There are no answer contacts on the firefox product. |
4043 | - >>> [person.displayname |
4044 | - ... for person in firefox_question.getIndirectRecipients()] |
4045 | + >>> list(firefox_question.getIndirectRecipients()) |
4046 | [] |
4047 | - >>> from canonical.launchpad.interfaces import ILanguageSet |
4048 | + |
4049 | + >>> from lp.services.worlddata.interfaces.language import ILanguageSet |
4050 | >>> english = getUtility(ILanguageSet)['en'] |
4051 | >>> no_priv.addLanguage(english) |
4052 | >>> firefox.addAnswerContact(no_priv) |
4053 | @@ -231,16 +246,14 @@ |
4054 | >>> indirect_subscribers = firefox_question.getIndirectRecipients() |
4055 | >>> verifyObject(INotificationRecipientSet, indirect_subscribers) |
4056 | True |
4057 | - >>> [person.displayname for person in indirect_subscribers] |
4058 | - [u'No Privileges Person'] |
4059 | - >>> indirect_subscribers.getReason(no_priv) |
4060 | - (u'You received this question notification because you are an answer |
4061 | - contact for Mozilla Firefox.', |
4062 | - u'Answer Contact (Mozilla Firefox)') |
4063 | + >>> print_reason(indirect_subscribers) |
4064 | + Answer Contact (Mozilla Firefox) No Privileges Person |
4065 | + You received this question notification because you are an answer |
4066 | + contact for Mozilla Firefox. |
4067 | |
4068 | -There is a special case for when the question's is associated to a |
4069 | -source package. The answer contacts for both the distribution and the |
4070 | -source package are part of the indirect subscribers list. |
4071 | +There is a special case for when the question is associated with a source |
4072 | +package. The answer contacts for both the distribution and the source package |
4073 | +are part of the indirect subscribers list. |
4074 | |
4075 | # Let's register some answer contacts for the distribution and |
4076 | # the package. |
4077 | @@ -257,64 +270,80 @@ |
4078 | >>> package_question = evolution_in_ubuntu.newQuestion( |
4079 | ... sample_person, 'Upgrading to Evolution 1.4 breaks plug-ins', |
4080 | ... "The FnordsHighlighter plug-in doesn't work after upgrade.") |
4081 | - >>> [s.person.displayname for s in package_question.subscriptions] |
4082 | - [u'Sample Person'] |
4083 | + |
4084 | + >>> print_subscribers(package_question) |
4085 | + Sample Person |
4086 | + |
4087 | >>> indirect_subscribers = package_question.getIndirectRecipients() |
4088 | - >>> [person.displayname for person in indirect_subscribers] |
4089 | - [u'No Privileges Person', u'Ubuntu Team'] |
4090 | - >>> indirect_subscribers.getReason(ubuntu_team) |
4091 | - (u'You received this question notification because you are a member of |
4092 | - Ubuntu Team, which is an answer contact for Ubuntu.', |
4093 | - u'Answer Contact (ubuntu) @ubuntu-team') |
4094 | - >>> indirect_subscribers.getReason(no_priv) |
4095 | - (u'You received this question notification because you are an answer |
4096 | - contact for evolution in ubuntu.', |
4097 | - u'Answer Contact (evolution in ubuntu)') |
4098 | + >>> for person in indirect_subscribers: |
4099 | + ... print person.displayname |
4100 | + No Privileges Person |
4101 | + Ubuntu Team |
4102 | + |
4103 | + >>> text, header = indirect_subscribers.getReason(ubuntu_team) |
4104 | + >>> print header, text |
4105 | + Answer Contact (ubuntu) @ubuntu-team |
4106 | + You received this question notification because you are a member of |
4107 | + Ubuntu Team, which is an answer contact for Ubuntu. |
4108 | |
4109 | The question's assignee is also part of the indirect subscription list: |
4110 | |
4111 | - >>> login('foo.bar@canonical.com') |
4112 | + >>> login('admin@canonical.com') |
4113 | >>> package_question.assignee = getUtility(IPersonSet).getByName('name16') |
4114 | >>> indirect_subscribers = package_question.getIndirectRecipients() |
4115 | - >>> [person.displayname for person in indirect_subscribers] |
4116 | - [u'Foo Bar', u'No Privileges Person', u'Ubuntu Team'] |
4117 | - >>> indirect_subscribers.getReason(package_question.assignee) |
4118 | - ('You received this question notification because you are the assignee |
4119 | - for this question.', |
4120 | - 'Assignee') |
4121 | + >>> for person in indirect_subscribers: |
4122 | + ... print person.displayname |
4123 | + Foo Bar |
4124 | + No Privileges Person |
4125 | + Ubuntu Team |
4126 | + |
4127 | + >>> text, header = indirect_subscribers.getReason( |
4128 | + ... package_question.assignee) |
4129 | + >>> print header, text |
4130 | + Assignee |
4131 | + You received this question notification because you are the assignee for |
4132 | + this question. |
4133 | |
4134 | The getIndirectSubscribers() method iterates like the getIndirectRecipients() |
4135 | method, but it returns a sorted list instead of a NotificationRecipientSet. |
4136 | It too contains the question assignee. |
4137 | |
4138 | >>> indirect_subscribers = package_question.getIndirectSubscribers() |
4139 | - >>> [person.displayname for person in indirect_subscribers] |
4140 | - [u'Foo Bar', u'No Privileges Person', u'Ubuntu Team'] |
4141 | + >>> for person in indirect_subscribers: |
4142 | + ... print person.displayname |
4143 | + Foo Bar |
4144 | + No Privileges Person |
4145 | + Ubuntu Team |
4146 | |
4147 | -Notifications are sent to the list of direct and indirect subscribers. |
4148 | -The notification recipients list can be obtained by using the |
4149 | -getRecipients() method. |
4150 | +Notifications are sent to the list of direct and indirect subscribers. The |
4151 | +notification recipients list can be obtained by using the getRecipients() |
4152 | +method. |
4153 | |
4154 | >>> login('no-priv@canonical.com') |
4155 | >>> subscribers = firefox_question.getRecipients() |
4156 | >>> verifyObject(INotificationRecipientSet, subscribers) |
4157 | True |
4158 | - >>> [person.displayname for person in subscribers] |
4159 | - [u'No Privileges Person', u'Sample Person'] |
4160 | - |
4161 | -(More documentation on the question notifications can be found in |
4162 | -'answer-tracker-notifications.txt'.) |
4163 | - |
4164 | - |
4165 | -== Workflow == |
4166 | + >>> for person in subscribers: |
4167 | + ... print person.displayname |
4168 | + No Privileges Person |
4169 | + Sample Person |
4170 | + |
4171 | +More documentation on the question notifications can be found in |
4172 | +`answer-tracker-notifications.txt`. |
4173 | + |
4174 | + |
4175 | +Workflow |
4176 | +======== |
4177 | |
4178 | A question status should not be manipulated directly but through the |
4179 | workflow methods. |
4180 | |
4181 | The complete question workflow is documented in |
4182 | -'answer-tracker-workflow.txt'. |
4183 | - |
4184 | -== Bug Linking == |
4185 | +`answer-tracker-workflow.txt`. |
4186 | + |
4187 | + |
4188 | +Bug linking |
4189 | +=========== |
4190 | |
4191 | Question implements the IBugLinkTarget interface which makes it possible |
4192 | to link bug report to question. |
4193 | @@ -323,13 +352,13 @@ |
4194 | >>> verifyObject(IBugLinkTarget, firefox_question) |
4195 | True |
4196 | |
4197 | -(See ../interfaces/ftests/buglinktarget.txt for the documentation and |
4198 | -test of the IBugLinkTarget interface.) |
4199 | - |
4200 | -When a bug is linked to a question, the question's owner is subscribed to |
4201 | -the bug. |
4202 | - |
4203 | - >>> from canonical.launchpad.interfaces import IBugSet |
4204 | +See ../../bugs/tests/buglinktarget.txt for the documentation and test of the |
4205 | +IBugLinkTarget interface. |
4206 | + |
4207 | +When a bug is linked to a question, the question's owner is subscribed to the |
4208 | +bug. |
4209 | + |
4210 | + >>> from lp.bugs.interfaces.bug import IBugSet |
4211 | >>> bug7 = getUtility(IBugSet).get(7) |
4212 | >>> bug7.isSubscribed(firefox_question.owner) |
4213 | False |
4214 | @@ -338,33 +367,34 @@ |
4215 | >>> bug7.isSubscribed(firefox_question.owner) |
4216 | True |
4217 | |
4218 | -When the link is removed, the owner is unsubscribed: |
4219 | +When the link is removed, the owner is unsubscribed. |
4220 | |
4221 | >>> firefox_question.unlinkBug(bug7) |
4222 | <QuestionBug...> |
4223 | >>> bug7.isSubscribed(firefox_question.owner) |
4224 | False |
4225 | |
4226 | -== Unsupported Questions == |
4227 | - |
4228 | -While a Person may ask questions in his language of choice, that does |
4229 | -not mean that indirect subscribers (Answer Contacts) to an |
4230 | -IQuestionTarget speak that language. IQuestionTarget can return a list |
4231 | -Questions in languages that are not supported |
4232 | + |
4233 | +Unsupported questions |
4234 | +===================== |
4235 | + |
4236 | +While a Person may ask questions in his language of choice, that does not mean |
4237 | +that indirect subscribers (Answer Contacts) to an IQuestionTarget speak that |
4238 | +language. IQuestionTarget can return a list Questions in languages that are |
4239 | +not supported. |
4240 | |
4241 | >>> unsupported_questions = firefox.searchQuestions(unsupported=True) |
4242 | - >>> sorted([question.title for question in unsupported_questions]) |
4243 | + >>> sorted(question.title for question in unsupported_questions) |
4244 | [u'Problemas de Impress\xe3o no Firefox'] |
4245 | |
4246 | >>> unsupported_questions = evolution_in_ubuntu.searchQuestions( |
4247 | ... unsupported=True) |
4248 | - >>> sorted([question.title for question in unsupported_questions]) |
4249 | + >>> sorted(question.title for question in unsupported_questions) |
4250 | [] |
4251 | |
4252 | >>> warty_question_target = IQuestionTarget(ubuntu_warty) |
4253 | >>> unsupported_questions = warty_question_target.searchQuestions( |
4254 | ... unsupported=True) |
4255 | - >>> sorted([question.title for question in unsupported_questions]) |
4256 | + >>> sorted(question.title for question in unsupported_questions) |
4257 | [u'Problema al recompilar kernel con soporte smp (doble-n\xfacleo)', |
4258 | u'\u0639\u0643\u0633 \u0627\u0644\u062a\u063a\u064a\u064a\u0631...] |
4259 | - |
4260 | |
4261 | === renamed file 'lib/lp/answers/doc/utility.txt' => 'lib/lp/answers/doc/questionsets.txt' |
4262 | --- lib/lp/answers/doc/utility.txt 2009-03-24 12:43:49 +0000 |
4263 | +++ lib/lp/answers/doc/questionsets.txt 2010-03-04 20:06:42 +0000 |
4264 | @@ -1,69 +1,75 @@ |
4265 | -= Answer Tracker Utility: IQuestionSet = |
4266 | +==================== |
4267 | +Question collections |
4268 | +==================== |
4269 | |
4270 | -There is an IQuestionSet utility that can be use to retrieve and search |
4271 | -for question whatever the target they were created in. |
4272 | +The IQuestionSet utility is used to retrieve and search for questions no |
4273 | +matter which question target they were created for. |
4274 | |
4275 | >>> from canonical.launchpad.webapp.testing import verifyObject |
4276 | - >>> from canonical.launchpad.interfaces import IQuestionSet |
4277 | + >>> from lp.answers.interfaces.questioncollection import IQuestionSet |
4278 | >>> question_set = getUtility(IQuestionSet) |
4279 | >>> verifyObject(IQuestionSet, question_set) |
4280 | True |
4281 | |
4282 | |
4283 | -== get() == |
4284 | +Retrieving questions |
4285 | +==================== |
4286 | |
4287 | -The get() method can be used to get a question with a specific id: |
4288 | +The get() method can be used to retrieve a question with a specific id. |
4289 | |
4290 | >>> question_one = question_set.get(1) |
4291 | - >>> question_one.title |
4292 | - u'Firefox cannot render Bank Site' |
4293 | + >>> print question_one.title |
4294 | + Firefox cannot render Bank Site |
4295 | |
4296 | -If no question exists, a default value is returned: |
4297 | +If no question exists, a default value is returned. |
4298 | |
4299 | >>> default = object() |
4300 | >>> question_nonexistant = question_set.get(123456, default=default) |
4301 | >>> question_nonexistant is default |
4302 | True |
4303 | |
4304 | -If no default value is given, None is returned: |
4305 | - |
4306 | - >>> question_set.get(123456) is None |
4307 | - True |
4308 | - |
4309 | - |
4310 | -== searchQuestions() == |
4311 | - |
4312 | -IQuestionSet also defines a searchQuestions() method that can be used to |
4313 | -search for questions defined in any products or distributions (in fact, |
4314 | -in any context that allows questions to be defined). Two search criteria |
4315 | -are defined search_text and status. |
4316 | - |
4317 | - |
4318 | -=== search_text === |
4319 | - |
4320 | -The search_text parameter will limit the questions to those matching |
4321 | -the query using the regular full text algorithm. |
4322 | - |
4323 | +If no default value is given, None is returned. |
4324 | + |
4325 | + >>> print question_set.get(123456) |
4326 | + None |
4327 | + |
4328 | + |
4329 | +Searching questions |
4330 | +=================== |
4331 | + |
4332 | +The IQuestionSet interface defines a searchQuestions() method that is used to |
4333 | +search for questions defined in any question target. |
4334 | + |
4335 | + |
4336 | +Search text |
4337 | +----------- |
4338 | + |
4339 | +The search_text parameter will return questions matching the query using the |
4340 | +regular full text algorithm. |
4341 | + |
4342 | + # Because not everyone uses a real editor <wink> |
4343 | + >>> from canonical.encoding import ascii_smash |
4344 | >>> for question in question_set.searchQuestions(search_text='firefox'): |
4345 | - ... print repr(question.title), question.target.displayname |
4346 | - u'Problemas de Impress\xe3o no Firefox' Mozilla Firefox |
4347 | - u'Firefox loses focus and gets stuck' Mozilla Firefox |
4348 | - u'Firefox cannot render Bank Site' Mozilla Firefox |
4349 | - u'mailto: problem in webpage' mozilla-firefox in ubuntu |
4350 | - u"Newly installed plug-in doesn't seem to be used" Mozilla Firefox |
4351 | - u'Problem showing the SVG demo on W3C site' Mozilla Firefox |
4352 | - u'\u0639\u0643\u0633 ...' Ubuntu |
4353 | - |
4354 | - |
4355 | -=== status === |
4356 | - |
4357 | -By default, expired and invalid questions are not searched for. The |
4358 | -status parameter can be used to select the questions in the status |
4359 | -you are interested in. |
4360 | - |
4361 | - >>> from canonical.launchpad.interfaces import QuestionStatus |
4362 | + ... print ascii_smash(question.title), question.target.displayname |
4363 | + Problemas de Impressao no Firefox Mozilla Firefox |
4364 | + Firefox loses focus and gets stuck Mozilla Firefox |
4365 | + Firefox cannot render Bank Site Mozilla Firefox |
4366 | + mailto: problem in webpage mozilla-firefox in ubuntu |
4367 | + Newly installed plug-in doesn't seem to be used Mozilla Firefox |
4368 | + Problem showing the SVG demo on W3C site Mozilla Firefox |
4369 | + AINKAFSEEN ALEFLAMTEHGHAINYEHYEHREHALEFTEH ... Ubuntu |
4370 | + |
4371 | + |
4372 | +Status |
4373 | +------ |
4374 | + |
4375 | +By default, expired and invalid questions are not searched for. The status |
4376 | +parameter can be used to select the questions in the status you are interested |
4377 | +in. |
4378 | + |
4379 | + >>> from lp.answers.interfaces.questionenums import QuestionStatus |
4380 | >>> for question in question_set.searchQuestions( |
4381 | - ... status=QuestionStatus.INVALID): |
4382 | + ... status=QuestionStatus.INVALID): |
4383 | ... print question.title, question.status.title, ( |
4384 | ... question.target.displayname) |
4385 | Firefox is slow and consumes too much RAM Invalid mozilla-firefox in ubuntu |
4386 | @@ -78,111 +84,118 @@ |
4387 | Firefox is slow and consumes too much RAM Invalid mozilla-firefox in ubuntu |
4388 | |
4389 | |
4390 | -=== language === |
4391 | +Language |
4392 | +-------- |
4393 | |
4394 | The language parameter can be used to select only questions written in a |
4395 | particular language. |
4396 | |
4397 | - >>> from canonical.launchpad.interfaces import ILanguageSet |
4398 | + >>> from lp.services.worlddata.interfaces.language import ILanguageSet |
4399 | >>> spanish = getUtility(ILanguageSet)['es'] |
4400 | >>> for t in question_set.searchQuestions(language=spanish): |
4401 | - ... print t.title.encode('us-ascii', 'backslashreplace') |
4402 | - Problema al recompilar kernel con soporte smp (doble-n\xfacleo) |
4403 | - |
4404 | -=== Combination === |
4405 | - |
4406 | -The returned sets of questions is the intersection of the sets delimited |
4407 | -by each criteria: |
4408 | + ... print ascii_smash(t.title) |
4409 | + Problema al recompilar kernel con soporte smp (doble-nucleo) |
4410 | + |
4411 | + |
4412 | +Combinations |
4413 | +------------ |
4414 | + |
4415 | +The returned set of questions is the intersection of the sets delimited by |
4416 | +each criteria. |
4417 | |
4418 | >>> for question in question_set.searchQuestions( |
4419 | ... search_text='firefox', |
4420 | - ... status=[QuestionStatus.OPEN, QuestionStatus.INVALID]): |
4421 | - ... print repr(question.title), question.status.title, ( |
4422 | + ... status=(QuestionStatus.OPEN, QuestionStatus.INVALID)): |
4423 | + ... print ascii_smash(question.title), question.status.title, ( |
4424 | ... question.target.displayname) |
4425 | - u'Problemas de Impress\xe3o no Firefox' Open Mozilla Firefox |
4426 | - u'Firefox is slow and consumes too much RAM' Invalid mozilla-firefox in ubuntu |
4427 | - u'Firefox loses focus and gets stuck' Open Mozilla Firefox |
4428 | - u'Firefox cannot render Bank Site' Open Mozilla Firefox |
4429 | - u'Problem showing the SVG demo on W3C site' Open Mozilla Firefox |
4430 | - u'\u0639\u0643\u0633 ...' Open Ubuntu |
4431 | - |
4432 | - |
4433 | -=== Sort Order === |
4434 | - |
4435 | -When using the search_text criteria, the default is to sort the results |
4436 | -by relevancy. One can use the sort parameter to change that. It takes |
4437 | -one of the constant defined in the QuestionSort enumeration. |
4438 | - |
4439 | - >>> from canonical.launchpad.interfaces import QuestionSort |
4440 | + Problemas de Impressao no Firefox Open Mozilla Firefox |
4441 | + Firefox is slow and consumes too much RAM Invalid mozilla-firefox in ubuntu |
4442 | + Firefox loses focus and gets stuck Open Mozilla Firefox |
4443 | + Firefox cannot render Bank Site Open Mozilla Firefox |
4444 | + Problem showing the SVG demo on W3C site Open Mozilla Firefox |
4445 | + AINKAFSEEN ALEFLAMTEHGHAINYEHYEHREHALEFTEH ... Ubuntu |
4446 | + |
4447 | + |
4448 | +Sort order |
4449 | +---------- |
4450 | + |
4451 | +When using the search_text criteria, the default is to sort the results by |
4452 | +relevancy. One can use the sort parameter to change the order. It takes one |
4453 | +of the constant defined in the QuestionSort enumeration. |
4454 | + |
4455 | + >>> from lp.answers.interfaces.questionenums import QuestionSort |
4456 | >>> for question in question_set.searchQuestions( |
4457 | ... search_text='firefox', sort=QuestionSort.OLDEST_FIRST): |
4458 | - ... print question.id, repr(question.title), ( |
4459 | + ... print question.id, ascii_smash(question.title), ( |
4460 | ... question.target.displayname) |
4461 | - 14 u'\u0639\u0643\u0633 ...' Ubuntu |
4462 | - 1 u'Firefox cannot render Bank Site' Mozilla Firefox |
4463 | - 2 u'Problem showing the SVG demo on W3C site' Mozilla Firefox |
4464 | - 4 u'Firefox loses focus and gets stuck' Mozilla Firefox |
4465 | - 6 u"Newly installed plug-in doesn't seem to be used" Mozilla Firefox |
4466 | - 9 u'mailto: problem in webpage' mozilla-firefox in ubuntu |
4467 | - 13 u'Problemas de Impress\xe3o no Firefox' Mozilla Firefox |
4468 | + 14 AINKAFSEEN ALEFLAMTEHGHAINYEHYEHREHALEFTEH ... Ubuntu |
4469 | + 1 Firefox cannot render Bank Site Mozilla Firefox |
4470 | + 2 Problem showing the SVG demo on W3C site Mozilla Firefox |
4471 | + 4 Firefox loses focus and gets stuck Mozilla Firefox |
4472 | + 6 Newly installed plug-in doesn't seem to be used Mozilla Firefox |
4473 | + 9 mailto: problem in webpage mozilla-firefox in ubuntu |
4474 | + 13 Problemas de Impressao no Firefox Mozilla Firefox |
4475 | |
4476 | -When no text search is done, the default sort order is |
4477 | -QuestionSort.NEWEST_FIRST. |
4478 | +When no text search is done, the default sort order is by newest first. |
4479 | |
4480 | >>> for question in question_set.searchQuestions( |
4481 | - ... status=QuestionStatus.OPEN)[:5]: |
4482 | - ... print question.id, repr(question.title), ( |
4483 | + ... status=QuestionStatus.OPEN)[:5]: |
4484 | + ... print question.id, ascii_smash(question.title), ( |
4485 | ... question.target.displayname) |
4486 | - 13 u'Problemas de Impress\xe3o no Firefox' Mozilla Firefox |
4487 | - 12 u'Problema al recompilar kernel con soporte smp (doble-n\xfacleo)' Ubuntu |
4488 | - 11 u'Continue playing after shutdown' Ubuntu |
4489 | - 5 u'Installation failed' Ubuntu |
4490 | - 4 u'Firefox loses focus and gets stuck' Mozilla Firefox |
4491 | - |
4492 | - |
4493 | -== getQuestionLanguages() == |
4494 | + 13 Problemas de Impressao no Firefox Mozilla Firefox |
4495 | + 12 Problema al recompilar kernel con soporte smp (doble-nucleo) Ubuntu |
4496 | + 11 Continue playing after shutdown Ubuntu |
4497 | + 5 Installation failed Ubuntu |
4498 | + 4 Firefox loses focus and gets stuck Mozilla Firefox |
4499 | + |
4500 | + |
4501 | +Question languages |
4502 | +================== |
4503 | |
4504 | The getQuestionLanguages() method returns the set of languages in which |
4505 | -questions are written in Launchpad. |
4506 | - |
4507 | - >>> sorted([language.code |
4508 | - ... for language in question_set.getQuestionLanguages()]) |
4509 | - [u'ar', u'en', u'es', u'pt_BR'] |
4510 | - |
4511 | - |
4512 | -== getActiveProjects() == |
4513 | - |
4514 | -This method can be used to retrieve the projects that are the most |
4515 | -actively using the Answer Tracker in the last 60 days. By active, we |
4516 | -mean that the project is registered as officially using Answers and |
4517 | -had some questions asked in the period. The projects are ordered |
4518 | -by the number of questions asked during the period. |
4519 | - |
4520 | -Sample data should not contain any questions more recent than |
4521 | -two months, so no projects are initially returned: |
4522 | - |
4523 | - >>> for project in question_set.getMostActiveProjects(): |
4524 | - ... print project.displayname |
4525 | - |
4526 | -Create recent questions on a number of projects. |
4527 | - |
4528 | - >>> from lp.answers.testing import ( |
4529 | - ... QuestionFactory) |
4530 | - >>> from canonical.launchpad.interfaces import ( |
4531 | - ... IDistributionSet, ILaunchBag, IProductSet) |
4532 | - >>> ubuntu = getUtility(IDistributionSet).getByName('ubuntu') |
4533 | +questions are written in launchpad. |
4534 | + |
4535 | + >>> print ', '.join( |
4536 | + ... sorted(language.code |
4537 | + ... for language in question_set.getQuestionLanguages())) |
4538 | + ar, en, es, pt_BR |
4539 | + |
4540 | + |
4541 | +Active projects |
4542 | +=============== |
4543 | + |
4544 | +This method can be used to retrieve the projects that are the most actively |
4545 | +using the Answer Tracker in the last 60 days. By active, we mean that the |
4546 | +project is registered as officially using Answers and had some questions asked |
4547 | +in the period. The projects are ordered by the number of questions asked |
4548 | +during the period. |
4549 | + |
4550 | +Initially, no projects are returned. |
4551 | + |
4552 | + >>> list(question_set.getMostActiveProjects()) |
4553 | + [] |
4554 | + |
4555 | +Then some recent questions are created on a number of projects. |
4556 | + |
4557 | + >>> from lp.answers.testing import QuestionFactory |
4558 | + >>> from lp.registry.interfaces.distribution import IDistributionSet |
4559 | + >>> from lp.registry.interfaces.person import IPersonSet |
4560 | + >>> from lp.registry.interfaces.product import IProductSet |
4561 | + |
4562 | >>> firefox = getUtility(IProductSet).getByName('firefox') |
4563 | >>> landscape = getUtility(IProductSet).getByName('landscape') |
4564 | >>> launchpad = getUtility(IProductSet).getByName('launchpad') |
4565 | + >>> no_priv = getUtility(IPersonSet).getByName('no-priv') |
4566 | + >>> ubuntu = getUtility(IDistributionSet).getByName('ubuntu') |
4567 | |
4568 | >>> login('no-priv@canonical.com') |
4569 | - >>> no_priv = getUtility(ILaunchBag).user |
4570 | - >>> QuestionFactory.createManyByProject([ |
4571 | + >>> QuestionFactory.createManyByProject(( |
4572 | ... ('ubuntu', 3), |
4573 | ... ('firefox', 2), |
4574 | - ... ('landscape', 1)]) |
4575 | + ... ('landscape', 1), |
4576 | + ... )) |
4577 | |
4578 | -Create a question just before the time limit on Launchpad. |
4579 | +A question is created just before the time limit on Launchpad. |
4580 | |
4581 | >>> from datetime import datetime, timedelta |
4582 | >>> from pytz import UTC |
4583 | @@ -191,9 +204,9 @@ |
4584 | ... datecreated=datetime.now(UTC) - timedelta(days=61)) |
4585 | >>> login(ANONYMOUS) |
4586 | |
4587 | -The method returns only projects which officially use the Answer |
4588 | -Tracker. The order of the returned projects is based on the number of |
4589 | -questions asked during the period. |
4590 | +The method returns only projects which officially use the Answer Tracker. The |
4591 | +order of the returned projects is based on the number of questions asked |
4592 | +during the period. |
4593 | |
4594 | >>> ubuntu.official_answers |
4595 | True |
4596 | @@ -204,14 +217,13 @@ |
4597 | >>> launchpad.official_answers |
4598 | True |
4599 | |
4600 | + # Launchpad is not returned because the question was not asked in |
4601 | + # the last 60 days. |
4602 | >>> for project in question_set.getMostActiveProjects(): |
4603 | ... print project.displayname |
4604 | Ubuntu |
4605 | Mozilla Firefox |
4606 | |
4607 | -(Launchpad is not returned because the question was not asked in |
4608 | -the last 60 days.) |
4609 | - |
4610 | The method accepts an optional limit parameter limiting the number of |
4611 | project returned: |
4612 | |
4613 | @@ -220,10 +232,11 @@ |
4614 | Ubuntu |
4615 | |
4616 | |
4617 | -== getOpenQuestionCountByPackages() == |
4618 | +Counting the open questions |
4619 | +=========================== |
4620 | |
4621 | -getOpenQuestionCountByPackages() allow you to get the count of open |
4622 | -questions on a set of IDistributionSourcePackage packages. |
4623 | +getOpenQuestionCountByPackages() allow you to get the count of open questions |
4624 | +on a set of IDistributionSourcePackage packages. |
4625 | |
4626 | >>> question_set.getOpenQuestionCountByPackages([]) |
4627 | {} |
4628 | @@ -246,12 +259,10 @@ |
4629 | >>> closed_question.setStatus( |
4630 | ... closed_question.owner, QuestionStatus.SOLVED, 'no comment') |
4631 | <QuestionMessage at ...> |
4632 | - >>> from canonical.launchpad.ftests import syncUpdate |
4633 | - >>> syncUpdate(closed_question) |
4634 | |
4635 | >>> from operator import itemgetter |
4636 | - >>> packages = [ |
4637 | - ... ubuntu_evolution, ubuntu_pmount, debian_evolution, debian_pmount] |
4638 | + >>> packages = ( |
4639 | + ... ubuntu_evolution, ubuntu_pmount, debian_evolution, debian_pmount) |
4640 | >>> package_counts = question_set.getOpenQuestionCountByPackages(packages) |
4641 | >>> len(packages) |
4642 | 4 |
4643 | @@ -263,5 +274,3 @@ |
4644 | pmount (Ubuntu): 4 |
4645 | evolution (Debian): 3 |
4646 | pmount (Debian): 0 |
4647 | - |
4648 | - |
4649 | |
4650 | === modified file 'lib/lp/answers/doc/questiontarget.txt' |
4651 | --- lib/lp/answers/doc/questiontarget.txt 2009-03-24 12:43:49 +0000 |
4652 | +++ lib/lp/answers/doc/questiontarget.txt 2010-03-04 20:06:42 +0000 |
4653 | @@ -1,38 +1,43 @@ |
4654 | -= IQuestionTarget Interface = |
4655 | - |
4656 | -Launchpad includes an answer tracker. Questions are associated to |
4657 | -objects implementing IQuestionTarget. This file documents that interface |
4658 | -and can be used to validate implementation of this interface on a |
4659 | -particular object. (This object is made available through the 'target' |
4660 | -variable which is defined outside of this file, usually by a |
4661 | -LaunchpadFunctionalTestCase. This instance shouldn't have any questions |
4662 | -associated with it at the start of the test.) |
4663 | - |
4664 | +========================= |
4665 | +IQuestionTarget interface |
4666 | +========================= |
4667 | + |
4668 | +Launchpad includes an answer tracker. Questions are associated to objects |
4669 | +implementing IQuestionTarget. |
4670 | + |
4671 | + # An IQuestionTarget object is made available to this test via the |
4672 | + # 'target' variable by the test framework. It won't have any questions |
4673 | + # associated with it at the start of the test. This is done because the |
4674 | + # exact same test applies to all types of question targets: products, |
4675 | + # distributions, and distribution source packages. |
4676 | + # |
4677 | # Some parts of the IQuestionTarget interface are only accessible |
4678 | # to a registered user. |
4679 | >>> login('no-priv@canonical.com') |
4680 | |
4681 | >>> from zope.component import getUtility |
4682 | >>> from zope.interface.verify import verifyObject |
4683 | - >>> from canonical.launchpad.interfaces import IQuestionTarget |
4684 | + >>> from lp.answers.interfaces.questiontarget import IQuestionTarget |
4685 | |
4686 | >>> verifyObject(IQuestionTarget, target) |
4687 | True |
4688 | |
4689 | -== newQuestion() == |
4690 | + |
4691 | +New questions |
4692 | +============= |
4693 | |
4694 | Questions are always owned by a registered user. |
4695 | |
4696 | - >>> from canonical.launchpad.interfaces import IPersonSet |
4697 | + >>> from lp.registry.interfaces.person import IPersonSet |
4698 | >>> sample_person = getUtility(IPersonSet).getByEmail( |
4699 | ... 'test@canonical.com') |
4700 | |
4701 | -The newQuestion() method is used to create question that will be associated |
4702 | -with the target. It takes as parameters the question's owner, title and |
4703 | -description. It also takes an optional parameter 'datecreated' parameter |
4704 | -which defaults to UTC_NOW. |
4705 | +The newQuestion() method is used to create a question that will be associated |
4706 | +with the target. It takes as parameters the question's owner, title and |
4707 | +description. It also takes an optional parameter 'datecreated' which defaults |
4708 | +to UTC_NOW. |
4709 | |
4710 | - # Let's define now to a know value. |
4711 | + # Initialize 'now' to a known value. |
4712 | >>> from datetime import datetime, timedelta |
4713 | >>> from pytz import UTC |
4714 | >>> now = datetime.now(UTC) |
4715 | @@ -43,8 +48,8 @@ |
4716 | New question |
4717 | >>> print question.description |
4718 | Question description |
4719 | - >>> question.owner == sample_person |
4720 | - True |
4721 | + >>> print question.owner.displayname |
4722 | + Sample Person |
4723 | >>> question.datecreated == now |
4724 | True |
4725 | >>> question.datelastquery == now |
4726 | @@ -53,41 +58,44 @@ |
4727 | The created question starts in the 'Open' status and should have the owner |
4728 | subscribed to the question. |
4729 | |
4730 | - >>> question.status.title |
4731 | - 'Open' |
4732 | - |
4733 | - >>> sample_person in [s.person for s in question.subscriptions] |
4734 | - True |
4735 | - |
4736 | -Question can be written in any languages supported in Launchpad. The |
4737 | -language of the request is available in the 'language' attribute. By |
4738 | -default, requests are assumed to be written in English: |
4739 | + >>> print question.status.title |
4740 | + Open |
4741 | + |
4742 | + >>> for subscription in question.subscriptions: |
4743 | + ... print subscription.person.displayname |
4744 | + Sample Person |
4745 | + |
4746 | +Questions can be written in any languages supported in Launchpad. The |
4747 | +language of the request is available in the 'language' attribute. By default, |
4748 | +requests are assumed to be written in English. |
4749 | |
4750 | >>> print question.language.code |
4751 | en |
4752 | |
4753 | -It is possible to create question in another language than English. One |
4754 | -just need to pass the language in which the question is written in the |
4755 | -language parameter. |
4756 | +It is possible to create questions in another language than English, by |
4757 | +passing in the language that the question is written in. |
4758 | |
4759 | - >>> from canonical.launchpad.interfaces import ILanguageSet |
4760 | + >>> from lp.services.worlddata.interfaces.language import ILanguageSet |
4761 | >>> french = getUtility(ILanguageSet)['fr'] |
4762 | - >>> question = target.newQuestion(sample_person, "De l'aide S.V.P.", |
4763 | + >>> question = target.newQuestion( |
4764 | + ... sample_person, "De l'aide S.V.P.", |
4765 | ... "Pouvez-vous m'aider?", language=french, |
4766 | ... datecreated=now + timedelta(seconds=30)) |
4767 | >>> print question.language.code |
4768 | fr |
4769 | |
4770 | -Anonymous users cannot use newQuestion(): |
4771 | +Anonymous users cannot use newQuestion(). |
4772 | |
4773 | >>> login(ANONYMOUS) |
4774 | - >>> question = target.newQuestion(sample_person, 'This will fail', |
4775 | - ... 'Failed?') |
4776 | + >>> question = target.newQuestion( |
4777 | + ... sample_person, 'This will fail', 'Failed?') |
4778 | Traceback (most recent call last): |
4779 | ... |
4780 | Unauthorized... |
4781 | |
4782 | -== getQuestion() == |
4783 | + |
4784 | +Retrieving questions |
4785 | +==================== |
4786 | |
4787 | The getQuestion() method is used to retrieve a question by id for a |
4788 | particular target. |
4789 | @@ -96,19 +104,19 @@ |
4790 | True |
4791 | |
4792 | If you pass in a non-existent id or a question for a different target, the |
4793 | -method must return None. |
4794 | - |
4795 | - >>> target.getQuestion(2) is None |
4796 | - True |
4797 | - >>> target.getQuestion(12345) is None |
4798 | - True |
4799 | - |
4800 | -== Creating some additional questions == |
4801 | - |
4802 | -For the following methods, we will require some more questions. Create five |
4803 | -new questions. Odd questions will be owned by foo_bar and even questions will be |
4804 | -owned by sample_person. |
4805 | - |
4806 | +method returns None. |
4807 | + |
4808 | + >>> print target.getQuestion(2) |
4809 | + None |
4810 | + >>> print target.getQuestion(12345) |
4811 | + None |
4812 | + |
4813 | + |
4814 | +Searching for questions |
4815 | +======================= |
4816 | + |
4817 | + # Create new questions for the following tests. Odd questions will be |
4818 | + # owned by Foo Bar and even questions will be owned by Sample Person. |
4819 | >>> login('no-priv@canonical.com') |
4820 | >>> foo_bar = getUtility(IPersonSet).getByEmail('foo.bar@canonical.com') |
4821 | >>> questions = [] |
4822 | @@ -123,9 +131,8 @@ |
4823 | ... owner, 'Question title%d' % num, description, |
4824 | ... datecreated=now+timedelta(minutes=num+1))) |
4825 | |
4826 | -For more variety, we will set the status of the last to INVALID and the |
4827 | -fourth one to ANSWERED. |
4828 | - |
4829 | + # For more variety, we will set the status of the last to INVALID and the |
4830 | + # fourth one to ANSWERED. |
4831 | >>> login('foo.bar@canonical.com') |
4832 | >>> foo_bar = getUtility(IPersonSet).getByEmail('foo.bar@canonical.com') |
4833 | >>> message = questions[-1].reject( |
4834 | @@ -134,48 +141,44 @@ |
4835 | ... sample_person, 'This is your answer.', |
4836 | ... datecreated=now+timedelta(hours=1)) |
4837 | |
4838 | -Also add a reply from the owner on the first of these. |
4839 | - |
4840 | + # Also add a reply from the owner on the first of these. |
4841 | >>> login('test@canonical.com') |
4842 | >>> message = questions[0].giveInfo( |
4843 | ... 'I think I forgot something.', datecreated=now+timedelta(hours=4)) |
4844 | |
4845 | -And create another one that will also have the word 'new' in its |
4846 | -description. |
4847 | - |
4848 | + # Create another one that will also have the word 'new' in its |
4849 | + # description. |
4850 | >>> question = target.newQuestion(sample_person, 'Another question', |
4851 | ... 'Another new question that is actually very new.', |
4852 | ... datecreated=now+timedelta(hours=1)) |
4853 | >>> login(ANONYMOUS) |
4854 | |
4855 | - # Flush those changes to the database. |
4856 | - >>> from canonical.database.sqlbase import flush_database_updates |
4857 | - >>> flush_database_updates() |
4858 | - |
4859 | -== searchQuestions() == |
4860 | - |
4861 | The searchQuestions() method is used to search for questions. |
4862 | |
4863 | -=== search_text === |
4864 | + |
4865 | +Search text |
4866 | +----------- |
4867 | |
4868 | The search_text parameter will select the questions that contain the |
4869 | -passed in text. (The standard text searching algorithm is used, see |
4870 | -textsearching.txt.) |
4871 | +passed in text. The standard text searching algorithm is used; see |
4872 | +../../../canonical/launchpad/doct/textsearching.txt. |
4873 | |
4874 | >>> for t in target.searchQuestions(search_text='new'): |
4875 | ... print t.title |
4876 | New question |
4877 | Another question |
4878 | |
4879 | -The results here are sorted by relevancy. (In the last questions, 'New' |
4880 | -appeared in the description which makes it less relevant than when the |
4881 | -word appears in the title.) |
4882 | - |
4883 | -=== status === |
4884 | - |
4885 | -The searchQuestions() method can also filter questions by status: |
4886 | - |
4887 | - >>> from canonical.launchpad.interfaces import QuestionStatus |
4888 | +The results are sorted by relevancy. In the last questions, 'New' appeared in |
4889 | +the description which makes it less relevant than when the word appears in the |
4890 | +title. |
4891 | + |
4892 | + |
4893 | +Status |
4894 | +------ |
4895 | + |
4896 | +The searchQuestions() method can also filter questions by status. |
4897 | + |
4898 | + >>> from lp.answers.interfaces.questionenums import QuestionStatus |
4899 | >>> for t in target.searchQuestions(status=QuestionStatus.OPEN): |
4900 | ... print t.title |
4901 | Another question |
4902 | @@ -192,9 +195,9 @@ |
4903 | ... print t.title |
4904 | Question title4 |
4905 | |
4906 | -You can also pass in a list of status, and you can also use the |
4907 | -search_text and status parameters at the same time. This will search |
4908 | -OPEN and INVALID questions with the word 'index' |
4909 | +You can pass in a list of statuses, and you can also use the search_text and |
4910 | +status parameters at the same time. This will search OPEN and INVALID |
4911 | +questions with the word 'index'. |
4912 | |
4913 | >>> for t in target.searchQuestions(search_text='request index', |
4914 | ... status=(QuestionStatus.OPEN, QuestionStatus.INVALID)): |
4915 | @@ -204,29 +207,30 @@ |
4916 | Question title1 |
4917 | Question title0 |
4918 | |
4919 | -=== sort === |
4920 | - |
4921 | -You can control the sort order by passing one of the constants defined |
4922 | -in QuestionSort. (We already saw the NEWEST_FIRST and RELEVANCY sort |
4923 | -order). |
4924 | - |
4925 | -You can sort also from oldest to newest using the OLDEST_FIRST constant: |
4926 | - |
4927 | - >>> from canonical.launchpad.interfaces import QuestionSort |
4928 | - |
4929 | + |
4930 | +Sorting |
4931 | +------- |
4932 | + |
4933 | +You can control the sort order by passing one of the constants defined in |
4934 | +QuestionSort. Previously, we saw the NEWEST_FIRST and RELEVANCY sort order. |
4935 | + |
4936 | +You can sort also from oldest to newest using the OLDEST_FIRST constant. |
4937 | + |
4938 | + >>> from lp.answers.interfaces.questionenums import QuestionSort |
4939 | >>> for t in target.searchQuestions(search_text='new', |
4940 | - ... sort=QuestionSort.OLDEST_FIRST): |
4941 | + ... sort=QuestionSort.OLDEST_FIRST): |
4942 | ... print t.title |
4943 | New question |
4944 | Another question |
4945 | |
4946 | -You can sort by status, (the status order is OPEN, NEEDSINFO, ANSWERED, |
4947 | -SOLVED, EXPIRED, INVALID), this also sorts from newest to oldest as a |
4948 | -secondary key. |
4949 | +You can sort by status (the status order is OPEN, NEEDSINFO, ANSWERED, SOLVED, |
4950 | +EXPIRED, INVALID). This also sorts from newest to oldest as a secondary key. |
4951 | +Here we use status=None to search for all statuses; by default INVALID and |
4952 | +EXPIRED questions are excluded. |
4953 | |
4954 | >>> for t in target.searchQuestions(search_text='request index', |
4955 | - ... status=None, |
4956 | - ... sort=QuestionSort.STATUS): |
4957 | + ... status=None, |
4958 | + ... sort=QuestionSort.STATUS): |
4959 | ... print t.status.title, t.title |
4960 | Open Question title2 |
4961 | Open Question title1 |
4962 | @@ -234,12 +238,11 @@ |
4963 | Answered Question title3 |
4964 | Invalid Question title4 |
4965 | |
4966 | -(In the previous example, we used status=None to search for all |
4967 | -statuses, by default INVALID and EXPIRED questions are excluded.) |
4968 | - |
4969 | If there is no search_text and the requested sort order is RELEVANCY, |
4970 | the questions will be sorted NEWEST_FIRST. |
4971 | |
4972 | + # 'Question title4' is not shown in this case because it has INVALID as |
4973 | + # its status. |
4974 | >>> for t in target.searchQuestions(sort=QuestionSort.RELEVANCY): |
4975 | ... print t.title |
4976 | Another question |
4977 | @@ -250,14 +253,14 @@ |
4978 | De l'aide S.V.P. |
4979 | New question |
4980 | |
4981 | -('Question title4' is not shown in this case because it has INVALID as |
4982 | -its status.) |
4983 | - |
4984 | The RECENT_OWNER_ACTIVITY sort order sorts first questions which recently |
4985 | -received a new message by their owner. (It effectively sorts |
4986 | -descending on the datelastquery attribute.) |
4987 | +received a new message by their owner. It effectively sorts descending on the |
4988 | +datelastquery attribute. |
4989 | |
4990 | - >>> for t in target.searchQuestions(sort=QuestionSort.RECENT_OWNER_ACTIVITY): |
4991 | + # Question title0 sorts first because it has a message from its owner |
4992 | + # after the others were created. |
4993 | + >>> for t in target.searchQuestions( |
4994 | + ... sort=QuestionSort.RECENT_OWNER_ACTIVITY): |
4995 | ... print t.title |
4996 | Question title0 |
4997 | Another question |
4998 | @@ -267,20 +270,20 @@ |
4999 | De l'aide S.V.P. |
5000 | New question |
This branch changes the bug heat calculation so that users affected from duplicates are included like users that are directly affected by a bug.
"make lint" complained about several unused imports, so I removed/changed the "offending" lines.
test: ./bin/test -t test_bugheat
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: bugs/scripts/ bugheat. py bugs/scripts/ tests/test_ bugheat. py ~/canonical/ lp-branches/bug-511240-bug-heat- include- duplicate- bugs$ make lint
configuration :instance_ name=developmen t -c buildout.cfg
lib/lp/
lib/lp/
abel@klato4:
utilities/shhh.py PYTHONPATH= ./bin/buildout \
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: bugs/scripts/ bugheat. py bugs/scripts/ tests/test_ bugheat. py
lib/lp/
lib/lp/