Mercurial > ~dholland > hg > swallowtail > index.cgi
diff database/schema/bugs.sql @ 8:68cc276ac118
SQL material from old tree, split up for accessibility.
author | David A. Holland |
---|---|
date | Sun, 19 Feb 2012 19:54:48 -0500 |
parents | |
children | 1720f45dd495 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/database/schema/bugs.sql Sun Feb 19 19:54:48 2012 -0500 @@ -0,0 +1,86 @@ +-- +-- PR data. +-- +-- PRs is the primary table of bug info, with one row per problem +-- report. +-- + +CREATE SEQUENCE next_PR; + +CREATE TABLE PRs ( + id bigint primary key default nextval('next_PR'), + + -- basic description + synopsis text not null, + confidential boolean not null, + + -- states + -- + -- there are 64 combinations but only these 15 are valid: + -- (un)locked closed ("closed") + -- (un)locked closed analyzed ("closed") + -- (un)locked closed invalid ("dead") + -- unlocked open ("open") + -- unlocked open analyzed ("analyzed") + -- unlocked open analyzed? feedback ("feedback") + -- unlocked open analyzed? suspended ("suspended") + -- unlocked open analyzed? feedback suspended ("stuck") + -- unlocked open invalid feedback ("incomplete") + -- + -- gnats states map to: open inval. anal. feedb. susp. + -- open open + -- analyzed open analyzed + -- feedback open feedback + -- (pullups-needed) open (*) + -- pending-pullups open (*) + -- suspended open analyzed suspended + -- (stuck) open feedback suspended + -- closed - + -- dead invalid + -- + -- The cases marked (*) are distinguished from open by the + -- branchstate in the relevance table. + + locked boolean not null, -- deny modifications + open boolean not null, -- master switch + + invalid boolean not null, -- report is no good + analyzed boolean not null, -- issue is believed understood + feedback boolean not null, -- feedback required + suspended boolean not null, -- work halted + + -- feedback and suspended imply open + check NOT (NOT open AND (feedback OR suspended)), + -- invalid precludes analyzed and suspended + check NOT (invalid AND (analyzed OR suspended)), + -- open and invalid implies feedback + check NOT (NOT feedback AND open AND invalid), + -- locked implies not open + check NOT (open AND locked), + + -- fixed-size history + arrival_schemaversion int not null, + arrival_date date not null, + closed_date date , + + -- original submitter + originator bigint references users (id), + + -- original submission + -- we don't keep this as such - these items go into an + -- entry in the admin log instead, and the submitter is + -- automatically subscribed to the bug. + -- "Submitted by joe@schmoe, Message-Id <3@schmoe>, Subject: foo" + --from_address text not null, + --mail_subject text not null, + --mail_msgid text not null, + + -- contents + release text , + environment text , + description text , + how_to_repeat text , + fix text , + unformatted text + +) without oids;