Mercurial > hg > cc > cirrus_home
comparison 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 |
comparison
equal
deleted
inserted
replaced
142:8af4e9937799 | 143:ddff993994be |
---|---|
1 -- Tables for storing index file counts | |
2 -- Keyed names for various closed-class types | |
3 CREATE TABLE scheme( | |
4 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
5 name VARCHAR(16) | |
6 ); | |
7 INSERT INTO scheme(name) VALUES ('http'),('https'); | |
8 | |
9 CREATE TABLE mpt( | |
10 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
11 name VARCHAR(11) | |
12 ); | |
13 INSERT INTO mpt(name) VALUES | |
14 ('text'),('image'),('audio'),('video'),('application'); | |
15 | |
16 CREATE TABLE mst(name)( | |
17 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
18 name VARCHAR(11) | |
19 ); | |
20 | |
21 CREATE TABLE mediaType( | |
22 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
23 pt INTEGER NOT NULL, | |
24 st INTEGER NOT NULL, | |
25 FOREIGN KEY(pt) REFERENCES mpt(id), | |
26 FOREIGN KEY(st) REFERENCES mst(id) | |
27 ); | |
28 | |
29 CREATE TABLE lang( | |
30 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
31 code CHAR(3) NOT NULL, | |
32 fname VARCHAR | |
33 ); | |
34 | |
35 CREATE TABLE langs( | |
36 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT | |
37 count INTEGER NOT NULL, | |
38 primary INTEGER NOT NULL, | |
39 secondary INTEGER, | |
40 tertiary INTEGER, | |
41 FOREIGN KEY(primary) REFERENCES lang(id), | |
42 FOREIGN KEY(secondary) REFERENCES lang(id), | |
43 FOREIGN KEY(tertiary) REFERENCES lang(id) | |
44 ); | |
45 | |
46 CREATE TABLE props( | |
47 index INTEGER NOT NULL, | |
48 ftype CHAR(1), -- 'r', 'w', 'c' | |
49 scheme INTEGER NOT NULL, | |
50 ct INTEGER NOT NULL, | |
51 sniffed INTEGER NOT NULL, | |
52 langs INTEGER, | |
53 FOREIGN KEY(scheme) REFERENCES scheme(id), | |
54 FOREIGN KEY(ct) REFERENCES mediaType(id), | |
55 FOREIGN KEY(sniffed) REFERENCES mediaType(id), | |
56 FOREIGN KEY(langs) REFERENCES langs(id), | |
57 ); |