+++ /dev/null
-rem DRAFT DRAFT DRAFT DRAFT - untested\r
-\r
-set echo on pagesize 60\r
-\r
-spool s\r
-\r
-rem Conversion:\r
-rem remove all ` around table names\r
-rem change int to number\r
-rem change varchar to varchar2\r
-rem replace auto_increment with primary key, create sequence and trigger\r
-rem move not null from before deault to after\r
-rem delete primary key lines\r
-rem delete type=MyISAM\r
-rem turn comment clause into comment statement\r
-rem delete unique key, replace with column constraint\r
-\r
-rem\r
-rem Table structure for table config\r
-rem\r
-\r
-drop TABLE prefix_config;\r
-CREATE TABLE prefix_config (\r
- id number(10) primary key,\r
- name varchar2(255) default '' not null constraint unq_name unique,\r
- value varchar2(255) default '' not null\r
-);\r
-\r
-COMMENT on table prefix_config is 'Moodle configuration variables';\r
-\r
-drop sequence p_config_seq;\r
-create sequence p_config_seq;\r
-\r
-create or replace trigger p_config_trig\r
- before insert on prefix_config\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_config_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_config (name,value) values ('Name1','Value1');\r
-insert into prefix_config (name,value) values ('Name2','Value2');\r
-insert into prefix_config (name,value) values ('Name3','Value3');\r
-\r
-rem testing unique column constraint on name: this should fail\r
-insert into prefix_config (name,value) values ('Name1','Value4');\r
-\r
-\r
-select id,substr(name,1,20) name,\r
- substr(value,1,22) value\r
- from prefix_config order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table course\r
-rem\r
-\r
-drop TABLE prefix_course;\r
-CREATE TABLE prefix_course (\r
- id number(10) primary key,\r
- category number(10) default '0' not null,\r
- password varchar2(50) default '' not null,\r
- fullname varchar2(254) default '' not null,\r
- shortname varchar2(15) default '' not null,\r
- summary varchar2(254) not null,\r
- format varchar2(10) default 'weeks' not null\r
- constraint check_format check (format in ('weeks','social','topics')),\r
- modinfo varchar2(254) not null,\r
- newsitems number(5) default '1' not null,\r
- teacher varchar2(100) default 'Teacher' not null,\r
- teachers varchar2(100) default 'Teachers' not null,\r
- student varchar2(100) default 'Student' not null,\r
- students varchar2(100) default 'Students' not null,\r
- guest number(2) default '0' not null,\r
- startdate number(10) default '0' not null,\r
- numsections number(5) default '1' not null,\r
- showrecent number(5) default '1' not null,\r
- marker number(10) default '0' not null,\r
- timecreated number(10) default '0' not null,\r
- timemodified number(10) default '0' not null\r
-); \r
-\r
-COMMENT on table prefix_course is 'Moodle prefix course table';\r
-\r
-drop sequence p_course_seq;\r
-create sequence p_course_seq;\r
-\r
-create or replace trigger p_course_trig\r
- before insert on prefix_course\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_course_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_course ( category,password,fullname,shortname,summary,modinfo) values ( 1,'password1','fullname1','shortname1','summary1','modinfo1');\r
-insert into prefix_course ( category,password,fullname,shortname,summary,format,modinfo) values ( 2,'password2','fullname2','shortname2','summary2','social','modinfo2');\r
-insert into prefix_course ( category,password,fullname,shortname,summary,format,modinfo) values ( 2,'password2','fullname2','shortname2','summary2','topics','modinfo2');\r
-\r
-rem this one should fail due to the constraint on format disallowing 'daily'\r
-insert into prefix_course ( category,password,fullname,shortname,summary,format,modinfo) values ( 2,'password2','fullname2','shortname2','summary2','daily','modinfo2');\r
-\r
-select id,\r
- category,\r
- substr(password,1,8) password,\r
- substr(fullname,1,10) fullname,\r
- substr(shortname,1,20) shortname,\r
- substr(summary,1,10) summary,\r
- format,\r
- substr(modinfo,1,10) modinfo,\r
- newsitems,\r
- substr(teacher,1,10) teacher,\r
- substr(teachers,1,10) teachers,\r
- substr(student,1,10) student,\r
- substr(students,1,10) students,\r
- guest,\r
- startdate,\r
- numsections,\r
- showrecent,\r
- marker,\r
- timecreated,\r
- timemodified\r
- from prefix_course order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table course_categories\r
-rem\r
-\r
-drop TABLE prefix_course_categories;\r
-CREATE TABLE prefix_course_categories (\r
- id number(10) primary key,\r
- name varchar2(255) default '' not null\r
-);\r
-\r
-COMMENT on table prefix_course_categories is 'Course categories';\r
-\r
-drop sequence p_course_categories_seq;\r
-create sequence p_course_categories_seq;\r
-\r
-create or replace trigger p_course_categories_trig\r
- before insert on prefix_course_categories\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_course_categories_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_course_categories (name) values ('name1');\r
-insert into prefix_course_categories (name) values ('name2');\r
-insert into prefix_course_categories (name) values ('name3');\r
-insert into prefix_course_categories (name) values ('name4');\r
-\r
-select id,substr(name,1,20) name\r
- from prefix_course_categories\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table course_modules\r
-rem\r
-\r
-drop TABLE prefix_course_modules;\r
-CREATE TABLE prefix_course_modules (\r
- id number(10) primary key,\r
- course number(10) default '0' not null,\r
- module number(10) default '0' not null,\r
- instance number(10) default '0' not null,\r
- section number(10) default '0' not null,\r
- added number(10) default '0' not null, \r
- deleted number(1) default '0' not null,\r
- score number(4) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_course_modules is 'prefix_course_modules';\r
-\r
-drop sequence p_course_modules_seq;\r
-create sequence p_course_modules_seq;\r
-\r
-create or replace trigger p_course_modules_trig\r
- before insert on prefix_course_modules\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_course_modules_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_course_modules (course,module,instance,section,added,deleted,score) values (1,1,1,1,1,1,1); \r
-insert into prefix_course_modules (course,module,instance,section,added,deleted,score) values (2,2,2,2,2,2,2); \r
-insert into prefix_course_modules (course,module,instance,section,added,deleted,score) values (3,3,3,3,3,3,3); \r
-insert into prefix_course_modules (course,module,instance,section,added,deleted,score) values (4,4,4,4,4,4,4); \r
-\r
-select id,course,\r
- module,\r
- instance,\r
- section,\r
- added,\r
- deleted,\r
- score\r
- from prefix_course_modules\r
-/\r
-\r
-rem --------------------------------------------------------\r
-rem\r
-rem Table structure for table course_sections\r
-rem\r
-\r
-drop TABLE prefix_course_sections;\r
-CREATE TABLE prefix_course_sections (\r
- id number(10) primary key,\r
- course number(10) default '0' not null,\r
- section number(10) default '0' not null,\r
- summary varchar2(254) NOT NULL,\r
- sequence varchar2(255) default '' not null\r
-);\r
-\r
-COMMENT on table prefix_course_sections is 'prefix_course_sections';\r
-\r
-drop sequence p_course_sections_seq;\r
-create sequence p_course_sections_seq;\r
-\r
-create or replace trigger p_course_sections_trig\r
- before insert on prefix_course_sections\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_course_sections_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_course_sections (course,section,summary,sequence) values (1,1,1,1); \r
-insert into prefix_course_sections (course,section,summary,sequence) values (2,2,2,2); \r
-insert into prefix_course_sections (course,section,summary,sequence) values (3,3,3,3); \r
-insert into prefix_course_sections (course,section,summary,sequence) values (4,4,4,4); \r
-\r
-select id,course,\r
- section,\r
- substr(summary,1,20) summary,\r
- substr(sequence,1,20) sequence\r
- from prefix_course_sections\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table log\r
-rem\r
-\r
-drop TABLE prefix_log;\r
-CREATE TABLE prefix_log (\r
- id number(10) primary key,\r
- time number(10) default '0' not null,\r
- userid number(10) default '0' not null,\r
- ip varchar2(15) default '' not null,\r
- course number(10) default '0' not null,\r
- module varchar2(10) default '' not null,\r
- action varchar2(15) default '' not null,\r
- url varchar2(100) default '' not null,\r
- info varchar2(255) default '' not null\r
-);\r
-\r
-COMMENT on table prefix_log is 'Every action is logged as far as possible.';\r
-\r
-drop sequence p_log_seq;\r
-create sequence p_log_seq;\r
-\r
-create or replace trigger p_log_trig\r
- before insert on prefix_log\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_log_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_log (time,userid,ip,course,module,action,url,info) values (1,1,'ip1',1,'module1','action1','url1','info1'); \r
-insert into prefix_log (time,userid,ip,course,module,action,url,info) values (2,2,'ip2',2,'module2','action2','url2','info2'); \r
-insert into prefix_log (time,userid,ip,course,module,action,url,info) values (3,3,'ip3',3,'module3','action3','url3','info3'); \r
-insert into prefix_log (time,userid,ip,course,module,action,url,info) values (4,4,'ip4',4,'module4','action4','url4','info4'); \r
-\r
-select id,\r
- time,\r
- userid,\r
- substr(ip,1,20) ip,\r
- course,\r
- substr(module,1,20) module,\r
- substr(action,1,20) action,\r
- substr(url,1,20) url,\r
- substr(info,1,20) info\r
- from prefix_log\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table log_display\r
-rem\r
-\r
-drop TABLE prefix_log_display;\r
-CREATE TABLE prefix_log_display (\r
- module varchar2(20) default '' not null,\r
- action varchar2(20) default '' not null,\r
- mtable varchar2(20) default '' not null,\r
- field varchar2(40) default '' not null\r
-) ;\r
-\r
-COMMENT on table prefix_log_display is 'For a particular module/action, specifies a moodle table/field.';\r
-\r
-insert into prefix_log_display (module,action,mtable,field) values ('module1','action1','mtable1','field1'); \r
-insert into prefix_log_display (module,action,mtable,field) values ('module2','action2','mtable2','field2'); \r
-insert into prefix_log_display (module,action,mtable,field) values ('module3','action3','mtable3','field3'); \r
-insert into prefix_log_display (module,action,mtable,field) values ('module4','action4','mtable4','field4'); \r
-insert into prefix_log_display (module,action,mtable,field) values ('module1','action1','mtable1','field1'); \r
-\r
-select substr(module,1,20) module,\r
- substr(action,1,20) action,\r
- substr(mtable,1,20) mtable,\r
- substr(field,1,20) field\r
- from prefix_log_display\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table modules\r
-rem\r
-\r
-drop TABLE prefix_modules;\r
-CREATE TABLE prefix_modules (\r
- id number(10) primary key,\r
- name varchar2(20) default '' not null,\r
- version number(10) default '0' not null,\r
- cron number(10) default '0' not null,\r
- lastcron number(10) default '0' not null,\r
- search varchar2(255) default '' not null\r
-);\r
-\r
-drop sequence p_modules_seq;\r
-create sequence p_modules_seq;\r
-\r
-create or replace trigger p_modules_trig\r
- before insert on prefix_modules\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_modules_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_modules (name,version,cron,lastcron,search) values ('name1',1,1,1,'search1'); \r
-insert into prefix_modules (name,version,cron,lastcron,search) values ('name2',2,2,2,'search2'); \r
-insert into prefix_modules (name,version,cron,lastcron,search) values ('name3',3,3,3,'search3'); \r
-insert into prefix_modules (name,version,cron,lastcron,search) values ('name4',4,4,4,'search4'); \r
-\r
-select substr(name,1,20) name,\r
- version,\r
- cron,\r
- lastcron,\r
- substr(search,1,20) search\r
- from prefix_modules\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table user\r
-rem\r
-\r
-drop TABLE prefix_user;\r
-CREATE TABLE prefix_user (\r
- id number(10) primary key,\r
- confirmed number(1) default '0' not null,\r
- deleted number(1) default '0' not null,\r
- username varchar2(100) default '' not null constraint unq_username unique,\r
- password varchar2(32) default '' not null,\r
- idnumber varchar2(12) default NULL,\r
- firstname varchar2(20) default '' not null,\r
- lastname varchar2(20) default '' not null,\r
- email varchar2(100) default '' not null,\r
- icq varchar2(15) default NULL,\r
- phone1 varchar2(20) default NULL,\r
- phone2 varchar2(20) default NULL,\r
- institution varchar2(40) default NULL,\r
- department varchar2(30) default NULL,\r
- address varchar2(70) default NULL,\r
- city varchar2(20) default NULL,\r
- country varchar2(2) default NULL,\r
- lang varchar2(5) default 'en',\r
- timezone float default '99' not null,\r
- firstaccess number(10) default '0' not null,\r
- lastaccess number(10) default '0' not null,\r
- lastlogin number(10) default '0' not null,\r
- currentlogin number(10) default '0' not null,\r
- lastIP varchar2(15) default NULL,\r
- secret varchar2(15) default NULL,\r
- picture number(1) default NULL,\r
- url varchar2(255) default NULL,\r
- description varchar2(255),\r
- mailformat number(1) default '1' not null,\r
- maildisplay number(2) default '2' not null,\r
- htmleditor number(1) default '1' not null,\r
- timemodified number(10) default '0' not null\r
-) ;\r
-\r
-COMMENT on table prefix_user is 'One record for each person';\r
-\r
-drop sequence p_user_seq;\r
-create sequence p_user_seq;\r
-\r
-create or replace trigger p_user_trig\r
- before insert on prefix_user\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_user_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_user ( confirmed, deleted, username, password, idnumber, firstname, lastname, email, icq, phone1, phone2, institution, department, address, city, country, lang, timezone, firstaccess, lastaccess, lastlogin, currentlogin, lastIP, secret, picture, url, description, mailformat, maildisplay, htmleditor, timemodified ) values ( 1, 1, 'username1', 'password1', 'idnumber1', 'firstname1', 'lastname1', 'email1', 'icq1', 'phone11', 'phone21', 'institution1', 'department1', 'address1', 'city1', 'c1', 'lang1', 1, 1, 1, 1, 1, 'lastIP1', 'secret1', 1, 'url1', 'description1', 1, 1, 1, 1);\r
-insert into prefix_user ( confirmed, deleted, username, password, idnumber, firstname, lastname, email, icq, phone1, phone2, institution, department, address, city, country, lang, timezone, firstaccess, lastaccess, lastlogin, currentlogin, lastIP, secret, picture, url, description, mailformat, maildisplay, htmleditor, timemodified ) \r
-values ( 2, 2, 'username2', 'password2', 'idnumber2', 'firstname2', 'lastname2', 'email2', 'icq2', 'phone12', 'phone22', 'institution2', 'department2', 'address2', 'city2', 'c2', 'lang2', 2, 2, 2, 2, 2, 'lastIP2', 'secret2', 2, 'url2', 'description2', 2, 2, 2, 2);\r
-insert into prefix_user ( confirmed, deleted, username, password, idnumber, firstname, lastname, email, icq, phone1, phone2, institution, department, address, city, country, lang, timezone, firstaccess, lastaccess, lastlogin, currentlogin, lastIP, secret, picture, url, description, mailformat, maildisplay, htmleditor, timemodified ) values ( 3, 3, 'username3', 'password3', 'idnumber3', 'firstname3', 'lastname3', 'email3', 'icq3', 'phone13', 'phone23', 'institution3', 'department3', 'address3', 'city3', 'c3', 'lang3', 3, 3, 3, 3, 3, 'lastIP3', 'secret3', 3, 'url3', 'description3', 3, 3, 3, 3);\r
-\r
-rem test unique constraint on username: this statement should fail\r
-insert into prefix_user ( confirmed, deleted, username, password, idnumber, firstname, lastname, email, icq, phone1, phone2, institution, department, address, city, country, lang, timezone, firstaccess, lastaccess, lastlogin, currentlogin, lastIP, secret, picture, url, description, mailformat, maildisplay, htmleditor, timemodified ) values ( 4, 4, 'username1', 'password4', 'idnumber4', 'firstname4', 'lastname4', 'email4', 'icq4', 'phone14', 'phone24', 'institution4', 'department4', 'address4', 'city4', 'c4', 'lang4', 4, 4, 4, 4, 4, 'lastIP4', 'secret4', 4, 'url4', 'description4', 4, 4, 4, 4);\r
-\r
-select \r
-substr(id,1,4) id,\r
-substr(confirmed,1,4) confirmed,\r
-substr(deleted,1,4) deleted,\r
-substr(username,1,10) username,\r
-substr(password,1,8) password,\r
-substr(idnumber,1,4) idnumber,\r
-substr(firstname,1,8) firstname,\r
-substr(lastname,1,8) lastname,\r
-substr(email,1,8) email,\r
-substr(icq,1,8) icq,\r
-substr(phone1,1,8) phone1,\r
-substr(phone2,1,8) phone2,\r
-substr(institution,1,8) institution,\r
-substr(department,1,8) department,\r
-substr(address,1,8) address,\r
-substr(city,1,8) city,\r
-substr(country,1,8) country,\r
-substr(lang,1,8) lang,\r
-substr(timezone,1,8) timezone,\r
-substr(firstaccess,1,8) firstaccess,\r
-substr(lastaccess,1,8) lastaccess,\r
-substr(lastlogin,1,8) lastlogin,\r
-substr(currentlogin,1,8) currentlogin,\r
-substr(lastIP,1,8) lastIP,\r
-substr(secret,1,8) secret,\r
-substr(picture,1,8) picture,\r
-substr(url,1,10) url,\r
-substr(description,1,10) description,\r
-mailformat,\r
-maildisplay,\r
-htmleditor,\r
-substr(timemodified,1,4) timemodified \r
- from prefix_user\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table user_admins\r
-rem\r
-\r
-drop TABLE prefix_user_admins;\r
-CREATE TABLE prefix_user_admins (\r
- id number(10) primary key,\r
- userid number(10) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_user_admins is 'One record per administrator user';\r
-\r
-drop sequence p_user_admins_seq;\r
-create sequence p_user_admins_seq;\r
-\r
-create or replace trigger p_user_admins_trig\r
- before insert on prefix_user_admins\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_user_admins_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_user_admins (userid) values (1); \r
-insert into prefix_user_admins (userid) values (2); \r
-insert into prefix_user_admins (userid) values (3); \r
-insert into prefix_user_admins (userid) values (4); \r
-\r
-select *\r
- from prefix_user_admins\r
-/\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table user_students\r
-rem\r
-\r
-drop TABLE prefix_user_students;\r
-CREATE TABLE prefix_user_students (\r
- id number(10) primary key,\r
- userid number(10) default '0' not null,\r
- course number(10) default '0' not null,\r
- timestart number(10) default '0' not null,\r
- timeend number(10) default '0' not null,\r
- time number(10) default '0' not null\r
-);\r
-\r
-drop sequence p_user_students_seq;\r
-create sequence p_user_students_seq;\r
-\r
-create or replace trigger p_user_students_trig\r
- before insert on prefix_user_students\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_user_students_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_user_students (userid,course,timestart,timeend,time) values (1,1,1,1,1); \r
-insert into prefix_user_students (userid,course,timestart,timeend,time) values (2,2,2,2,2); \r
-insert into prefix_user_students (userid,course,timestart,timeend,time) values (3,3,3,3,3); \r
-insert into prefix_user_students (userid,course,timestart,timeend,time) values (4,4,4,4,4); \r
-\r
-select *\r
- from prefix_user_students\r
-/\r
-\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table user_teachers\r
-rem\r
-\r
-drop TABLE prefix_user_teachers;\r
-CREATE TABLE prefix_user_teachers (\r
- id number(10) primary key,\r
- userid number(10) default '0' not null,\r
- course number(10) default '0' not null,\r
- authority number(10) default '3' not null,\r
- role varchar2(40) default '' not null\r
-);\r
-\r
-COMMENT on table prefix_user_teachers is 'One record per teacher per course';\r
-\r
-drop sequence p_user_teachers_seq;\r
-create sequence p_user_teachers_seq;\r
-\r
-create or replace trigger p_user_teachers_trig\r
- before insert on prefix_user_teachers\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_user_teachers_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_user_teachers (userid,course,authority,role) values (1,1,1,'role1'); \r
-insert into prefix_user_teachers (userid,course,authority,role) values (2,2,2,'role2'); \r
-insert into prefix_user_teachers (userid,course,authority,role) values (3,3,3,'role3'); \r
-insert into prefix_user_teachers (userid,course,authority,role) values (3,3,3,'role3'); \r
-\r
-select *\r
- from prefix_user_teachers\r
-/\r
-\r
-rem\r
-rem Table structure for table user_admins\r
-rem\r
-\r
-drop TABLE prefix_user_coursecreators;\r
-CREATE TABLE prefix_user_coursecreators (\r
- id number(10) primary key,\r
- userid number(10) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_user_coursecreators is 'One record per course creator';\r
-drop sequence p_user_coursecreators_seq;\r
-create sequence p_user_coursecreators_seq;\r
-\r
-create or replace trigger p_user_coursecreators_trig\r
- before insert on prefix_user_coursecreators\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select p_user_coursecreators_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_user_coursecreators (userid) values (1);\r
-insert into prefix_user_coursecreators (userid) values (2);\r
-insert into prefix_user_coursecreators (userid) values (3);\r
-insert into prefix_user_coursecreators (userid) values (4);\r
-\r
-select *\r
- from prefix_user_coursecreators\r
-/\r
-rem --------------------------------------------------------\r
-\r
-INSERT INTO prefix_log_display VALUES ('user', 'view', 'user', 'firstname'||' '||'lastname');\r
-INSERT INTO prefix_log_display VALUES ('course', 'view', 'course', 'fullname');\r
-INSERT INTO prefix_log_display VALUES ('course', 'update', 'course', 'fullname');\r
-INSERT INTO prefix_log_display VALUES ('course', 'enrol', 'course', 'fullname');\r
-INSERT INTO prefix_log_display VALUES ('course', 'update', 'course', 'fullname');\r
-\r
-select substr(module,1,20) module,\r
- substr(action,1,20) action,\r
- substr(mtable,1,20) mtable,\r
- substr(field,1,20) field\r
- from prefix_log_display\r
-/\r
-spool off\r
+++ /dev/null
-rem\r
-rem Oracle - draft draft draft untested untested untested\r
-rem\r
-\r
-set echo on pagesize 60\r
-spool t.lst\r
-\r
-rem\r
-rem Table structure for table quiz\r
-rem\r
-\r
-drop table prefix_quiz;\r
-CREATE TABLE prefix_quiz (\r
- id number(10) primary key,\r
- course number(10) default '0' not null,\r
- name varchar2(255) default '' not null,\r
- intro varchar2(255) NOT NULL,\r
- timeopen number(10) default '0' not null,\r
- timeclose number(10) default '0' not null,\r
- attempts number(6) default '0' not null,\r
- feedback number(4) default '0' not null,\r
- correctanswers number(4) default '1' not null,\r
- grademethod number(4) default '1' not null,\r
- review number(4) default '0' not null,\r
- questions varchar2(255) NOT NULL,\r
- sumgrades number(10) default '0' not null,\r
- grade number(10) default '0' not null,\r
- timecreated number(10) default '0' not null,\r
- timemodified number(10) default '0' not null\r
-);\r
-\r
-comment on table prefix_quiz is 'Main information about each quiz';\r
-\r
-drop sequence pqs;\r
-create sequence pqs;\r
-\r
-create or replace trigger pqt\r
- before insert on prefix_quiz\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pqs.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_quiz (course,name,intro,questions) values \r
- (101,'Fundamentals of Testing','Test intro','question 1, question 2');\r
-\r
-insert into prefix_quiz (course,name,intro,questions) values \r
- (102,'Fundamentals of Testing 2','Test intro','question 3, question 4');\r
-\r
-insert into prefix_quiz (course,name,intro,questions) values \r
- (101,'Fundamentals of Testing','Test intro','question 1, question 2');\r
-\r
-insert into prefix_quiz (course,name,intro,questions) values \r
- (102,'Fundamentals of Testing 2','Test intro','question 3, question 4');\r
-\r
-select id,course,substr(name,1,20) name,\r
- substr(intro,1,12) intro,\r
- substr(questions,1,22) questions\r
- from prefix_quiz order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_answers\r
-rem\r
-\r
-drop TABLE prefix_quiz_answers;\r
-CREATE TABLE prefix_quiz_answers (\r
- id number(10) NOT NULL PRIMARY KEY,\r
- question number(10) default '0' not null,\r
- answer varchar(255) default '' not null,\r
- fraction varchar(10) default '0.0',\r
- feedback varchar2(255) NOT NULL\r
-);\r
-\r
-COMMENT on table prefix_quiz_answers is 'Answers, with a fractional grade (0-1) and feedback';\r
-\r
-drop sequence pqas;\r
-create sequence pqas;\r
-\r
-create or replace trigger pqat\r
- before insert on prefix_quiz_answers\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pqas.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
- (1,'Answer #1','fraction1','feedback1');\r
-\r
-insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
- (13,'Answer #13','fraction13','feedback13');\r
-\r
-insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
- (31,'Answer #31','fraction31','feedback31');\r
-\r
-insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
- (3,'Answer #3','fraction3','feedback3');\r
-\r
-select id,substr(question,1,12),\r
- substr(answer,1,12),\r
- substr(fraction,1,12),\r
- substr(feedback,1,12)\r
- from prefix_quiz_answers\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_attempts\r
-rem\r
-\r
-drop table prefix_quiz_attempts;\r
-CREATE TABLE prefix_quiz_attempts (\r
- id number(10) primary key,\r
- quiz number(10) default '0' not null,\r
- userid number(10) default '0' not null,\r
- attempt number(6) default '0' not null,\r
- sumgrades varchar(10) default '0.0' not null,\r
- timestart number(10) default '0' not null,\r
- timefinish number(10) default '0' not null,\r
- timemodified number(10) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_attempts is 'Stores various attempts on a quiz';\r
-\r
-drop sequence pq_attempts_seq;\r
-create sequence pq_attempts_seq;\r
-\r
-create or replace trigger pq_attempts_trig\r
- before insert on prefix_quiz_attempts\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_attempts_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-\r
-insert into prefix_quiz_attempts (\r
- quiz,userid,attempt,sumgrades,timestart,timefinish,timemodified) \r
-values (1,1,1,'sumgrades',1400,1405,1404);\r
-\r
-select \r
- id,\r
- quiz,\r
- userid,\r
- attempt,\r
- substr(sumgrades,1,12) sumgrades,\r
- timestart,\r
- timefinish,\r
- timemodified\r
- from prefix_quiz_attempts\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_categories\r
-rem\r
-\r
-drop table prefix_quiz_categories;\r
-CREATE TABLE prefix_quiz_categories (\r
- id number(10) primary key,\r
- course number(10) default '0' not null,\r
- name varchar(255) default '' not null,\r
- info varchar2(255) not null,\r
- publish number(4) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_categories is 'Categories are for grouping questions';\r
-\r
-drop sequence pq_categories_seq;\r
-create sequence pq_categories_seq;\r
-\r
-create or replace trigger pq_categories_trig\r
- before insert on prefix_quiz_categories\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_categories_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_categories (course,name,info,publish) values (1,1,1,1);\r
-insert into prefix_quiz_categories (course,name,info,publish) values (2,2,2,2);\r
-insert into prefix_quiz_categories (course,name,info,publish) values (3,3,3,3);\r
-insert into prefix_quiz_categories (course,name,info,publish) values (4,4,4,4);\r
-\r
-select id,\r
- substr(course,1,4) course,\r
- substr(name,1,4) name,\r
- substr(info,1,4) info,\r
- substr(publish,1,4) publish\r
- from prefix_quiz_categories\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_grades\r
-rem\r
-\r
-drop TABLE prefix_quiz_grades;\r
-CREATE TABLE prefix_quiz_grades (\r
- id number(10) NOT NULL ,\r
- quiz number(10) default '0' not null,\r
- userid number(10) default '0' not null,\r
- grade varchar(10) default '0.0' not null,\r
- timemodified number(10) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_grades is 'Final quiz grade (may be best of several attempts)';\r
-\r
-drop sequence pq_grades_seq;\r
-create sequence pq_grades_seq;\r
-\r
-create or replace trigger pq_grades_trig\r
- before insert on prefix_quiz_grades\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_grades_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (1,1,1,1);\r
-insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (2,2,2,2);\r
-insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (3,3,3,3);\r
-insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (4,4,4,4);\r
-\r
-select id,\r
- substr(quiz,1,4) quiz,\r
- substr(userid,1,4) userid,\r
- substr(grade,1,4) grade,\r
- substr(timemodified,1,4) timemodified\r
- from prefix_quiz_grades\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_multichoice\r
-rem\r
-\r
-drop TABLE prefix_quiz_multichoice;\r
-CREATE TABLE prefix_quiz_multichoice (\r
- id number(10) primary key,\r
- question number(10) default '0' not null,\r
- layout number(4) default '0' not null,\r
- answers varchar(255) default '' not null,\r
- single number(4) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_multichoice is 'Options for multiple choice questions';\r
-\r
-drop sequence pq_multichoice_seq;\r
-create sequence pq_multichoice_seq;\r
-\r
-create or replace trigger pq_multichoice_trig\r
- before insert on prefix_quiz_multichoice\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_multichoice_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_multichoice (question,layout,answers,single) values (1,1,1,1);\r
-insert into prefix_quiz_multichoice (question,layout,answers,single) values (2,2,2,2);\r
-insert into prefix_quiz_multichoice (question,layout,answers,single) values (3,3,3,3);\r
-insert into prefix_quiz_multichoice (question,layout,answers,single) values (4,4,4,4);\r
-\r
-select id,\r
- substr(question,1,4) question,\r
- substr(layout,1,4) layout,\r
- substr(answers,1,4) answers,\r
- substr(single,1,4) single\r
- from prefix_quiz_multichoice\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_question_grades\r
-rem\r
-\r
-drop TABLE prefix_quiz_question_grades;\r
-CREATE TABLE prefix_quiz_question_grades (\r
- id number(10) NOT NULL ,\r
- quiz number(10) default '0',\r
- question number(10) default '0',\r
- grade number(6) default '0'\r
-);\r
-\r
-COMMENT on table prefix_quiz_question_grades is 'The grade for a question in a quiz';\r
-\r
-drop sequence pq_question_grades_seq;\r
-create sequence pq_question_grades_seq;\r
-\r
-create or replace trigger pq_question_grades_trig\r
- before insert on prefix_quiz_question_grades\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_question_grades_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_question_grades (quiz,question,grade) values (1,1,1);\r
-insert into prefix_quiz_question_grades (quiz,question,grade) values (2,2,2);\r
-insert into prefix_quiz_question_grades (quiz,question,grade) values (3,3,3);\r
-insert into prefix_quiz_question_grades (quiz,question,grade) values (4,4,4);\r
-\r
-select id,\r
- substr(quiz,1,4) quiz,\r
- substr(question,1,4) question,\r
- substr(grade,1,4) grade\r
- from prefix_quiz_question_grades\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_randommatch\r
-rem\r
-\r
-drop TABLE prefix_quiz_randommatch;\r
-CREATE TABLE prefix_quiz_randommatch (\r
- id number(10) primary key,\r
- question number(10) default '0' not null,\r
- choose INT DEFAULT '4' NOT NULL\r
-);\r
-\r
-COMMENT on table prefix_quiz_randommatch is 'Info about a random matching question';\r
-\r
-drop sequence pq_randommatch_seq;\r
-create sequence pq_randommatch_seq;\r
-\r
-create or replace trigger pq_randommatch_trig\r
- before insert on prefix_quiz_randommatch\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_randommatch_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_randommatch (question,choose) values (1,1);\r
-insert into prefix_quiz_randommatch (question,choose) values (2,2);\r
-insert into prefix_quiz_randommatch (question,choose) values (3,3);\r
-insert into prefix_quiz_randommatch (question,choose) values (4,4);\r
-\r
-select id,\r
- substr(question,1,4) question,\r
- substr(choose,1,4) choose\r
- from prefix_quiz_randommatch\r
- order by 1,2;\r
-\r
-rem\r
-rem Table structure for table quiz_questions\r
-rem\r
-\r
-drop TABLE prefix_quiz_questions;\r
-CREATE TABLE prefix_quiz_questions (\r
- id number(10) primary key,\r
- category number(10) default '0' not null,\r
- name varchar(255) default '' not null,\r
- questiontext varchar2(255) NOT NULL,\r
- image varchar(255) default '' not null,\r
- qtype number(6) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_questions is 'The quiz questions themselves';\r
-\r
-drop sequence pq_questions_seq;\r
-create sequence pq_questions_seq;\r
-\r
-create or replace trigger pq_questions_trig\r
- before insert on prefix_quiz_questions\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_questions_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (1,'name1','questiontext1','image1',1);\r
-insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (2,'name2','questiontext2','image2',2);\r
-insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (3,'name3','questiontext3','image3',3);\r
-insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (4,'name4','questiontext4','image4',4);\r
-\r
-select id,\r
- substr(category,1,4) category,\r
- substr(name,1,4) name,\r
- substr(questiontext,1,4) questiontext,\r
- substr(image,1,4) image,\r
- substr(qtype,1,4) qtype\r
- from prefix_quiz_questions\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_responses\r
-rem\r
-\r
-drop TABLE prefix_quiz_responses;\r
-CREATE TABLE prefix_quiz_responses (\r
- id number(10) primary key,\r
- attempt number(10) default '0' not null,\r
- question number(10) default '0' not null,\r
- answer varchar(255) default '' not null,\r
- grade varchar(10) default '0.0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_questions is 'Stores user responses to a quiz, and percentage grades';\r
-\r
-drop sequence pq_responses_seq;\r
-create sequence pq_responses_seq;\r
-\r
-create or replace trigger pq_responses_trig\r
- before insert on prefix_quiz_responses\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_responses_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_responses (attempt,question,answer,grade) \r
-values (1,1,'answer1','grade1');\r
-insert into prefix_quiz_responses (attempt,question,answer,grade) \r
-values (2,2,'answer2','grade2');\r
-insert into prefix_quiz_responses (attempt,question,answer,grade) \r
-values (3,3,'answer3','grade3');\r
-insert into prefix_quiz_responses (attempt,question,answer,grade) \r
-values (4,4,'answer4','grade4');\r
-\r
-select id,\r
- substr(attempt,1,4) attempt,\r
- substr(question,1,14) question,\r
- substr(answer,1,14) answer,\r
- substr(grade,1,14) grade\r
- from prefix_quiz_responses\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_shortanswer\r
-rem\r
-\r
-drop TABLE prefix_quiz_shortanswer;\r
-CREATE TABLE prefix_quiz_shortanswer (\r
- id number(10) primary key,\r
- question number(10) default '0' not null,\r
- answers varchar(255) default '' not null,\r
- usecase number(2) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_shortanswer is 'Options for short answer questions';\r
-\r
-drop sequence pq_shortanswer_seq;\r
-create sequence pq_shortanswer_seq;\r
-\r
-create or replace trigger pq_shortanswer_trig\r
- before insert on prefix_quiz_shortanswer\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_shortanswer_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_shortanswer (question,answers,usecase) values (1,'answer1',1);\r
-insert into prefix_quiz_shortanswer (question,answers,usecase) values (2,'answer2',2);\r
-insert into prefix_quiz_shortanswer (question,answers,usecase) values (3,'answer3',3);\r
-insert into prefix_quiz_shortanswer (question,answers,usecase) values (4,'answer4',4);\r
-\r
-select id,\r
- substr(question,1,14) question,\r
- substr(answers,1,14) answers,\r
- substr(usecase,1,14) usecase\r
- from prefix_quiz_shortanswer\r
- order by 1,2;\r
-\r
-rem --------------------------------------------------------\r
-\r
-rem\r
-rem Table structure for table quiz_truefalse\r
-rem\r
-\r
-drop TABLE prefix_quiz_truefalse;\r
-CREATE TABLE prefix_quiz_truefalse (\r
- id number(10) primary key,\r
- question number(10) default '0' not null,\r
- trueanswer number(10) default '0' not null,\r
- falseanswer number(10) default '0' not null\r
-);\r
-\r
-COMMENT on table prefix_quiz_truefalse is 'Options for True-False questions';\r
-\r
-\r
-drop sequence pq_truefalse_seq;\r
-create sequence pq_truefalse_seq;\r
-\r
-create or replace trigger pq_truefalse_trig\r
- before insert on prefix_quiz_truefalse\r
- referencing new as new_row\r
- for each row\r
- begin\r
- select pq_truefalse_seq.nextval into :new_row.id from dual;\r
- end;\r
-.\r
-/\r
-insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (1,1,1);\r
-insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (2,2,2);\r
-insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (3,3,3);\r
-insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (4,4,4);\r
-\r
-select id,\r
- substr(question,1,14) question,\r
- substr(trueanswer,1,14) trueanswer,\r
- substr(falseanswer,1,14) falseanswer\r
- from prefix_quiz_truefalse\r
- order by 1,2;\r
-\r
-select \r
- substr(table_name,1,28) table_name,\r
- substr(comments,1,54) comments \r
- from all_tab_comments\r
- where owner = 'SCOTT'\r
- and table_name like 'PREFIX%'\r
-/\r
-\r
-INSERT INTO prefix_log_display VALUES ('quiz', 'view', 'quiz', 'name');\r
-INSERT INTO prefix_log_display VALUES ('quiz', 'report', 'quiz', 'name');\r
-INSERT INTO prefix_log_display VALUES ('quiz', 'attempt', 'quiz', 'name');\r
-INSERT INTO prefix_log_display VALUES ('quiz', 'submit', 'quiz', 'name');\r
-\r
-spool off\r