--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!-- saved from url=(0041)http://localhost/moodle/lib/db/schema.php -->\r
+<HTML><HEAD>\r
+<META http-equiv=Content-Type content="text/html; charset=windows-1252">\r
+<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>\r
+<BODY>\r
+<H2>Moodle lib/db ADODB XML Schema</H2>\r
+<HR>\r
+(oci8po): ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD' <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from dept <CODE></CODE>\r
+<HR>\r
+<PRE>Array\r
+(\r
+ [0] => Array\r
+ (\r
+ [0] => 10\r
+ [DEPTNO] => 10\r
+ [1] => ACCOUNTING\r
+ [DNAME] => ACCOUNTING\r
+ [2] => NEW YORK\r
+ [LOC] => NEW YORK\r
+ )\r
+\r
+ [1] => Array\r
+ (\r
+ [0] => 20\r
+ [DEPTNO] => 20\r
+ [1] => RESEARCH\r
+ [DNAME] => RESEARCH\r
+ [2] => DALLAS\r
+ [LOC] => DALLAS\r
+ )\r
+\r
+ [2] => Array\r
+ (\r
+ [0] => 30\r
+ [DEPTNO] => 30\r
+ [1] => SALES\r
+ [DNAME] => SALES\r
+ [2] => CHICAGO\r
+ [LOC] => CHICAGO\r
+ )\r
+\r
+ [3] => Array\r
+ (\r
+ [0] => 40\r
+ [DEPTNO] => 40\r
+ [1] => OPERATIONS\r
+ [DNAME] => OPERATIONS\r
+ [2] => BOSTON\r
+ [LOC] => BOSTON\r
+ )\r
+\r
+)\r
+</PRE>\r
+<TABLE cols=3 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>Deptno</TH>\r
+ <TH>DName</TH>\r
+ <TH>Loc</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>10 </TD>\r
+ <TD>ACCOUNTING</TD>\r
+ <TD>NEW YORK</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>20 </TD>\r
+ <TD>RESEARCH</TD>\r
+ <TD>DALLAS</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>30 </TD>\r
+ <TD>SALES</TD>\r
+ <TD>CHICAGO</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>40 </TD>\r
+ <TD>OPERATIONS</TD>\r
+ <TD>BOSTON</TD></TR></TBODY></TABLE>\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<H3>schemaConfig.xml</H3>\r
+<HR>\r
+(oci8po): drop table config <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_config <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(config): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE config ( id DECIMAL(10) NOT NULL, name VARCHAR(255) NOT \r
+NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_config <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_config BEFORE insert ON config FOR \r
+EACH ROW BEGIN select SEQ_config.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into config values (1, '1', '1') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into config values (2, '2', '2') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into config values (3, '3', '3') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from config <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=3 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>name</TH>\r
+ <TH>value</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse.xml</H3>\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): drop table course <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE TABLE course ( id DECIMAL(10) NOT NULL, category DECIMAL(10) \r
+NOT NULL, sortorder DECIMAL(10) NOT NULL, password VARCHAR(50) NOT NULL, \r
+fullname VARCHAR(254) NOT NULL, shortname VARCHAR(15) NOT NULL, summary \r
+VARCHAR(4000), format VARCHAR(15) NOT NULL, showgrades DECIMAL(1) NOT NULL, \r
+modinfo VARCHAR(4000), newsitems DECIMAL(3) NOT NULL, teacher VARCHAR(100) NOT \r
+NULL, teachers VARCHAR(100) NOT NULL, student VARCHAR(100) NOT NULL, students \r
+VARCHAR(100) NOT NULL, guest DECIMAL(3) NOT NULL, startdate DECIMAL(10) NOT \r
+NULL, numsections DECIMAL(3) NOT NULL, showrecent DECIMAL(3) NOT NULL, marker \r
+DECIMAL(10) NOT NULL, maxbytes DECIMAL(10) NOT NULL, showreports DECIMAL(10) NOT \r
+NULL, visible DECIMAL(10) NOT NULL, timecreated DECIMAL(10) NOT NULL, \r
+timemodified DECIMAL(10) NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course BEFORE insert ON course FOR \r
+EACH ROW BEGIN select SEQ_course.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course values (1, 1, 1, '1', '1', '1', '1', '1', 1, '1', \r
+1, '1', '1', '1', '1', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course values (2, 2, 2, '2', '2', '2', '2', '2', 2, 2, 2, \r
+2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course values (3, 3, 3, '3', '3', '3', '3', '3', 3, 3, 3, \r
+3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from course <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=25 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>category</TH>\r
+ <TH>sortorder</TH>\r
+ <TH>password</TH>\r
+ <TH>fullname</TH>\r
+ <TH>shortname</TH>\r
+ <TH>summary</TH>\r
+ <TH>format</TH>\r
+ <TH>showgrades</TH>\r
+ <TH>modinfo</TH>\r
+ <TH>newsitems</TH>\r
+ <TH>teacher</TH>\r
+ <TH>teachers</TH>\r
+ <TH>student</TH>\r
+ <TH>students</TH>\r
+ <TH>guest</TH>\r
+ <TH>startdate</TH>\r
+ <TH>numsections</TH>\r
+ <TH>showrecent</TH>\r
+ <TH>marker</TH>\r
+ <TH>maxbytes</TH>\r
+ <TH>showreports</TH>\r
+ <TH>visible</TH>\r
+ <TH>timecreated</TH>\r
+ <TH>timemodified</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_categories.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_categories <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_categories <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_categories): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_categories ( id DECIMAL(10) NOT NULL, name \r
+VARCHAR(255) NOT NULL, description VARCHAR(4000), parent DECIMAL(10) NOT NULL, \r
+sortorder DECIMAL(10) NOT NULL, coursecount DECIMAL(10) NOT NULL, visible \r
+DECIMAL(1) NOT NULL, timemodified DECIMAL(1) NOT NULL, PRIMARY KEY (id) ) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_categories <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_categories BEFORE insert ON \r
+course_categories FOR EACH ROW BEGIN select SEQ_course_categories.nextval into \r
+:new.id from dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_categories values (1, '1', '1', 1, 1, 1, 1, 1) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_categories values (2, '2', '2', 2, 2, 2, 2, 2) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_categories values (3, '3', '3', 3, 3, 3, 3, 3) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_categories <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=8 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>name</TH>\r
+ <TH>description</TH>\r
+ <TH>parent</TH>\r
+ <TH>sortorder</TH>\r
+ <TH>coursecount</TH>\r
+ <TH>visible</TH>\r
+ <TH>timemodified</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_display.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_display <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_display <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_display): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_display ( id DECIMAL(10) NOT NULL, course \r
+DECIMAL(10) NOT NULL, userid DECIMAL(10) NOT NULL, display DECIMAL(10) NOT NULL, \r
+PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_display <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_display BEFORE insert ON \r
+course_display FOR EACH ROW BEGIN select SEQ_course_display.nextval into :new.id \r
+from dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_display values (1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_display values (2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_display values (3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_display <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=4 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>course</TH>\r
+ <TH>userid</TH>\r
+ <TH>display</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_modules.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_modules): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_modules ( id DECIMAL(10) NOT NULL, course \r
+DECIMAL(10) NOT NULL, module DECIMAL(10) NOT NULL, instance DECIMAL(10) NOT \r
+NULL, section DECIMAL(10) NOT NULL, added DECIMAL(10) NOT NULL, deleted \r
+DECIMAL(1) NOT NULL, score DECIMAL(1) NOT NULL, indent DECIMAL(10) NOT NULL, \r
+visible DECIMAL(1) NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_modules BEFORE insert ON \r
+course_modules FOR EACH ROW BEGIN select SEQ_course_modules.nextval into :new.id \r
+from dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_modules values (1, 1, 1, 1, 1, 1, 1, 1, 1, 1) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_modules values (2, 2, 2, 2, 2, 2, 2, 2, 2, 2) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_modules values (3, 3, 3, 3, 3, 3, 3, 3, 3, 3) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_modules <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=10 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>course</TH>\r
+ <TH>module</TH>\r
+ <TH>instance</TH>\r
+ <TH>section</TH>\r
+ <TH>added</TH>\r
+ <TH>deleted</TH>\r
+ <TH>score</TH>\r
+ <TH>indent</TH>\r
+ <TH>visible</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_sections.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_sections <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_sections <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_sections): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_sections ( id DECIMAL(10) NOT NULL, course \r
+DECIMAL(10) NOT NULL, section DECIMAL(10) NOT NULL, summary VARCHAR(4000), \r
+sequence VARCHAR(4000), visible DECIMAL(1) NOT NULL, PRIMARY KEY (id) ) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_sections <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_sections BEFORE insert ON \r
+course_sections FOR EACH ROW BEGIN select SEQ_course_sections.nextval into \r
+:new.id from dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_sections values (1, 1, 1, 1, 1, 1) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_sections values (2, 2, 2, 2, 2, 2) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_sections values (3, 3, 3, 3, 3, 3) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_sections <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=6 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>course</TH>\r
+ <TH>section</TH>\r
+ <TH>summary</TH>\r
+ <TH>sequence</TH>\r
+ <TH>visible</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_groups.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_groups <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_groups <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_groups): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_groups ( id DECIMAL(10) NOT NULL, courseid \r
+DECIMAL(10) NOT NULL, name VARCHAR(254) NOT NULL, description VARCHAR(4000), \r
+lang VARCHAR(10) NOT NULL, picture DECIMAL(10) NOT NULL, timecreated DECIMAL(10) \r
+NOT NULL, timemodified DECIMAL(10) NOT NULL, PRIMARY KEY (id) ) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_groups <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_groups BEFORE insert ON \r
+course_groups FOR EACH ROW BEGIN select SEQ_course_groups.nextval into :new.id \r
+from dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_groups values (1, 1, 1, 1, 1, 1, 1, 1) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_groups values (2, 2, 2, 2, 2, 2, 2, 2) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_groups values (3, 3, 3, 3, 3, 3, 3, 3) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_groups <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=8 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>courseid</TH>\r
+ <TH>name</TH>\r
+ <TH>description</TH>\r
+ <TH>lang</TH>\r
+ <TH>picture</TH>\r
+ <TH>timecreated</TH>\r
+ <TH>timemodified</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaCourse_groups_members.xml</H3>\r
+<HR>\r
+(oci8po): drop table course_groups_members <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_course_groups_members <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(course_groups_members): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE course_groups_members ( id DECIMAL(10) NOT NULL, groupid \r
+DECIMAL(10) NOT NULL, userid DECIMAL(10) NOT NULL, timeadded DECIMAL(10) NOT \r
+NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_course_groups_members <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_course_groups_members BEFORE insert \r
+ON course_groups_members FOR EACH ROW BEGIN select \r
+SEQ_course_groups_members.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into course_groups_members values (1, 1, 1, 1) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_groups_members values (2, 2, 2, 2) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into Course_groups_members values (3, 3, 3, 3) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from Course_groups_members <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=4 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>courseid</TH>\r
+ <TH>name</TH>\r
+ <TH>description</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaLog.xml</H3>\r
+<HR>\r
+(oci8po): drop table log <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_log <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(log): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE log ( id DECIMAL(10) NOT NULL, time DECIMAL(10) NOT NULL, \r
+userid DECIMAL(10) NOT NULL, ip VARCHAR(15) NOT NULL, course DECIMAL(10) NOT \r
+NULL, module VARCHAR(10) NOT NULL, action VARCHAR(15) NOT NULL, url VARCHAR(100) \r
+NOT NULL, info VARCHAR(255) NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_log <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_log BEFORE insert ON log FOR EACH \r
+ROW BEGIN select SEQ_log.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log values (1, 1, 1, 1, 1, 1, 1, 1, 1) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log values (2, 2, 2, 2, 2, 2, 2, 2, 2) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log values (3, 3, 3, 3, 3, 3, 3, 3, 3) \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from log <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=9 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>time</TH>\r
+ <TH>userid</TH>\r
+ <TH>ip</TH>\r
+ <TH>course</TH>\r
+ <TH>module</TH>\r
+ <TH>action</TH>\r
+ <TH>url</TH>\r
+ <TH>info</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD></TR></TBODY></TABLE>\r
+<H3>schemaLog_display.xml</H3>\r
+<HR>\r
+(oci8po): drop table log_display <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_log_display <CODE></CODE>\r
+<HR>\r
+<BR><B>Warning</B>: OCIStmtExecute: ORA-02289: sequence does not exist in \r
+<B>C:\Program Files\EasyPHP\www\moodle\lib\adodb\drivers\adodb-oci8.inc.php</B> \r
+on line <B>791</B><BR>2289: ORA-02289: sequence does not exist <BR>\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(log_display): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE log_display ( module VARCHAR(20) NOT NULL, action \r
+VARCHAR(20) NOT NULL, mtable VARCHAR(20) NOT NULL, field VARCHAR(40) NOT NULL ) \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log_display values (1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log_display values (2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into log_display values (3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from log_display <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=4 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>time</TH>\r
+ <TH>userid</TH>\r
+ <TH>ip</TH>\r
+ <TR vAlign=top>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD></TR>\r
+ <TR vAlign=top>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD></TR></TBODY></TABLE>\r
+<H3>schemaModules.xml</H3>\r
+<HR>\r
+(oci8po): drop table modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(modules): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE modules ( id DECIMAL(10) NOT NULL, name VARCHAR(20) NOT \r
+NULL, version DECIMAL(10) NOT NULL, cron DECIMAL(10) NOT NULL, lastcron \r
+DECIMAL(10) NOT NULL, search VARCHAR(255) NOT NULL, visible DECIMAL(1) NOT NULL, \r
+PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_modules <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_modules BEFORE insert ON modules \r
+FOR EACH ROW BEGIN select SEQ_modules.nextval into :new.id from dual; END; \r
+ <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into modules values (1, 1, 1, 1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into modules values (2, 2, 2, 2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into modules values (3, 3, 3, 3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from modules <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=7 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>name</TH>\r
+ <TH>version</TH>\r
+ <TH>cron</TH>\r
+ <TH>lastcron</TH>\r
+ <TH>search</TH>\r
+ <TH>visible</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaScale.xml</H3>\r
+<HR>\r
+(oci8po): drop table scale <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_scale <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(scale): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE scale ( id DECIMAL(10) NOT NULL, courseid DECIMAL(10) NOT \r
+NULL, userid DECIMAL(10) NOT NULL, name VARCHAR(255) NOT NULL, scale \r
+VARCHAR(4000), description VARCHAR(4000), timemodified DECIMAL(10) NOT NULL, \r
+PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_scale <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_scale BEFORE insert ON scale FOR \r
+EACH ROW BEGIN select SEQ_scale.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into scale values (1, 1, 1, 1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into scale values (2, 2, 2, 2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into scale values (3, 3, 3, 3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from scale <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=7 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>courseid</TH>\r
+ <TH>userid</TH>\r
+ <TH>name</TH>\r
+ <TH>scale</TH>\r
+ <TH>description</TH>\r
+ <TH>timemodified</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaUser.xml</H3>\r
+<HR>\r
+(oci8po): drop table m_user <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_m_user <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(m_user): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE m_user ( id DECIMAL(10) NOT NULL, confirmed DECIMAL(1) \r
+NOT NULL, deleted DECIMAL(1) NOT NULL, username VARCHAR(100) NOT NULL, password \r
+VARCHAR(32) NOT NULL, idnumber VARCHAR(12) NOT NULL, firstname VARCHAR(20) NOT \r
+NULL, lastname VARCHAR(20) NOT NULL, email VARCHAR(100) NOT NULL, icq \r
+VARCHAR(15), phone1 VARCHAR(20), phone2 VARCHAR(20), institution VARCHAR(40), \r
+department VARCHAR(30), address VARCHAR(70), city VARCHAR(20), country \r
+VARCHAR(20), lang VARCHAR(5) NOT NULL, timezone DECIMAL NOT NULL, firstaccess \r
+DECIMAL(10) NOT NULL, lastaccess DECIMAL(10) NOT NULL, lastlogin DECIMAL(10) NOT \r
+NULL, currentlogin DECIMAL(10) NOT NULL, lastIP VARCHAR(15), secret VARCHAR(15) \r
+NOT NULL, picture DECIMAL(1), url VARCHAR(100), description VARCHAR(4000), \r
+mailformat DECIMAL(1) NOT NULL, maildisplay DECIMAL(1) NOT NULL, htmleditor \r
+DECIMAL(1) NOT NULL, autosubscribe DECIMAL(1) NOT NULL, timemodified DECIMAL(10) \r
+NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_m_user <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_m_user BEFORE insert ON m_user FOR \r
+EACH ROW BEGIN select SEQ_m_user.nextval into :new.id from dual; END; \r
+<CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into m_user values (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \r
+1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into m_user values (2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, \r
+2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into m_user values (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \r
+3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from m_user <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=33 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>confirmed</TH>\r
+ <TH>deleted</TH>\r
+ <TH>m_username</TH>\r
+ <TH>password</TH>\r
+ <TH>idnumber</TH>\r
+ <TH>firstname</TH>\r
+ <TH>lastname</TH>\r
+ <TH>email</TH>\r
+ <TH>icq</TH>\r
+ <TH>phone1</TH>\r
+ <TH>phone2</TH>\r
+ <TH>institution</TH>\r
+ <TH>department</TH>\r
+ <TH>address</TH>\r
+ <TH>city</TH>\r
+ <TH>country</TH>\r
+ <TH>lang</TH>\r
+ <TH>timezone</TH>\r
+ <TH>firstaccess</TH>\r
+ <TH>lastaccess</TH>\r
+ <TH>lastlogin</TH>\r
+ <TH>currentlogin</TH>\r
+ <TH>lastIP</TH>\r
+ <TH>secret</TH>\r
+ <TH>picture</TH>\r
+ <TH>url</TH>\r
+ <TH>description</TH>\r
+ <TH>mailformat</TH>\r
+ <TH>maildisplay</TH>\r
+ <TH>htmleditor</TH>\r
+ <TH>autosubscribe</TH>\r
+ <TH>timemodified</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD>1</TD>\r
+ <TD>1</TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD>2</TD>\r
+ <TD>2</TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD>3</TD>\r
+ <TD>3</TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE>\r
+<H3>schemaUser_admins.xml</H3>\r
+<HR>\r
+(oci8po): drop table user_admins <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): drop sequence SEQ_user_admins <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select value from sys.database_compatible_level <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select lower(table_name), table_type from cat where table_type in \r
+('TABLE', 'VIEW') <CODE></CODE>\r
+<HR>\r
+\r
+<LI>(user_admins): Insert 1 row for testing only...comment out later \r
+<HR>\r
+(oci8po): CREATE TABLE user_admins ( id DECIMAL(10) NOT NULL, userid DECIMAL(10) \r
+NOT NULL, PRIMARY KEY (id) ) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE SEQUENCE SEQ_user_admins <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): CREATE OR REPLACE TRIGGER TRIG_SEQ_user_admins BEFORE insert ON \r
+user_admins FOR EACH ROW BEGIN select SEQ_user_admins.nextval into :new.id from \r
+dual; END; <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into user_admins values (1, 1) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into user_admins values (2, 2) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): insert into user_admins values (3, 3) <CODE></CODE>\r
+<HR>\r
+\r
+<HR>\r
+(oci8po): select * from user_admins <CODE></CODE>\r
+<HR>\r
+\r
+<TABLE cols=2 cellPadding=3 border=2>\r
+ <TBODY>\r
+ <TR>\r
+ <TH>id</TH>\r
+ <TH>userid</TH>\r
+ <TR vAlign=top>\r
+ <TD align=right>1 </TD>\r
+ <TD align=right>1 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>2 </TD>\r
+ <TD align=right>2 </TD></TR>\r
+ <TR vAlign=top>\r
+ <TD align=right>3 </TD>\r
+ <TD align=right>3 </TD></TR></TBODY></TABLE></LI></BODY></HTML>\r