3
ALTER TABLE project_set ALTER COLUMN max_students_per_group DROP NOT NULL;
4
ALTER TABLE project_set ALTER COLUMN max_students_per_group DROP DEFAULT;
6
ALTER TABLE project ALTER COLUMN synopsis TYPE TEXT;
7
ALTER TABLE project ALTER COLUMN url TYPE TEXT;
8
ALTER TABLE project ADD COLUMN short_name TEXT NOT NULL;
9
ALTER TABLE project ADD COLUMN name TEXT NOT NULL;
11
CREATE OR REPLACE FUNCTION check_project_namespacing_insertupdate()
16
IF TG_OP = ''UPDATE'' THEN
17
IF NEW.projectsetid = OLD.projectsetid AND NEW.short_name = OLD.short_name THEN
21
SELECT offeringid INTO oid FROM project_set WHERE project_set.projectsetid = NEW.projectsetid;
22
PERFORM 1 FROM project, project_set
23
WHERE project_set.offeringid = oid AND
24
project.projectsetid = project_set.projectsetid AND
25
project.short_name = NEW.short_name;
27
RAISE EXCEPTION ''a project named % already exists in offering ID %'', NEW.short_name, oid;
33
CREATE TRIGGER check_project_namespacing
34
BEFORE INSERT OR UPDATE ON project
35
FOR EACH ROW EXECUTE PROCEDURE check_project_namespacing_insertupdate();
37
ALTER TABLE project_extension ADD COLUMN extensionid SERIAL PRIMARY KEY;
39
ALTER TABLE project_submission ADD COLUMN submissionid SERIAL PRIMARY KEY;
40
ALTER TABLE project_submission ADD COLUMN date_submitted TIMESTAMP NOT NULL;
41
ALTER TABLE project_submission ADD COLUMN submitter INT4 REFERENCES login (loginid) NOT NULL;