view database/schema/config.sql @ 10:1720f45dd495

Replace insane handling of states with something more likely workable.
author David A. Holland
date Sun, 19 Feb 2012 20:21:51 -0500
parents 68cc276ac118
children d42c0db81e28
line wrap: on
line source

--
-- These tables record the allowable values for the various
-- enumerated settings.
--
-- Each entry has the value string (the name), a description field,
-- and a flag to mark the entry obsolete. Obsolete values are still
-- allowed to exist in the database, but new uses are not permitted.
--

-- Severity ratings of bugs
CREATE TABLE severities (
	name text		primary key,
	obsolete boolean	not null,
	description text
)
WITHOUT OIDS;

-- Priority ratings of bugs
CREATE TABLE priorities (
	name text		primary key,
	obsolete boolean	not null,
	description text
)
WITHOUT OIDS;

-- Types of bugs (sw-bug, doc-bug, etc.)
CREATE TABLE classes (
	name text		primary key,
	obsolete boolean	not null,
	description text
) WITHOUT OIDS;

-- Categories of bugs (bin, kern, pkg, etc.)
CREATE TABLE categories (
	name text		primary key,
	obsolete boolean	not null,
	description text	
) WITHOUT OIDS;

-- States of bugs
--
-- The additional booleans govern the semantics of the defined states.
--    closed		resolved (one way or another)
--    nagresponsible	the "responsible" users should get nag-mail
--    nagsubmitter	the "submitter" users should get nag-mail
--
-- It is reasonable for multiple states to have the same settings;
-- such states presumably mean different things in ways the database
-- doesn't need to know about.
--
-- For example: "open" might be defined as
--     ("open", false, "bug is unresolved", false, true, false)
-- and "feedback" as
--     ("feedback", false, "awaiting submitter feedback", false, false, true)
--
CREATE TABLE states (
       name text		primary key,
       obsolete boolean		not null,
       description text		,
       closed boolean		not null,
       nagresponsible boolean	not null,
       nagsubmitter boolean	not null
) WITHOUT OIDS;