]> git.donarmstrong.com Git - debbugs.git/blobdiff - sql/debbugs_schema.sql
use CGI::Simple->new()
[debbugs.git] / sql / debbugs_schema.sql
index c091a6e5396d971aa76d54dc0fe0038b4b1eda7f..5e375949ad64949c970b1702a193b7efd86ea6da 100644 (file)
@@ -1,4 +1,4 @@
-
+-- -*- mode: sql; sql-product: postgres; -*-
 DROP TABLE bug_status_cache CASCADE;
 DROP VIEW bug_package CASCADE;
 DROP VIEW binary_versions CASCADE;
@@ -443,7 +443,10 @@ CREATE TABLE bug_status_cache (
        modified TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL,
        asof TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL
 );
-CREATE UNIQUE INDEX bug_status_cache_bug_suite_arch_idx ON bug_status_cache(bug,suite,arch);
+CREATE UNIQUE INDEX bug_status_cache_bug_suite_arch_idx ON
+       bug_status_cache(bug,suite,arch);
+CREATE UNIQUE INDEX bug_status_cache_bug_col_suite_col_arch_idx ON
+       bug_status_cache(bug,COALESCE(suite,0),COALESCE(arch,0));
 CREATE INDEX bug_status_cache_idx_bug ON bug_status_cache(bug);
 CREATE INDEX bug_status_cache_idx_status ON bug_status_cache(status);
 CREATE INDEX bug_status_cache_idx_arch ON bug_status_cache(arch);
@@ -570,10 +573,12 @@ CREATE VIEW bug_status --(id,bug_num,tags,subject,
                     JOIN src_pkg sp ON bsp.src_pkg=sp.id
                      WHERE bsp.bug=b.id) AS package
         ) AS package,
+       (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,
-       b.log_modified AS log_modified,
-       b.creation AS date,
-       b.last_modified AS last_modified,
+       EXTRACT(EPOCH FROM b.log_modified) AS log_modified,
+       EXTRACT(EPOCH FROM b.creation) AS date,
+       EXTRACT(EPOCH FROM b.last_modified) AS last_modified,
        b.done_full AS done,
        string_agg(bb.blocks::text,' ' ORDER BY bb.blocks) AS blocks,
        string_agg(bbb.bug::text,' ' ORDER BY bbb.bug) AS blockedby,