← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~cjwatson/launchpad/db-das-filter into lp:launchpad/db-devel

 

Colin Watson has proposed merging lp:~cjwatson/launchpad/db-das-filter into lp:launchpad/db-devel.

Commit message:
Add DistroArchSeriesFilter table.

Requested reviews:
  Stuart Bishop (stub): db
  Launchpad code reviewers (launchpad-reviewers): db
Related bugs:
  Bug #1842658 in Launchpad itself: "Support central filtering of which packages build for some architectures"
  https://bugs.launchpad.net/launchpad/+bug/1842658

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/db-das-filter/+merge/372260
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/launchpad/db-das-filter into lp:launchpad/db-devel.
=== added file 'database/schema/patch-2210-07-0.sql'
--- database/schema/patch-2210-07-0.sql	1970-01-01 00:00:00 +0000
+++ database/schema/patch-2210-07-0.sql	2019-09-04 13:56:22 +0000
@@ -0,0 +1,28 @@
+-- Copyright 2019 Canonical Ltd.  This software is licensed under the
+-- GNU Affero General Public License version 3 (see the file LICENSE).
+
+SET client_min_messages=ERROR;
+
+CREATE TABLE DistroArchSeriesFilter (
+    id serial PRIMARY KEY,
+    distroarchseries integer NOT NULL REFERENCES distroarchseries,
+    packageset integer NOT NULL REFERENCES packageset,
+    sense integer NOT NULL,
+    creator integer NOT NULL REFERENCES person,
+    date_created timestamp without time zone DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'UTC') NOT NULL,
+    date_last_modified timestamp without time zone DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'UTC') NOT NULL,
+    CONSTRAINT distroarchseriesfilter__distroarchseries__key UNIQUE (distroarchseries)
+);
+
+COMMENT ON TABLE DistroArchSeriesFilter IS 'A filter for packages to be included in or excluded from an architecture in a distro series.';
+COMMENT ON COLUMN DistroArchSeriesFilter.distroarchseries IS 'The distro arch series that this filter is for.';
+COMMENT ON COLUMN DistroArchSeriesFilter.packageset IS 'The package set to be included in or excluded from this distro arch series.';
+COMMENT ON COLUMN DistroArchSeriesFilter.sense IS 'Whether the filter represents packages to include or exclude from the distro arch series.';
+COMMENT ON COLUMN DistroArchSeriesFilter.creator IS 'The user who created this filter.';
+COMMENT ON COLUMN DistroArchSeriesFilter.date_created IS 'The time when this filter was created.';
+COMMENT ON COLUMN DistroArchSeriesFilter.date_last_modified IS 'The time when this filter was last modified.';
+
+CREATE INDEX distroarchseriesfilter__packageset__idx
+    ON DistroArchSeriesFilter (packageset);
+
+INSERT INTO LaunchpadDatabaseRevision VALUES (2210, 07, 0);

=== modified file 'database/schema/security.cfg'
--- database/schema/security.cfg	2019-08-09 12:04:04 +0000
+++ database/schema/security.cfg	2019-09-04 13:56:22 +0000
@@ -176,6 +176,7 @@
 public.distributionmirror               = SELECT, INSERT, UPDATE, DELETE
 public.distributionsourcepackage        = SELECT, INSERT, UPDATE, DELETE
 public.distributionsourcepackagecache   = SELECT, INSERT
+public.distroarchseriesfilter           = SELECT, INSERT, UPDATE, DELETE
 public.distroseriesdifference           = SELECT, INSERT, UPDATE
 public.distroseriesdifferencemessage    = SELECT, INSERT, UPDATE
 public.distroserieslanguage             = SELECT, INSERT, UPDATE
@@ -2221,6 +2222,7 @@
 public.distributionsourcepackage        = SELECT, INSERT, UPDATE, DELETE
 public.distributionmirror               = SELECT, UPDATE
 public.distroarchseries                 = SELECT, UPDATE
+public.distroarchseriesfilter           = SELECT, UPDATE
 public.distroseries                     = SELECT, UPDATE
 public.emailaddress                     = SELECT, UPDATE, DELETE
 public.faq                              = SELECT, UPDATE
@@ -2356,6 +2358,7 @@
 public.commercialsubscription           = SELECT, UPDATE
 public.diff                             = SELECT, DELETE
 public.distributionsourcepackagecache   = SELECT, INSERT
+public.distroarchseriesfilter           = SELECT
 public.distroseries                     = SELECT, UPDATE
 public.emailaddress                     = SELECT, UPDATE, DELETE
 public.garbojobstate                    = SELECT, INSERT, UPDATE, DELETE