view database/schema/bugs.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 d4c3bd255653
line wrap: on
line source

--
-- 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
	state text		not null references states (name);
	locked boolean		not null,	-- deny modifications

	-- intended constraint:
	-- select * from PRs, states where PRs.state = states.name
	--    and states.closed = false and PRs.locked = true
	-- should always return empty.
	-- (no PR should be locked unless it is closed)

	-- 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;