X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=init_pool.sql;h=0e5658dfd0b50c7b2530e0684aee34ac49383aee;hb=e0b8c1b28a727fa524933497011a7aa6039e8561;hp=5116f7e7cf498eb245a1eed55426104a1852cb8a;hpb=1d485ddb6826f2b3be65a9df5d8684ef699db46a;p=dak.git diff --git a/init_pool.sql b/init_pool.sql index 5116f7e7..0e5658df 100644 --- a/init_pool.sql +++ b/init_pool.sql @@ -24,10 +24,15 @@ CREATE TABLE architecture ( ); CREATE TABLE maintainer ( - id SERIAL PRIMARY KEY, + id SERIAL PRIMARY KEY, name TEXT UNIQUE NOT NULL ); +CREATE TABLE fingerprint ( + id SERIAL PRIMARY KEY, + fingerprint TEXT UNIQUE NOT NULL +); + CREATE TABLE location ( id SERIAL PRIMARY KEY, path TEXT NOT NULL, @@ -54,6 +59,8 @@ CREATE TABLE source ( version TEXT NOT NULL, maintainer INT4 NOT NULL, -- REFERENCES maintainer file INT4 UNIQUE NOT NULL, -- REFERENCES files + install_date TIMESTAMP NOT NULL, + sig_fpr INT4 NOT NULL, -- REFERENCES fingerprint unique (source, version) ); @@ -74,25 +81,26 @@ CREATE TABLE binaries ( file INT4 UNIQUE NOT NULL, -- REFERENCES files, type TEXT NOT NULL, -- joeyh@ doesn't want .udebs and .debs with the same name, which is why the unique () doesn't mention type + sig_fpr INT4 NOT NULL, -- REFERENCES fingerprint unique (package, version, architecture) ); CREATE TABLE suite ( id SERIAL PRIMARY KEY, suite_name TEXT NOT NULL, - version TEXT NOT NULL, + version TEXT, origin TEXT, label TEXT, policy_engine TEXT, description TEXT ); - + CREATE TABLE suite_architectures ( suite INT4 NOT NULL, -- REFERENCES suite architecture INT4 NOT NULL, -- REFERENCES architecture unique (suite, architecture) ); - + CREATE TABLE bin_associations ( id SERIAL PRIMARY KEY, suite INT4 NOT NULL, -- REFERENCES suite @@ -124,7 +132,7 @@ CREATE TABLE override_type ( ); CREATE TABLE override ( - package TEXT NOT NULL, + package TEXT NOT NULL, suite INT4 NOT NULL, -- references suite component INT4 NOT NULL, -- references component priority INT4, -- references priority @@ -133,3 +141,11 @@ CREATE TABLE override ( maintainer TEXT, unique (suite, component, package, type) ); + +-- Critical indexes + +CREATE INDEX bin_associations_bin ON bin_associations (bin); +CREATE INDEX src_associations_source ON src_associations (source); +CREATE INDEX source_maintainer ON source (maintainer); +CREATE INDEX binaries_maintainer ON binaries (maintainer); +CREATE INDEX dsc_files_file ON dsc_files (file);