Mercurial > hg > cc > cirrus_home
view results/cdx.sql @ 143:ddff993994be
too clever by half, keys won't work in parallel for e.g. media types
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Wed, 20 Oct 2021 15:47:55 +0000 |
parents | |
children | 3abcb61e0bd9 |
line wrap: on
line source
-- Tables for storing index file counts -- Keyed names for various closed-class types CREATE TABLE scheme( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT name VARCHAR(16) ); INSERT INTO scheme(name) VALUES ('http'),('https'); CREATE TABLE mpt( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT name VARCHAR(11) ); INSERT INTO mpt(name) VALUES ('text'),('image'),('audio'),('video'),('application'); CREATE TABLE mst(name)( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT name VARCHAR(11) ); CREATE TABLE mediaType( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT pt INTEGER NOT NULL, st INTEGER NOT NULL, FOREIGN KEY(pt) REFERENCES mpt(id), FOREIGN KEY(st) REFERENCES mst(id) ); CREATE TABLE lang( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT code CHAR(3) NOT NULL, fname VARCHAR ); CREATE TABLE langs( id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT count INTEGER NOT NULL, primary INTEGER NOT NULL, secondary INTEGER, tertiary INTEGER, FOREIGN KEY(primary) REFERENCES lang(id), FOREIGN KEY(secondary) REFERENCES lang(id), FOREIGN KEY(tertiary) REFERENCES lang(id) ); CREATE TABLE props( index INTEGER NOT NULL, ftype CHAR(1), -- 'r', 'w', 'c' scheme INTEGER NOT NULL, ct INTEGER NOT NULL, sniffed INTEGER NOT NULL, langs INTEGER, FOREIGN KEY(scheme) REFERENCES scheme(id), FOREIGN KEY(ct) REFERENCES mediaType(id), FOREIGN KEY(sniffed) REFERENCES mediaType(id), FOREIGN KEY(langs) REFERENCES langs(id), );