Too many bugs, not enough time!
[moodle.git] / mod / forum / db / oci8po.sql
blob5bb50926c58e721e3ab406eef8596f5aa020db7b
1 rem
2 rem Table structure for table forum
3 rem
5 drop TABLE prefix_forum;
6 CREATE TABLE prefix_forum (
7   id number(10) primary key,
8   course number(10)  default '0' NOT NULL,
9   type varchar2(64) default 'general' not null,
10     constraint type_check CHECK (type IN (
11     'single','news','general','social','eachuser','teacher')), 
12   name varchar2(255) default '' not null,
13   intro varchar2(1024) NOT NULL,
14   open number(2)  default '2' not null,
15   assessed number(10)  default '0' NOT NULL,
16   scale number(10)  default '0' NOT NULL,
17   maxbytes number(10)  default '0' NOT NULL,
18   forcesubscribe number(1)  default '0' NOT NULL,
19   timemodified number(10)  default '0' NOT NULL
22 COMMENT on table prefix_forum is 'Forums contain and structure discussion';
24 drop sequence p_forum_seq;
25 create sequence p_forum_seq;
27 create or replace trigger p_forum_trig
28   before insert on prefix_forum
29   referencing new as new_row
30   for each row
31   begin
32     select p_forum_seq.nextval into :new_row.id from dual;
33   end;
37 insert into prefix_forum(course,type,name,intro,open,assessed,scale,forcesubscribe,timemodified) values(1,'single','1','1',1,1,1,1,1);
38 insert into prefix_forum(course,type,name,intro,open,assessed,scale,forcesubscribe,timemodified) values(2,'general','2','2',2,2,2,2,2);
39 insert into prefix_forum(course,type,name,intro,open,assessed,scale,forcesubscribe,timemodified) values(3,'eachuser','3','3',3,3,3,3,3);
40 rem should fail the check constraint
41 insert into prefix_forum(course,type,name,intro,open,assessed,scale,forcesubscribe,timemodified) values(4,'4','4','4',4,4,4,4,4);
43 select * from prefix_forum order by 1,2;
45 rem --------------------------------------------------------
46 rem
47 rem Table structure for table forum_discussions
48 rem
50 drop TABLE prefix_forum_discussions;
51 CREATE TABLE prefix_forum_discussions (
52   id number(10) primary key,
53   course number(10)  default '0' NOT NULL,
54   forum number(10)  default '0' NOT NULL,
55   name varchar2(255) default '' not null,
56   firstpost number(10)  default '0' NOT NULL,
57   assessed number(1) default '1' not null,
58   timemodified number(10)  default '0' NOT NULL
61 COMMENT on table prefix_forum_discussions is 'Forums are composed of discussions';
63 drop sequence p_forum_disc_seq;
64 create sequence p_forum_disc_seq;
66 create or replace trigger p_forum_disc_trig
67   before insert on prefix_forum_discussions
68   referencing new as new_row
69   for each row
70   begin
71     select p_forum_disc_seq.nextval into :new_row.id from dual;
72   end;
76 insert into prefix_forum_discussions(course,forum,name,firstpost,assessed,timemodified) values(1,1,'1',1,1,1);
77 insert into prefix_forum_discussions(course,forum,name,firstpost,assessed,timemodified) values(2,2,'2',2,2,2);
78 insert into prefix_forum_discussions(course,forum,name,firstpost,assessed,timemodified) values(3,3,'3',3,3,3);
79 insert into prefix_forum_discussions(course,forum,name,firstpost,assessed,timemodified) values(4,4,'4',4,4,4);
81 select * from prefix_forum_discussions order by 1,2;
83 rem --------------------------------------------------------
84 rem
85 rem Table structure for table forum_posts
86 rem
88 drop TABLE prefix_forum_posts;
89 CREATE TABLE prefix_forum_posts (
90   id number(10) primary key,
91   discussion number(10)  default '0' NOT NULL,
92   parent number(10)  default '0' NOT NULL,
93   userid number(10)  default '0' NOT NULL,
94   created number(10)  default '0' NOT NULL,
95   modified number(10)  default '0' NOT NULL,
96   mailed number(2)  default '0' NOT NULL,
97   subject varchar2(255) default '' not null,
98   message varchar2(1024) NOT NULL,
99   format number(2) default '0' NOT NULL,
100   attachment varchar2(100) default '' not null,
101   totalscore number(4) default '0' NOT NULL
104 drop sequence p_forum_posts_seq;
105 create sequence p_forum_posts_seq;
107 create or replace trigger p_forum_posts_trig
108   before insert on prefix_forum_posts
109   referencing new as new_row
110   for each row
111   begin
112     select p_forum_posts_seq.nextval into :new_row.id from dual;
113   end;
117 COMMENT on table prefix_forum_posts is 'All posts are stored in this table';
119 insert into prefix_forum_posts (discussion,parent,userid,created,modified,mailed,subject,message,format,attachment,totalscore) values(1,1,1,1,1,1,'1','1',1,'1',1);
120 insert into prefix_forum_posts (discussion,parent,userid,created,modified,mailed,subject,message,format,attachment,totalscore) values(2,2,2,2,2,2,'2','2',2,'2',2);
121 insert into prefix_forum_posts (discussion,parent,userid,created,modified,mailed,subject,message,format,attachment,totalscore) values(3,3,3,3,3,3,'3','3',3,'3',3);
122 insert into prefix_forum_posts (discussion,parent,userid,created,modified,mailed,subject,message,format,attachment,totalscore) values(4,4,4,4,4,4,'4','4',4,'4',4);
124 select * from prefix_forum_posts order by 1,2;
126 rem --------------------------------------------------------
128 rem Table structure for table forum_ratings
131 drop TABLE prefix_forum_ratings;
132 CREATE TABLE prefix_forum_ratings (
133   id number(10) primary key,
134   userid number(10)  default '0' NOT NULL,
135   post number(10)  default '0' NOT NULL,
136   time number(10)  default '0' NOT NULL,
137   rating number(4) default '0' NOT NULL
140 drop sequence p_forum_ratings_seq;
141 create sequence p_forum_ratings_seq;
143 create or replace trigger p_forum_ratings_trig
144   before insert on prefix_forum_ratings
145   referencing new as new_row
146   for each row
147   begin
148     select p_forum_ratings_seq.nextval into :new_row.id from dual;
149   end;
153 COMMENT on table prefix_forum_ratings is 'Contains user ratings for individual posts';
155 insert into prefix_forum_ratings(userid,post,time,rating) values(1,1,1,1);
156 insert into prefix_forum_ratings(userid,post,time,rating) values(2,2,2,2);
157 insert into prefix_forum_ratings(userid,post,time,rating) values(3,3,3,3);
158 insert into prefix_forum_ratings(userid,post,time,rating) values(4,4,4,4);
160 select * from prefix_forum_ratings order by 1,2;
162 rem --------------------------------------------------------
164 rem Table structure for table forum_subscriptions
167 drop TABLE prefix_forum_subscriptions;
168 CREATE TABLE prefix_forum_subscriptions (
169   id number(10) primary key,
170   userid number(10)  default '0' NOT NULL,
171   forum number(10)  default '0' NOT NULL
174 drop sequence p_forum_subscrip_seq;
175 create sequence p_forum_subscrip_seq;
177 create or replace trigger p_forum_subscrip_trig
178   before insert on prefix_forum_subscriptions
179   referencing new as new_row
180   for each row
181   begin
182     select p_forum_subscrip_seq.nextval into :new_row.id from dual;
183   end;
187 COMMENT on table prefix_forum_subscriptions is 'Keeps track of who is subscribed to what forum';
189 insert into prefix_forum_subscriptions(userid,forum) values(1,1);
190 insert into prefix_forum_subscriptions(userid,forum) values(2,2);
191 insert into prefix_forum_subscriptions(userid,forum) values(3,3);
192 insert into prefix_forum_subscriptions(userid,forum) values(4,4);
194 select * from prefix_forum_subscriptions order by 1,2;
197 rem --------------------------------------------------------
200 rem Dumping data for table log_display
202 delete from prefix_log_display where module = 'forum';
203 INSERT INTO prefix_log_display VALUES ('forum', 'add', 'forum', 'name');
204 INSERT INTO prefix_log_display VALUES ('forum', 'update', 'forum', 'name');
205 INSERT INTO prefix_log_display VALUES ('forum', 'add discussion', 'forum_discussions', 'name');
206 INSERT INTO prefix_log_display VALUES ('forum', 'add post', 'forum_posts', 'subject');
207 INSERT INTO prefix_log_display VALUES ('forum', 'update post', 'forum_posts', 'subject');
208 INSERT INTO prefix_log_display VALUES ('forum', 'move discussion', 'forum_discussions', 'name');
209 INSERT INTO prefix_log_display VALUES ('forum', 'view subscribers', 'forum', 'name');
210 INSERT INTO prefix_log_display VALUES ('forum', 'view discussion', 'forum_discussions', 'name');
211 INSERT INTO prefix_log_display VALUES ('forum', 'view forum', 'forum', 'name');
212 INSERT INTO prefix_log_display VALUES ('forum', 'subscribe', 'forum', 'name');
213 INSERT INTO prefix_log_display VALUES ('forum', 'unsubscribe', 'forum', 'name');
215 select * from prefix_log_display where module = 'forum';\r