Bump version and update Changes
[gruntmaster-data.git] / db.sql
1 CREATE TABLE users (
2 id TEXT PRIMARY KEY,
3 passphrase TEXT, -- NOT NULL,
4 admin BOOLEAN NOT NULL DEFAULT FALSE,
5 name TEXT, -- NOT NULL,
6 email TEXT, -- NOT NULL,
7 phone TEXT, -- NOT NULL,
8 town TEXT, -- NOT NULL,
9 university TEXT, -- NOT NULL,
10 level TEXT, -- NOT NULL,
11 lastjob BIGINT
12 );
13
14 CREATE TABLE contests (
15 id TEXT PRIMARY KEY,
16 name TEXT NOT NULL,
17 start INT NOT NULL,
18 stop INT NOT NULL,
19 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE,
20 CONSTRAINT positive_duration CHECK (stop > start)
21 );
22
23 CREATE TABLE contest_status (
24 contest TEXT NOT NULL REFERENCES contests ON DELETE CASCADE,
25 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE,
26 score INT NOT NULL,
27 rank INT NOT NULL,
28
29 PRIMARY KEY (owner, contest)
30 );
31
32 CREATE TABLE problems (
33 id TEXT PRIMARY KEY,
34 author TEXT,
35 writer TEXT,
36 generator TEXT NOT NULL,
37 judge TEXT NOT NULL,
38 level TEXT NOT NULL,
39 name TEXT NOT NULL,
40 olimit INT,
41 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE,
42 private BOOLEAN NOT NULL DEFAULT FALSE,
43 runner TEXT NOT NULL,
44 solution TEXT ,
45 statement TEXT NOT NULL,
46 testcnt INT NOT NULL,
47 tests TEXT,
48 timeout REAL NOT NULL,
49 value INT NOT NULL,
50 genformat TEXT,
51 gensource TEXT,
52 verformat TEXT,
53 versource TEXT
54 );
55
56 CREATE TABLE contest_problems (
57 contest TEXT REFERENCES contests ON DELETE CASCADE,
58 problem TEXT NOT NULL REFERENCES problems ON DELETE CASCADE,
59 PRIMARY KEY (contest, problem)
60 );
61
62 CREATE TABLE jobs (
63 id SERIAL PRIMARY KEY,
64 contest TEXT REFERENCES contests ON DELETE CASCADE,
65 daemon TEXT,
66 date BIGINT NOT NULL,
67 errors TEXT,
68 extension TEXT NOT NULL,
69 format TEXT NOT NULL,
70 private BOOLEAN NOT NULL DEFAULT FALSE,
71 problem TEXT NOT NULL REFERENCES problems ON DELETE CASCADE,
72 result INT,
73 result_text TEXT,
74 results TEXT,
75 source TEXT NOT NULL,
76 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE
77 );
78
79 CREATE TABLE problem_status (
80 problem TEXT NOT NULL REFERENCES problems ON DELETE CASCADE,
81 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE,
82 job SERIAL NOT NULL REFERENCES jobs ON DELETE CASCADE,
83 solved BOOLEAN NOT NULL DEFAULT FALSE,
84
85 PRIMARY KEY (owner, problem)
86 );
87
88 CREATE TABLE opens (
89 contest TEXT NOT NULL REFERENCES contests ON DELETE CASCADE,
90 problem TEXT NOT NULL REFERENCES problems ON DELETE CASCADE,
91 owner TEXT NOT NULL REFERENCES users ON DELETE CASCADE,
92 time BIGINT NOT NULL,
93 PRIMARY KEY (contest, problem, owner)
94 );
This page took 0.022951 seconds and 4 git commands to generate.