]> git.donarmstrong.com Git - debbugs.git/commitdiff
Merge branch 'mouseify'
authorDon Armstrong <don@donarmstrong.com>
Sat, 6 Jul 2019 04:01:33 +0000 (21:01 -0700)
committerDon Armstrong <don@donarmstrong.com>
Sat, 6 Jul 2019 04:01:33 +0000 (21:01 -0700)
1  2 
Debbugs/CGI.pm
Debbugs/DB/Result/BinPkg.pm
Debbugs/DB/Result/BugBinpackage.pm
Debbugs/DB/Result/BugStatus.pm
Debbugs/DB/Result/SrcPkg.pm
cgi/pkgreport.cgi
sql/debbugs_schema.sql

diff --cc Debbugs/CGI.pm
Simple merge
index eb4002ff3b28880e0f97db5787c58e4915d3838b,22b4e5802ee29f4126f480fd0c569974c6f84b44..0e0c554773b7d211f24e82e82befe1a07f38adf0
@@@ -156,8 -156,8 +156,8 @@@ __PACKAGE__->has_many
  );
  
  
- # Created by DBIx::Class::Schema::Loader v0.07048 @ 2018-04-18 16:55:56
- # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Uoaf3KzTvRYIf33q7tBnZw
 -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-01-01 17:29:32
 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4DCmbmHyVSpW1I9vmDz3UA
++# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-07-05 20:56:47
++# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VH/9QrwjZx0r7FLaEWGYMg
  
  
  # You can replace this text with custom code or comments, and it will be preserved on regeneration
index f4a757c2e09681025922313c9d5226fe9feac9df,68a1137fa3ac16b9fb1169585d16f22f7f458ec6..2f2a29d54b9bfc84ca39ae410cb036faaf17eb50
@@@ -125,8 -125,8 +125,8 @@@ __PACKAGE__->belongs_to
  );
  
  
- # Created by DBIx::Class::Schema::Loader v0.07048 @ 2018-04-20 10:29:04
- # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PJ2U+jVEO2uKfwgCYtho1A
 -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-01-01 17:29:32
 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gEYqmJfiJJtRYFzIYut3Fg
++# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-07-05 21:00:23
++# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:STaqCap5Dk4AORK6ghGnPg
  
  
  sub sqlt_deploy_hook {
index 0f33b4e47a04418872a99418d7e4302f0f76dc44,33fc5778b93f355844a6f0c43e46aa1096a87d1e..ee3efc8bad565b44fae8ef7b454b938b20b623ab
@@@ -35,7 -35,7 +35,7 @@@ __PACKAGE__->table_class("DBIx::Class::
  =cut
  
  __PACKAGE__->table("bug_status");
- __PACKAGE__->result_source_instance->view_definition(" SELECT b.id,\n    b.id AS bug_num,\n    string_agg(t.tag, ','::text) AS tags,\n    b.subject,\n    ( SELECT s.severity\n           FROM severity s\n          WHERE (s.id = b.severity)) AS severity,\n    ( SELECT string_agg(package.package, ','::text ORDER BY package.package) AS string_agg\n           FROM ( SELECT bp.pkg AS package\n                   FROM (bug_binpackage bbp\n                     JOIN bin_pkg bp ON ((bbp.bin_pkg = bp.id)))\n                  WHERE (bbp.bug = b.id)\n                UNION\n                 SELECT concat('src:', sp.pkg) AS package\n                   FROM (bug_srcpackage bsp\n                     JOIN src_pkg sp ON ((bsp.src_pkg = sp.id)))\n                  WHERE (bsp.bug = b.id)) package) AS package,\n    ( SELECT string_agg(affects.affects, ','::text ORDER BY affects.affects) AS string_agg\n           FROM ( SELECT bp.pkg AS affects\n                   FROM (bug_affects_binpackage bbp\n                     JOIN bin_pkg bp ON ((bbp.bin_pkg = bp.id)))\n                  WHERE (bbp.bug = b.id)\n                UNION\n                 SELECT concat('src:', sp.pkg) AS affects\n                   FROM (bug_affects_srcpackage bsp\n                     JOIN src_pkg sp ON ((bsp.src_pkg = sp.id)))\n                  WHERE (bsp.bug = b.id)) affects) AS affects,\n    b.submitter_full AS originator,\n    date_part('epoch'::text, b.log_modified) AS log_modified,\n    date_part('epoch'::text, b.creation) AS date,\n    date_part('epoch'::text, b.last_modified) AS last_modified,\n    b.done_full AS done,\n    string_agg((bb.blocks)::text, ' '::text ORDER BY bb.blocks) AS blocks,\n    string_agg((bbb.bug)::text, ' '::text ORDER BY bbb.bug) AS blockedby,\n    ( SELECT string_agg((bug.bug)::text, ' '::text ORDER BY bug.bug) AS string_agg\n           FROM ( SELECT bm.merged AS bug\n                   FROM bug_merged bm\n                  WHERE (bm.bug = b.id)\n                UNION\n                 SELECT bm.bug\n                   FROM bug_merged bm\n                  WHERE (bm.merged = b.id)) bug) AS mergedwith,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS TRUE))) AS found_versions,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS FALSE))) AS fixed_versions\n   FROM ((((bug b\n     LEFT JOIN bug_tag bt ON ((bt.bug = b.id)))\n     LEFT JOIN tag t ON ((bt.tag = t.id)))\n     LEFT JOIN bug_blocks bb ON ((bb.bug = b.id)))\n     LEFT JOIN bug_blocks bbb ON ((bbb.blocks = b.id)))\n  GROUP BY b.id");
 -__PACKAGE__->result_source_instance->view_definition(" SELECT b.id,\n    b.id AS bug_num,\n    string_agg(t.tag, ','::text) AS tags,\n    b.subject,\n    ( SELECT s.severity\n           FROM severity s\n          WHERE (s.id = b.severity)) AS severity,\n    ( SELECT string_agg(package.package, ','::text ORDER BY package.package) AS string_agg\n           FROM ( SELECT bp.pkg AS package\n                   FROM (bug_binpackage bbp\n                     JOIN bin_pkg bp ON ((bbp.bin_pkg = bp.id)))\n                  WHERE (bbp.bug = b.id)\n                UNION\n                 SELECT concat('src:', sp.pkg) AS package\n                   FROM (bug_srcpackage bsp\n                     JOIN src_pkg sp ON ((bsp.src_pkg = sp.id)))\n                  WHERE (bsp.bug = b.id)) package) AS package,\n    ( SELECT m.msgid\n           FROM (message m\n             LEFT JOIN bug_message bm ON ((bm.message = m.id)))\n          WHERE (bm.bug = b.id)\n          ORDER BY m.sent_date\n         LIMIT 1) AS message_id,\n    b.submitter_full AS originator,\n    date_part('epoch'::text, b.log_modified) AS log_modified,\n    date_part('epoch'::text, b.creation) AS date,\n    date_part('epoch'::text, b.last_modified) AS last_modified,\n    b.done_full AS done,\n    string_agg((bb.blocks)::text, ' '::text ORDER BY bb.blocks) AS blocks,\n    string_agg((bbb.bug)::text, ' '::text ORDER BY bbb.bug) AS blockedby,\n    ( SELECT string_agg((bug.bug)::text, ' '::text ORDER BY bug.bug) AS string_agg\n           FROM ( SELECT bm.merged AS bug\n                   FROM bug_merged bm\n                  WHERE (bm.bug = b.id)\n                UNION\n                 SELECT bm.bug\n                   FROM bug_merged bm\n                  WHERE (bm.merged = b.id)) bug) AS mergedwith,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS TRUE))) AS found_versions,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS FALSE))) AS fixed_versions\n   FROM ((((bug b\n     LEFT JOIN bug_tag bt ON ((bt.bug = b.id)))\n     LEFT JOIN tag t ON ((bt.tag = t.id)))\n     LEFT JOIN bug_blocks bb ON ((bb.bug = b.id)))\n     LEFT JOIN bug_blocks bbb ON ((bbb.blocks = b.id)))\n  GROUP BY b.id");
++__PACKAGE__->result_source_instance->view_definition(" SELECT b.id,\n    b.id AS bug_num,\n    string_agg(t.tag, ','::text) AS tags,\n    b.subject,\n    ( SELECT s.severity\n           FROM severity s\n          WHERE (s.id = b.severity)) AS severity,\n    ( SELECT string_agg(package.package, ','::text ORDER BY package.package) AS string_agg\n           FROM ( SELECT bp.pkg AS package\n                   FROM (bug_binpackage bbp\n                     JOIN bin_pkg bp ON ((bbp.bin_pkg = bp.id)))\n                  WHERE (bbp.bug = b.id)\n                UNION\n                 SELECT concat('src:', sp.pkg) AS package\n                   FROM (bug_srcpackage bsp\n                     JOIN src_pkg sp ON ((bsp.src_pkg = sp.id)))\n                  WHERE (bsp.bug = b.id)) package) AS package,\n    ( SELECT string_agg(affects.affects, ','::text ORDER BY affects.affects) AS string_agg\n           FROM ( SELECT bp.pkg AS affects\n                   FROM (bug_affects_binpackage bbp\n                     JOIN bin_pkg bp ON ((bbp.bin_pkg = bp.id)))\n                  WHERE (bbp.bug = b.id)\n                UNION\n                 SELECT concat('src:', sp.pkg) AS affects\n                   FROM (bug_affects_srcpackage bsp\n                     JOIN src_pkg sp ON ((bsp.src_pkg = sp.id)))\n                  WHERE (bsp.bug = b.id)) affects) AS affects,\n    ( SELECT m.msgid\n           FROM (message m\n             LEFT JOIN bug_message bm ON ((bm.message = m.id)))\n          WHERE (bm.bug = b.id)\n          ORDER BY m.sent_date\n         LIMIT 1) AS message_id,\n    b.submitter_full AS originator,\n    date_part('epoch'::text, b.log_modified) AS log_modified,\n    date_part('epoch'::text, b.creation) AS date,\n    date_part('epoch'::text, b.last_modified) AS last_modified,\n    b.done_full AS done,\n    string_agg((bb.blocks)::text, ' '::text ORDER BY bb.blocks) AS blocks,\n    string_agg((bbb.bug)::text, ' '::text ORDER BY bbb.bug) AS blockedby,\n    ( SELECT string_agg((bug.bug)::text, ' '::text ORDER BY bug.bug) AS string_agg\n           FROM ( SELECT bm.merged AS bug\n                   FROM bug_merged bm\n                  WHERE (bm.bug = b.id)\n                UNION\n                 SELECT bm.bug\n                   FROM bug_merged bm\n                  WHERE (bm.merged = b.id)) bug) AS mergedwith,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS TRUE))) AS found_versions,\n    ( SELECT string_agg(bv.ver_string, ' '::text) AS string_agg\n           FROM bug_ver bv\n          WHERE ((bv.bug = b.id) AND (bv.found IS FALSE))) AS fixed_versions\n   FROM ((((bug b\n     LEFT JOIN bug_tag bt ON ((bt.bug = b.id)))\n     LEFT JOIN tag t ON ((bt.tag = t.id)))\n     LEFT JOIN bug_blocks bb ON ((bb.bug = b.id)))\n     LEFT JOIN bug_blocks bbb ON ((bbb.blocks = b.id)))\n  GROUP BY b.id");
  
  =head1 ACCESSORS
  
    data_type: 'text'
    is_nullable: 1
  
 +=head2 affects
 +
 +  data_type: 'text'
 +  is_nullable: 1
 +
+ =head2 message_id
+   data_type: 'text'
+   is_nullable: 1
  =head2 originator
  
    data_type: 'text'
@@@ -139,8 -139,8 +144,10 @@@ __PACKAGE__->add_columns
    { data_type => "text", is_nullable => 1 },
    "package",
    { data_type => "text", is_nullable => 1 },
 +  "affects",
 +  { data_type => "text", is_nullable => 1 },
+   "message_id",
+   { data_type => "text", is_nullable => 1 },
    "originator",
    { data_type => "text", is_nullable => 1 },
    "log_modified",
  );
  
  
- # Created by DBIx::Class::Schema::Loader v0.07048 @ 2018-04-20 10:29:04
- # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OPfPxXCqSaz2OeYsZqilAg
 -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-01-01 17:29:32
 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:AyAg7ebutkuSQCQJDyfa4A
++# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-07-05 20:55:00
++# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xkAEshcLIPrG/6hoRbSsrw
  
  
  # You can replace this text with custom code or comments, and it will be preserved on regeneration
index 76b710d9d9c574533224fb225de90e108e6d644a,acd5a0dc82f0651b9012eb92659e3ea7edf4e7b3..26e56a49006aa5219e80d8bf8a14e8497fb07611
@@@ -274,8 -274,8 +274,8 @@@ __PACKAGE__->has_many
  );
  
  
- # Created by DBIx::Class::Schema::Loader v0.07048 @ 2018-04-18 16:55:56
- # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fMMA9wnkPIdT5eiUIkLxqg
 -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-01-01 17:29:32
 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yiCFtO7j409+ZPBejeWitQ
++# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-07-05 20:56:47
++# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:G2uhLQ7coWRoAHFiDkF5cQ
  
  
  sub sqlt_deploy_hook {
Simple merge
index 3eaeee69fa70ab60568489733acf84e3fe96d086,5e375949ad64949c970b1702a193b7efd86ea6da..3a75bac8b3b7af8767e3349461fd45c347535954
@@@ -406,6 -338,6 +406,7 @@@ CREATE TABLE bug_binpackage 
         bin_pkg INT NOT NULL REFERENCES bin_pkg ON UPDATE CASCADE ON DELETE CASCADE
  );
  CREATE UNIQUE INDEX bug_binpackage_id_pkg ON bug_binpackage(bug,bin_pkg);
++CREATE UNIQUE INDEX bug_binpackage_bin_pkg_bug_idx ON bug_binpackage(bin_pkg,bug);
  INSERT INTO table_comments VALUES ('bug_binpackage','Bug <-> binary package mapping');
  INSERT INTO column_comments VALUES ('bug_binpackage','bug','Bug id (matches bug)');
  INSERT INTO column_comments VALUES ('bug_binpackage','bin_pkg','Binary package id (matches bin_pkg)');
@@@ -641,17 -573,8 +642,19 @@@ CREATE VIEW bug_status --(id,bug_num,ta
                     JOIN src_pkg sp ON bsp.src_pkg=sp.id
                       WHERE bsp.bug=b.id) AS package
          ) AS package,
 +       (SELECT string_agg(affects.affects,',' ORDER BY affects)
 +        FROM (SELECT bp.pkg AS affects
 +                   FROM bug_affects_binpackage bbp
 +                     JOIN bin_pkg bp ON bbp.bin_pkg=bp.id
 +                     WHERE bbp.bug=b.id
 +            UNION
 +            SELECT CONCAT('src:',sp.pkg) AS affects
 +                   FROM bug_affects_srcpackage bsp
 +                   JOIN src_pkg sp ON bsp.src_pkg=sp.id
 +                     WHERE bsp.bug=b.id) AS affects
 +        ) AS affects,
+       (SELECT msgid FROM message m LEFT JOIN bug_message bm ON bm.message=m.id
+               WHERE bm.bug=b.id ORDER BY m.sent_date ASC limit 1) AS message_id,
        b.submitter_full AS originator,
        EXTRACT(EPOCH FROM b.log_modified) AS log_modified,
        EXTRACT(EPOCH FROM b.creation) AS date,