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,
13 since
BIGINT DEFAULT CAST(EXTRACT(epoch
from now()) AS bigint)
16 CREATE TABLE contests (
21 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE,
22 CONSTRAINT positive_duration
CHECK (stop
> start)
25 CREATE TABLE contest_status (
26 contest
TEXT NOT NULL REFERENCES contests
ON DELETE CASCADE,
27 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE,
31 PRIMARY KEY (owner, contest
)
34 CREATE TABLE problems (
38 generator
TEXT NOT NULL,
43 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE,
44 private
BOOLEAN NOT NULL DEFAULT FALSE,
47 statement TEXT NOT NULL,
50 timeout
REAL NOT NULL,
58 CREATE TABLE contest_problems (
59 contest
TEXT REFERENCES contests
ON DELETE CASCADE,
60 problem
TEXT NOT NULL REFERENCES problems
ON DELETE CASCADE,
61 PRIMARY KEY (contest
, problem
)
65 id SERIAL
PRIMARY KEY,
66 contest
TEXT REFERENCES contests
ON DELETE CASCADE,
70 extension
TEXT NOT NULL,
72 private
BOOLEAN NOT NULL DEFAULT FALSE,
73 problem
TEXT NOT NULL REFERENCES problems
ON DELETE CASCADE,
78 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE
81 CREATE TABLE problem_status (
82 problem
TEXT NOT NULL REFERENCES problems
ON DELETE CASCADE,
83 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE,
84 job SERIAL
NOT NULL REFERENCES jobs
ON DELETE CASCADE,
85 solved
BOOLEAN NOT NULL DEFAULT FALSE,
87 PRIMARY KEY (owner, problem
)
91 contest
TEXT NOT NULL REFERENCES contests
ON DELETE CASCADE,
92 problem
TEXT NOT NULL REFERENCES problems
ON DELETE CASCADE,
93 owner TEXT NOT NULL REFERENCES users
ON DELETE CASCADE,
95 PRIMARY KEY (contest
, problem
, owner)
98 CREATE TABLE table_comments (
99 table_name TEXT NOT NULL PRIMARY KEY,
100 comment_text
TEXT NOT NULL
103 CREATE TABLE column_comments (
104 table_name TEXT NOT NULL,
105 column_name TEXT NOT NULL,
106 comment_text
TEXT NOT NULL,
107 PRIMARY KEY (table_name, column_name)
110 INSERT INTO table_comments
VALUES ('users', 'List of users');
111 INSERT INTO table_comments
VALUES ('contests', 'List of contests');
112 INSERT INTO table_comments
VALUES ('contest_status', 'List of (contest, user, result)');
113 INSERT INTO table_comments
VALUES ('problems', 'List of problems');
114 INSERT INTO table_comments
VALUES ('contest_problems', 'Many-to-many bridge between contests and problems');
115 INSERT INTO table_comments
VALUES ('jobs', 'List of jobs');
116 INSERT INTO table_comments
VALUES ('problem_status', 'List of (problem, user, result)');
117 INSERT INTO table_comments
VALUES ('opens', 'List of (contest, problem, user, time when user opened problem)');
119 INSERT INTO column_comments
VALUES ('users', 'passphrase', 'RFC2307-encoded passphrase');
120 INSERT INTO column_comments
VALUES ('users', 'name', 'Full name of user');
121 INSERT INTO column_comments
VALUES ('users', 'level', 'Highschool, Undergraduate, Master, Doctorate or Other');
122 INSERT INTO column_comments
VALUES ('users', 'lastjob', 'Unix time when this user last submitted a job');
123 INSERT INTO column_comments
VALUES ('users', 'since', 'Unix time when this user was created');
125 INSERT INTO column_comments
VALUES ('contests', 'start', 'Unix time when contest starts');
126 INSERT INTO column_comments
VALUES ('contests', 'stop', 'Unix time when contest ends');
128 INSERT INTO column_comments
VALUES ('problems', 'author', 'Full name(s) of problem author(s)/problemsetter(s)/tester(s)/etc');
129 INSERT INTO column_comments
VALUES ('problems', 'writer', 'Full name(s) of statement writer(s) (DEPRECATED)');
130 INSERT INTO column_comments
VALUES ('problems', 'generator', 'Generator class, without the leading Gruntmaster::Daemon::Generator::');
131 INSERT INTO column_comments
VALUES ('problems', 'runner', 'Runner class, without the leading Gruntmaster::Daemon::Runner::');
132 INSERT INTO column_comments
VALUES ('problems', 'judge', 'Judge class, without the leading Gruntmaster::Daemon::Judge::');
133 INSERT INTO column_comments
VALUES ('problems', 'level', 'Problem level, one of beginner, easy, medium, hard');
134 INSERT INTO column_comments
VALUES ('problems', 'olimit', 'Output limit (in bytes)');
135 INSERT INTO column_comments
VALUES ('problems', 'timeout', 'Time limit (in seconds)');
136 INSERT INTO column_comments
VALUES ('problems', 'solution', 'Solution (HTML)');
137 INSERT INTO column_comments
VALUES ('problems', 'statement', 'Statement (HTML)');
138 INSERT INTO column_comments
VALUES ('problems', 'testcnt', 'Number of tests');
139 INSERT INTO column_comments
VALUES ('problems', 'tests', 'JSON array of test values for ::Runner::File');
140 INSERT INTO column_comments
VALUES ('problems', 'value', 'Problem value when used in a contest.');
141 INSERT INTO column_comments
VALUES ('problems', 'genformat', 'Format (programming language) of the generator if using the Run generator');
142 INSERT INTO column_comments
VALUES ('problems', 'gensource', 'Source code of generator if using the Run generator');
143 INSERT INTO column_comments
VALUES ('problems', 'verformat', 'Format (programming language) of the verifier if using the Verifier runner');
144 INSERT INTO column_comments
VALUES ('problems', 'versource', 'Source code of verifier if using the Verifier runner');
146 INSERT INTO column_comments
VALUES ('jobs', 'daemon', 'hostname:PID of daemon that last executed this job. NULL if never executed');
147 INSERT INTO column_comments
VALUES ('jobs', 'date', 'Unix time when job was submitted');
148 INSERT INTO column_comments
VALUES ('jobs', 'errors', 'Compiler errors');
149 INSERT INTO column_comments
VALUES ('jobs', 'extension', 'File extension of submitted program, without a leading dot');
150 INSERT INTO column_comments
VALUES ('jobs', 'format', 'Format (programming language) of submitted program');
151 INSERT INTO column_comments
VALUES ('jobs', 'result', 'Job result (integer constant from Gruntmaster::Daemon::Constants)');
152 INSERT INTO column_comments
VALUES ('jobs', 'result_text', 'Job result (human-readable text)');
153 INSERT INTO column_comments
VALUES ('jobs', 'results', 'Per-test results (JSON array of hashes with keys id (test number, counting from 1), result (integer constant from Gruntmaster::Daemon::Constants), result_text (human-readable text), time (execution time in decimal seconds))');
155 INSERT INTO column_comments
VALUES ('problem_status', 'solved', 'True if the result is Accepted, False otherwise');
This page took 0.026038 seconds and 5 git commands to generate.