~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to userdb/users.sql

  • Committer: William Grant
  • Date: 2010-07-27 09:02:06 UTC
  • mto: This revision was merged to the branch mainline in revision 1824.
  • Revision ID: grantw@unimelb.edu.au-20100727090206-pmf5j6lu6xc892q8
Replace semester.semester with semester.{code,url_name,display_name}.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
 
52
52
CREATE TABLE semester (
53
53
    semesterid  SERIAL PRIMARY KEY NOT NULL,
54
 
    year        CHAR(4) NOT NULL CHECK (valid_url_name(year)),
55
 
    semester    CHAR(1) NOT NULL CHECK (valid_url_name(semester)),
 
54
    year        TEXT NOT NULL CHECK (valid_url_name(year)),
 
55
    semester    TEXT NOT NULL CHECK (valid_url_name(semester)),
56
56
    state       TEXT NOT NULL CHECK (state IN ('disabled', 'past',
57
57
                                    'current', 'future')) DEFAULT 'current',
58
58
    UNIQUE (year, semester)
64
64
    semesterid  INTEGER REFERENCES semester (semesterid) NOT NULL,
65
65
    description VARCHAR,
66
66
    url         VARCHAR,
 
67
    show_worksheet_marks BOOLEAN NOT NULL DEFAULT false,
 
68
    worksheet_cutoff TIMESTAMP,
67
69
    groups_student_permissions  VARCHAR NOT NULL DEFAULT 'none',
68
70
    CHECK (groups_student_permissions in ('none', 'invite', 'create')),
69
71
    UNIQUE (subject, semesterid)
181
183
        OR (loginid IS NULL AND groupid IS NOT NULL))
182
184
);
183
185
 
 
186
-- We must use conditional constraints here -- NULL != NULL.
 
187
CREATE UNIQUE INDEX assessed_loginid_key ON assessed(loginid, projectid) WHERE loginid IS NOT NULL;
 
188
CREATE UNIQUE INDEX assessed_groupid_key ON assessed(groupid, projectid) WHERE groupid IS NOT NULL;
 
189
 
184
190
CREATE TABLE project_extension (
185
191
    extensionid SERIAL PRIMARY KEY,
186
192
    assessedid  INT4 REFERENCES assessed (assessedid) NOT NULL,
187
 
    deadline    TIMESTAMP NOT NULL,
 
193
    days        INT NOT NULL,
188
194
    approver    INT4 REFERENCES login (loginid) NOT NULL,
189
195
    notes       VARCHAR
190
196
);
214
220
    identifier  TEXT PRIMARY KEY CHECK (valid_url_name(identifier)),
215
221
    name        TEXT,
216
222
    description TEXT,
 
223
    description_xhtml_cache TEXT,
217
224
    partial     TEXT,
218
225
    solution    TEXT,
219
226
    include     TEXT,
226
233
    identifier  TEXT NOT NULL CHECK (valid_url_name(identifier)),
227
234
    name        TEXT NOT NULL,
228
235
    data        TEXT NOT NULL,
 
236
    data_xhtml_cache TEXT,
229
237
    assessable  BOOLEAN NOT NULL,
 
238
    published   BOOLEAN NOT NULL DEFAULT true,
230
239
    seq_no      INT4 NOT NULL,
231
240
    format      TEXT NOT NUll,
232
241
    UNIQUE (offeringid, identifier)