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

« back to all changes in this revision

Viewing changes to examples/db/sample.sql

  • Committer: William Grant
  • Date: 2010-02-23 08:55:42 UTC
  • mto: This revision was merged to the branch mainline in revision 1674.
  • Revision ID: grantw@unimelb.edu.au-20100223085542-r8xw14bxxoraza51
Permit underscores in all names.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--
 
2
-- PostgreSQL database dump
 
3
--
 
4
 
 
5
SET client_encoding = 'UTF8';
 
6
SET standard_conforming_strings = off;
 
7
SET check_function_bodies = false;
 
8
SET client_min_messages = warning;
 
9
SET escape_string_warning = off;
 
10
 
 
11
SET search_path = public, pg_catalog;
 
12
 
 
13
--
 
14
-- Name: assessed_assessedid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
15
--
 
16
 
 
17
SELECT pg_catalog.setval('assessed_assessedid_seq', 1, true);
 
18
 
 
19
 
 
20
--
 
21
-- Name: login_unixid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
22
--
 
23
 
 
24
SELECT pg_catalog.setval('login_unixid_seq', 5004, true);
 
25
 
 
26
 
 
27
--
 
28
-- Name: login_loginid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
29
--
 
30
 
 
31
SELECT pg_catalog.setval('login_loginid_seq', 5, true);
 
32
 
 
33
 
 
34
--
 
35
-- Name: offering_offeringid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
36
--
 
37
 
 
38
SELECT pg_catalog.setval('offering_offeringid_seq', 6, true);
 
39
 
 
40
 
 
41
--
 
42
-- Name: project_extension_extensionid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
43
--
 
44
 
 
45
SELECT pg_catalog.setval('project_extension_extensionid_seq', 1, false);
 
46
 
 
47
 
 
48
--
 
49
-- Name: project_group_groupid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
50
--
 
51
 
 
52
SELECT pg_catalog.setval('project_group_groupid_seq', 1, true);
 
53
 
 
54
 
 
55
--
 
56
-- Name: project_projectid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
57
--
 
58
 
 
59
SELECT pg_catalog.setval('project_projectid_seq', 3, true);
 
60
 
 
61
 
 
62
--
 
63
-- Name: project_set_projectsetid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
64
--
 
65
 
 
66
SELECT pg_catalog.setval('project_set_projectsetid_seq', 2, true);
 
67
 
 
68
 
 
69
--
 
70
-- Name: project_submission_submissionid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
71
--
 
72
 
 
73
SELECT pg_catalog.setval('project_submission_submissionid_seq', 1, false);
 
74
 
 
75
 
 
76
--
 
77
-- Name: semester_semesterid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
78
--
 
79
 
 
80
SELECT pg_catalog.setval('semester_semesterid_seq', 4, true);
 
81
 
 
82
 
 
83
--
 
84
-- Name: subject_subjectid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
85
--
 
86
 
 
87
SELECT pg_catalog.setval('subject_subjectid_seq', 4, true);
 
88
 
 
89
 
 
90
--
 
91
-- Name: suite_variable_varid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
92
--
 
93
 
 
94
SELECT pg_catalog.setval('suite_variable_varid_seq', 2, true);
 
95
 
 
96
 
 
97
--
 
98
-- Name: test_case_part_partid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
99
--
 
100
 
 
101
SELECT pg_catalog.setval('test_case_part_partid_seq', 10, true);
 
102
 
 
103
 
 
104
--
 
105
-- Name: test_case_testid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
106
--
 
107
 
 
108
SELECT pg_catalog.setval('test_case_testid_seq', 10, true);
 
109
 
 
110
 
 
111
--
 
112
-- Name: test_suite_suiteid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
113
--
 
114
 
 
115
SELECT pg_catalog.setval('test_suite_suiteid_seq', 5, true);
 
116
 
 
117
 
 
118
--
 
119
-- Name: worksheet_exercise_ws_ex_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
120
--
 
121
 
 
122
SELECT pg_catalog.setval('worksheet_exercise_ws_ex_id_seq', 2, true);
 
123
 
 
124
 
 
125
--
 
126
-- Name: worksheet_worksheetid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 
127
--
 
128
 
 
129
SELECT pg_catalog.setval('worksheet_worksheetid_seq', 1, true);
 
130
 
 
131
 
 
132
--
 
133
-- Data for Name: assessed; Type: TABLE DATA; Schema: public; Owner: -
 
134
--
 
135
 
 
136
ALTER TABLE assessed DISABLE TRIGGER ALL;
 
137
 
 
138
INSERT INTO assessed (assessedid, loginid, groupid, projectid) VALUES (1, 2, NULL, 1);
 
139
 
 
140
 
 
141
ALTER TABLE assessed ENABLE TRIGGER ALL;
 
142
 
 
143
--
 
144
-- Data for Name: enrolment; Type: TABLE DATA; Schema: public; Owner: -
 
145
--
 
146
 
 
147
ALTER TABLE enrolment DISABLE TRIGGER ALL;
 
148
 
 
149
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (2, 1, 'lecturer', NULL, NULL, NULL, NULL, NULL, true);
 
150
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (2, 2, 'lecturer', NULL, NULL, NULL, NULL, NULL, true);
 
151
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (3, 2, 'tutor', NULL, NULL, NULL, NULL, NULL, true);
 
152
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (4, 1, 'student', NULL, NULL, NULL, NULL, NULL, true);
 
153
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (4, 2, 'student', NULL, NULL, NULL, NULL, NULL, true);
 
154
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (5, 2, 'student', NULL, NULL, NULL, NULL, NULL, true);
 
155
 
 
156
 
 
157
ALTER TABLE enrolment ENABLE TRIGGER ALL;
 
158
 
 
159
--
 
160
-- Data for Name: exercise; Type: TABLE DATA; Schema: public; Owner: -
 
161
--
 
162
 
 
163
ALTER TABLE exercise DISABLE TRIGGER ALL;
 
164
 
 
165
INSERT INTO exercise (identifier, name, description, partial, solution, include, num_rows) VALUES ('factorial', 'Factorial', 'Write a function, `fac`, to compute the **factorial** of a number. e.g.::
 
166
 
 
167
    >>> fac(4)
 
168
    24
 
169
 
 
170
Then, write a function `main`, which reads a number from stdin, and writes its factorial to stdout. e.g.::
 
171
 
 
172
    >>> main()
 
173
    4
 
174
    24
 
175
', 'def fac(n):
 
176
    pass
 
177
 
 
178
def main():
 
179
    pass
 
180
', 'def fac(n):
 
181
    if n == 0:
 
182
        return 1
 
183
    else:
 
184
        return n * fac(n-1)
 
185
 
 
186
def main():
 
187
    f = int(raw_input())
 
188
    print fac(f)', '', 12);
 
189
INSERT INTO exercise (identifier, name, description, partial, solution, include, num_rows) VALUES ('hello', 'Hello world', 'Write a program which prints out "Hello, world!" when it is run.
 
190
 
 
191
Note that if you print anything with the words "Hello world", but with wrong punctuation and capitalization, you will get some positive feedback, but still fail overall. You need to print an exact match.', 'print "..."', 'print "Hello, world!"', 'import re', 4);
 
192
 
 
193
 
 
194
ALTER TABLE exercise ENABLE TRIGGER ALL;
 
195
 
 
196
--
 
197
-- Data for Name: exercise_attempt; Type: TABLE DATA; Schema: public; Owner: -
 
198
--
 
199
 
 
200
ALTER TABLE exercise_attempt DISABLE TRIGGER ALL;
 
201
 
 
202
 
 
203
 
 
204
ALTER TABLE exercise_attempt ENABLE TRIGGER ALL;
 
205
 
 
206
--
 
207
-- Data for Name: exercise_save; Type: TABLE DATA; Schema: public; Owner: -
 
208
--
 
209
 
 
210
ALTER TABLE exercise_save DISABLE TRIGGER ALL;
 
211
 
 
212
 
 
213
 
 
214
ALTER TABLE exercise_save ENABLE TRIGGER ALL;
 
215
 
 
216
--
 
217
-- Data for Name: group_invitation; Type: TABLE DATA; Schema: public; Owner: -
 
218
--
 
219
 
 
220
ALTER TABLE group_invitation DISABLE TRIGGER ALL;
 
221
 
 
222
 
 
223
 
 
224
ALTER TABLE group_invitation ENABLE TRIGGER ALL;
 
225
 
 
226
--
 
227
-- Data for Name: group_member; Type: TABLE DATA; Schema: public; Owner: -
 
228
--
 
229
 
 
230
ALTER TABLE group_member DISABLE TRIGGER ALL;
 
231
 
 
232
INSERT INTO group_member (loginid, groupid) VALUES (4, 1);
 
233
INSERT INTO group_member (loginid, groupid) VALUES (5, 1);
 
234
 
 
235
 
 
236
ALTER TABLE group_member ENABLE TRIGGER ALL;
 
237
 
 
238
--
 
239
-- Data for Name: login; Type: TABLE DATA; Schema: public; Owner: -
 
240
--
 
241
 
 
242
ALTER TABLE login DISABLE TRIGGER ALL;
 
243
 
 
244
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (1, 'admin', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', true, 5000, 'Anne Admin', NULL, NULL, '2009-12-08 11:44:02.285862', 'password', NULL, 'Anne Admin', NULL, NULL);
 
245
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (2, 'lecturer', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5001, 'Larry Lecturer', NULL, NULL, '2009-12-08 12:12:16.375628', 'password', NULL, 'Larry Lecturer', NULL, NULL);
 
246
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (3, 'tutor', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5002, 'Terry Tutor', NULL, NULL, '2009-12-08 19:08:59.817505', 'password', NULL, 'Terry Tutor', NULL, NULL);
 
247
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (4, 'studenta', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5003, 'Alice Student', NULL, NULL, '2009-12-08 12:11:46.349133', 'password', NULL, 'Alice Student', NULL, NULL);
 
248
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (5, 'studentb', '5f4dcc3b5aa765d61d8327deb882cf99', 'no_agreement', false, 5004, 'Bob Student', NULL, NULL, NULL, NULL, NULL, 'Bob Student', NULL, NULL);
 
249
 
 
250
 
 
251
ALTER TABLE login ENABLE TRIGGER ALL;
 
252
 
 
253
--
 
254
-- Data for Name: offering; Type: TABLE DATA; Schema: public; Owner: -
 
255
--
 
256
 
 
257
ALTER TABLE offering DISABLE TRIGGER ALL;
 
258
 
 
259
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (1, 1, 1, 'This subject will introduce you to the basics of IVLE.', 'http://www.ivle.org/example/101', 'none');
 
260
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (2, 2, 2, 'Enhancing your understanding of IVLE''s usage and operation, this subject will consolidate and expand your general IVLE knowledge.', 'http://www.ivle.org/example/102', 'none');
 
261
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (3, 1, 3, 'This subject will introduce you to the basics of IVLE, again.', 'http://www.ivle.org/example/101', 'none');
 
262
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (4, 3, 3, 'This subject will provide you with a working knowledge of advanced IVLE concepts.', 'http://www.ivle.org/example/201', 'none');
 
263
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (5, 2, 4, 'Enhancing your understanding of IVLE''s usage and operation, this subject will consolidate and expand your general IVLE knowledge, again.', 'http://www.ivle.org/example/102', 'none');
 
264
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (6, 4, 4, 'After undertaking this subject, you should be a master of all things IVLEy.', 'http://www.ivle.org/example/202', 'none');
 
265
 
 
266
 
 
267
ALTER TABLE offering ENABLE TRIGGER ALL;
 
268
 
 
269
--
 
270
-- Data for Name: project; Type: TABLE DATA; Schema: public; Owner: -
 
271
--
 
272
 
 
273
ALTER TABLE project DISABLE TRIGGER ALL;
 
274
 
 
275
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (1, 'phase1', 'Phase 1', 'This is the first project in Intermediate IVLE.', NULL, 1, '3009-08-21 18:00:00');
 
276
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (2, 'phase2', 'Phase 2', 'This is the second project in Intermediate IVLE.
 
277
Get into groups of 3.', NULL, 2, '3009-09-11 18:00:00');
 
278
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (3, 'phase3', 'Phase 3', 'This is the final project in Intermediate IVLE.
 
279
Complete this with the same group as Phase 2.', NULL, 2, '2009-09-25 18:00:00');
 
280
 
 
281
 
 
282
ALTER TABLE project ENABLE TRIGGER ALL;
 
283
 
 
284
--
 
285
-- Data for Name: project_extension; Type: TABLE DATA; Schema: public; Owner: -
 
286
--
 
287
 
 
288
ALTER TABLE project_extension DISABLE TRIGGER ALL;
 
289
 
 
290
 
 
291
 
 
292
ALTER TABLE project_extension ENABLE TRIGGER ALL;
 
293
 
 
294
--
 
295
-- Data for Name: project_group; Type: TABLE DATA; Schema: public; Owner: -
 
296
--
 
297
 
 
298
ALTER TABLE project_group DISABLE TRIGGER ALL;
 
299
 
 
300
INSERT INTO project_group (groupnm, groupid, projectsetid, nick, createdby, epoch) VALUES ('group1', 1, 2, 'group1', 2, '2009-12-08 17:04:42.981005');
 
301
 
 
302
 
 
303
ALTER TABLE project_group ENABLE TRIGGER ALL;
 
304
 
 
305
--
 
306
-- Data for Name: project_mark; Type: TABLE DATA; Schema: public; Owner: -
 
307
--
 
308
 
 
309
ALTER TABLE project_mark DISABLE TRIGGER ALL;
 
310
 
 
311
 
 
312
 
 
313
ALTER TABLE project_mark ENABLE TRIGGER ALL;
 
314
 
 
315
--
 
316
-- Data for Name: project_set; Type: TABLE DATA; Schema: public; Owner: -
 
317
--
 
318
 
 
319
ALTER TABLE project_set DISABLE TRIGGER ALL;
 
320
 
 
321
INSERT INTO project_set (projectsetid, offeringid, max_students_per_group) VALUES (1, 2, NULL);
 
322
INSERT INTO project_set (projectsetid, offeringid, max_students_per_group) VALUES (2, 2, 3);
 
323
 
 
324
 
 
325
ALTER TABLE project_set ENABLE TRIGGER ALL;
 
326
 
 
327
--
 
328
-- Data for Name: project_submission; Type: TABLE DATA; Schema: public; Owner: -
 
329
--
 
330
 
 
331
ALTER TABLE project_submission DISABLE TRIGGER ALL;
 
332
 
 
333
 
 
334
 
 
335
ALTER TABLE project_submission ENABLE TRIGGER ALL;
 
336
 
 
337
--
 
338
-- Data for Name: semester; Type: TABLE DATA; Schema: public; Owner: -
 
339
--
 
340
 
 
341
ALTER TABLE semester DISABLE TRIGGER ALL;
 
342
 
 
343
INSERT INTO semester (semesterid, year, semester, state) VALUES (1, '2009', '1', 'past');
 
344
INSERT INTO semester (semesterid, year, semester, state) VALUES (2, '2009', '2', 'current');
 
345
INSERT INTO semester (semesterid, year, semester, state) VALUES (3, '2010', '1', 'future');
 
346
INSERT INTO semester (semesterid, year, semester, state) VALUES (4, '2010', '2', 'future');
 
347
 
 
348
 
 
349
ALTER TABLE semester ENABLE TRIGGER ALL;
 
350
 
 
351
--
 
352
-- Data for Name: subject; Type: TABLE DATA; Schema: public; Owner: -
 
353
--
 
354
 
 
355
ALTER TABLE subject DISABLE TRIGGER ALL;
 
356
 
 
357
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (1, '100101', 'Introduction to IVLE', 'ivle-101');
 
358
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (2, '100102', 'Intermediate IVLE', 'ivle-102');
 
359
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (3, '100201', 'Advanced IVLE', 'ivle-201');
 
360
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (4, '100202', 'Mastering IVLE', 'ivle-202');
 
361
 
 
362
 
 
363
ALTER TABLE subject ENABLE TRIGGER ALL;
 
364
 
 
365
--
 
366
-- Data for Name: suite_variable; Type: TABLE DATA; Schema: public; Owner: -
 
367
--
 
368
 
 
369
ALTER TABLE suite_variable DISABLE TRIGGER ALL;
 
370
 
 
371
INSERT INTO suite_variable (varid, suiteid, var_name, var_value, var_type, arg_no) VALUES (1, 1, '', '4', 'arg', 0);
 
372
INSERT INTO suite_variable (varid, suiteid, var_name, var_value, var_type, arg_no) VALUES (2, 2, '', '5', 'arg', 0);
 
373
 
 
374
 
 
375
ALTER TABLE suite_variable ENABLE TRIGGER ALL;
 
376
 
 
377
--
 
378
-- Data for Name: test_case; Type: TABLE DATA; Schema: public; Owner: -
 
379
--
 
380
 
 
381
ALTER TABLE test_case DISABLE TRIGGER ALL;
 
382
 
 
383
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (1, 1, 'Calculates factorial correctly', 'Wrong answer', 'ignore', 0);
 
384
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (2, 1, 'Doesn''t use functools', 'You used functools, you arrogant git', 'ignore', 1);
 
385
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (3, 2, 'Calculates factorial correctly', 'Wrong answer', 'ignore', 0);
 
386
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (5, 3, 'Main worked correctly', 'Main printed something else as well. You should only print out the answer.', 'ignore', 1);
 
387
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (4, 3, 'Main printout included the correct answer', 'Main didn''t print out the correct answer', 'ignore', 0);
 
388
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (6, 1, 'Doesn''t use __import__', 'You used __import__, you subversive git!', 'ignore', 2);
 
389
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (7, 4, 'Prints the correct words', 'Didn''t print the words "Hello world" at all', 'ignore', 0);
 
390
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (10, 4, 'Prints "Hello, world!" exactly', 'Did not print "Hello, world!" exactly', 'ignore', 1);
 
391
 
 
392
 
 
393
ALTER TABLE test_case ENABLE TRIGGER ALL;
 
394
 
 
395
--
 
396
-- Data for Name: test_case_part; Type: TABLE DATA; Schema: public; Owner: -
 
397
--
 
398
 
 
399
ALTER TABLE test_case_part DISABLE TRIGGER ALL;
 
400
 
 
401
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (1, 1, 'result', 'match', '', NULL);
 
402
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (2, 2, 'code', 'check', 'lambda solution, attempt: ''functools'' not in attempt', NULL);
 
403
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (3, 3, 'result', 'match', '', NULL);
 
404
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (5, 5, 'stdout', 'norm', 'lambda x: x.strip() # Allow leading or trailing whitespace', NULL);
 
405
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (4, 4, 'stdout', 'check', 'lambda solution, attempt: solution.strip() in attempt   # Substring test', NULL);
 
406
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (6, 6, 'code', 'check', 'lambda solution, attempt: ''__import__'' not in attempt', NULL);
 
407
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (10, 10, 'stdout', 'match', 'lambda solution, attempt: re.match("hello[^a-z]*world[^a-z]*", attempt.lower())', NULL);
 
408
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (7, 7, 'stdout', 'check', 'lambda solution, attempt: re.match("hello[^a-z]*world[^a-z]*", attempt.lower())', NULL);
 
409
 
 
410
 
 
411
ALTER TABLE test_case_part ENABLE TRIGGER ALL;
 
412
 
 
413
--
 
414
-- Data for Name: test_suite; Type: TABLE DATA; Schema: public; Owner: -
 
415
--
 
416
 
 
417
ALTER TABLE test_suite DISABLE TRIGGER ALL;
 
418
 
 
419
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (2, 'factorial', 'Test fac(5)', 1, 'fac', '');
 
420
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (1, 'factorial', 'Test fac(4)', 0, 'fac', '');
 
421
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (3, 'factorial', 'Test main', 2, 'main', '4
 
422
');
 
423
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (4, 'hello', 'Prints "Hello, world!" exactly', 0, '', '');
 
424
 
 
425
 
 
426
ALTER TABLE test_suite ENABLE TRIGGER ALL;
 
427
 
 
428
--
 
429
-- Data for Name: worksheet; Type: TABLE DATA; Schema: public; Owner: -
 
430
--
 
431
 
 
432
ALTER TABLE worksheet DISABLE TRIGGER ALL;
 
433
 
 
434
INSERT INTO worksheet (worksheetid, offeringid, identifier, name, data, assessable, seq_no, format) VALUES (1, 2, 'worksheet1', 'Worksheet Basics', 'IVLE allows lecturers and tutors to create worksheets, which are presented to students, optionally, for assessment.
 
435
 
 
436
Worksheets are reStructuredText (rich text) documents which can present students with information or tutorials, much like a textbook. For example, we might explain that "recursion is when a function calls itself".
 
437
 
 
438
We can use any reStructuredText markup, such as **bold** and `links <http://ivle.org>`_. We can also embed exercises. For example, we might invite students to "try out recursion in the following exercise".
 
439
 
 
440
Beginning a line with ``.. exercise:: <exercise-name>`` embeds an exercise in a worksheet, like this:
 
441
 
 
442
.. exercise:: hello
 
443
 
 
444
Now, the student may try out the above exercise, and submit it as many times as (s)he wishes. Once they have it correct, they will receive a point on their assessment.
 
445
 
 
446
Here is a second exercise. This one involves writing functions, and has multiple parts. The test suite will test each part individually.
 
447
 
 
448
.. exercise:: factorial
 
449
', true, 0, 'rst');
 
450
 
 
451
 
 
452
ALTER TABLE worksheet ENABLE TRIGGER ALL;
 
453
 
 
454
--
 
455
-- Data for Name: worksheet_exercise; Type: TABLE DATA; Schema: public; Owner: -
 
456
--
 
457
 
 
458
ALTER TABLE worksheet_exercise DISABLE TRIGGER ALL;
 
459
 
 
460
INSERT INTO worksheet_exercise (ws_ex_id, worksheetid, exerciseid, seq_no, active, optional) VALUES (2, 1, 'hello', 0, true, false);
 
461
INSERT INTO worksheet_exercise (ws_ex_id, worksheetid, exerciseid, seq_no, active, optional) VALUES (1, 1, 'factorial', 0, true, false);
 
462
 
 
463
 
 
464
ALTER TABLE worksheet_exercise ENABLE TRIGGER ALL;
 
465
 
 
466
--
 
467
 
 
468
--
 
469
-- PostgreSQL database dump complete
 
470
--
 
471