--- Fix up after population off the database...
+-- Fix up after population of the database...
-- First of all readd the constraints (takes ~1:30 on auric)
ALTER TABLE src_associations ADD CONSTRAINT src_associations_suite FOREIGN KEY (suite) REFERENCES suite(id) MATCH FULL;
ALTER TABLE src_associations ADD CONSTRAINT src_associations_source FOREIGN KEY (source) REFERENCES source(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_suite FOREIGN KEY (suite) REFERENCES suite(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_component FOREIGN KEY (component) REFERENCES component(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_priority FOREIGN KEY (priority) REFERENCES priority(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_section FOREIGN KEY (section) REFERENCES section(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_type FOREIGN KEY (type) REFERENCES override_type(id) MATCH FULL;
+
-- Then correct all the id SERIAL PRIMARY KEY columns...
CREATE FUNCTION files_id_max() RETURNS INT4
CREATE FUNCTION bin_associations_id_max() RETURNS INT4
AS 'SELECT max(id) FROM bin_associations'
LANGUAGE 'sql';
+CREATE FUNCTION section_id_max() RETURNS INT4
+ AS 'SELECT max(id) FROM section'
+ LANGUAGE 'sql';
+CREATE FUNCTION priority_id_max() RETURNS INT4
+ AS 'SELECT max(id) FROM priority'
+ LANGUAGE 'sql';
+CREATE FUNCTION override_type_id_max() RETURNS INT4
+ AS 'SELECT max(id) FROM override_type'
+ LANGUAGE 'sql';
SELECT setval('files_id_seq', files_id_max());
SELECT setval('source_id_seq', source_id_max());
SELECT setval('dsc_files_id_seq', dsc_files_id_max());
SELECT setval('binaries_id_seq', binaries_id_max());
SELECT setval('bin_associations_id_seq', bin_associations_id_max());
+SELECT setval('section_id_seq', section_id_max());
+SELECT setval('priority_id_seq', priority_id_max());
+SELECT setval('override_type_id_seq', override_type_id_max());
-- Vacuum the tables for efficency
VACUUM suite_architectures;
VACUUM bin_associations;
VACUUM src_associations;
+VACUUM section;
+VACUUM priority;
+VACUUM override_type;
+VACUUM override;
-- FIXME: has to be a better way to do this
GRANT ALL ON
source INT4 NOT NULL, -- REFERENCES source
unique (suite, source)
);
+
+CREATE TABLE section (
+ id SERIAL PRIMARY KEY,
+ section TEXT UNIQUE NOT NULL
+);
+
+CREATE TABLE priority (
+ id SERIAL PRIMARY KEY,
+ priority TEXT UNIQUE NOT NULL,
+ level INT4 UNIQUE NOT NULL
+);
+
+CREATE TABLE override_type (
+ id SERIAL PRIMARY KEY,
+ type TEXT UNIQUE NOT NULL
+);
+
+CREATE TABLE override (
+ package TEXT NOT NULL,
+ suite INT4 NOT NULL, -- references suite
+ component INT4 NOT NULL, -- references component
+ priority INT4, -- references priority
+ section INT4 NOT NULL, -- references section
+ type INT4 NOT NULL, -- references override_type
+ maintainer TEXT,
+ unique (suite, component, package, type)
+);