Index: aggregator/aggregator.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.install,v
retrieving revision 1.7
diff -u -r1.7 aggregator.install
--- aggregator/aggregator.install	1 Sep 2006 07:40:07 -0000	1.7
+++ aggregator/aggregator.install	11 Sep 2006 14:07:46 -0000
@@ -113,9 +113,125 @@
       db_query("CREATE INDEX {aggregator_item}_fid_idx ON {aggregator_item} (fid)");
 
       break;
+    
+    case 'oracle':
+    	// aggregator_category
+    	db_query("--
+								-- Table structure for table 'aggregator_category'
+								--
+								
+								CREATE TABLE aggregator_category (
+								  cid NUMBER NOT NULL,
+								  title VARCHAR2(255),
+								  description VARCHAR2(4000),
+								  block NUMBER(5) default 0 NOT NULL,
+								  PRIMARY KEY (cid),
+								  UNIQUE (title)
+								);
+								
+								CREATE SEQUENCE aggregator_category_cid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER aggregator_category_be_in
+								BEFORE INSERT ON aggregator_category
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.cid IS NULL THEN
+								    SELECT aggregator_category_cid_seq.NEXTVAL
+								    INTO :NEW.cid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+    	// aggregator_category_feed
+    	db_query("--
+								-- Table structure for table 'aggregator_category_feed'
+								--
+								
+								CREATE TABLE aggregator_category_feed (
+								  fid NUMBER default 0 NOT NULL,
+								  cid NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (fid,cid)
+								);");
+    	// aggregator_cateogry_item
+    	db_query("--
+								-- Table structure for table 'aggregator_category_item'
+								--
+								
+								CREATE TABLE aggregator_category_item (
+								  iid NUMBER default 0 NOT NULL,
+								  cid NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (iid,cid)
+								);");
+								    	// aggregator_feed
+								    	db_query("--
+								-- Table structure for table 'aggregator_feed'
+								--
+								
+								CREATE TABLE aggregator_feed (
+								  fid NUMBER NOT NULL,
+								  title VARCHAR2(255),
+								  url VARCHAR2(255),
+								  refresh NUMBER default 0 NOT NULL,
+								  checked NUMBER default 0 NOT NULL,
+								  link VARCHAR2(255),
+								  description VARCHAR(4000),
+								  image CLOB,
+								  etag VARCHAR2(255),
+								  modified NUMBER default 0 NOT NULL,
+								  block NUMBER(5) default 0 NOT NULL,
+								  PRIMARY KEY (fid),
+								  UNIQUE (url),
+								  UNIQUE (title)
+								);
+								
+								CREATE SEQUENCE aggregator_feed_fid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER aggregator_freed_be_in
+								BEFORE INSERT ON aggregator_feed
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.fid IS NULL THEN
+								    SELECT aggregator_feed_fid_seq.NEXTVAL
+								    INTO :NEW.fid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+    	// aggregator_item
+    	db_query("--
+								-- Table structure for table 'aggregator_item'
+								--
+								
+								CREATE TABLE aggregator_item (
+								  iid NUMBER NOT NULL,
+								  fid NUMBER default 0 NOT NULL,
+								  title VARCHAR2(255),
+								  link VARCHAR2(255),
+								  author VARCHAR2(255),
+								  description VARCHAR2(4000),
+								  timestamp NUMBER,
+								  PRIMARY KEY (iid)
+								);
+								
+								CREATE SEQUENCE aggregator_item_iid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER aggregator_item_be_in
+								BEFORE INSERT ON aggregator_item
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.iid IS NULL THEN
+								    SELECT aggregator_item_iid_seq.NEXTVAL
+								    INTO :NEW.iid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+    	break;
   }
 }
 
+
+
 /**
  * Implementation of hook_uninstall().
  */
Index: book/book.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.install,v
retrieving revision 1.6
diff -u -r1.6 book.install
--- book/book.install	1 Sep 2006 07:40:08 -0000	1.6
+++ book/book.install	11 Sep 2006 14:07:46 -0000
@@ -29,6 +29,21 @@
       db_query("CREATE INDEX {book}_nid_idx ON {book} (nid)");
       db_query("CREATE INDEX {book}_parent_idx ON {book} (parent)");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for book
+								--
+								
+								CREATE TABLE book (
+								  vid NUMBER default 0 NOT NULL,
+								  nid NUMBER default 0 NOT NULL,
+								  parent NUMBER default 0 NOT NULL,
+								  weight NUMBER(5) default 0 NOT NULL,
+								  PRIMARY KEY (vid)
+								);
+								CREATE INDEX book_nid_idx ON book(nid);
+								CREATE INDEX book_parent ON book(parent);");
+			break;
   }
 }
 
Index: contact/contact.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.install,v
retrieving revision 1.5
diff -u -r1.5 contact.install
--- contact/contact.install	1 Sep 2006 07:40:08 -0000	1.5
+++ contact/contact.install	11 Sep 2006 14:07:46 -0000
@@ -31,6 +31,36 @@
         UNIQUE (category)
       )");
       break;
+    case 'oracle':
+    	db_query("--
+				-- Table structre for table 'contact'
+				--
+				
+				CREATE TABLE contact (
+				  cid NUMBER NOT NULL,
+				  category VARCHAR2(255),
+				  recipients CLOB default EMPTY_CLOB() NOT NULL,
+				  reply CLOB default EMPTY_CLOB() NOT NULL,
+				  weight NUMBER(5) default 0 NOT NULL,
+				  selected NUMBER(5) default 0 NOT NULL,
+				  PRIMARY KEY (cid),
+				  UNIQUE (category)
+				);
+				
+				CREATE SEQUENCE contact_cid_seq START WITH 1 INCREMENT BY 1;
+				
+				CREATE OR REPLACE TRIGGER contact_be_in
+				BEFORE INSERT ON contact
+				FOR EACH ROW
+				BEGIN
+				  IF :NEW.cid IS NULL THEN
+				    SELECT contact_cid_seq.NEXTVAL
+				    INTO :NEW.cid
+				    FROM dual;
+				  END IF;
+				END;
+				/");
+				break;
   }
 }
 
Index: drupal/drupal.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/drupal/drupal.install,v
retrieving revision 1.5
diff -u -r1.5 drupal.install
--- drupal/drupal.install	1 Sep 2006 07:40:08 -0000	1.5
+++ drupal/drupal.install	11 Sep 2006 14:07:46 -0000
@@ -53,6 +53,50 @@
         PRIMARY KEY (cid,name)
       )");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for 'client'
+								--
+								
+								CREATE TABLE client (
+								  cid NUMBER NOT NULL,
+								  link VARCHAR2(255),
+								  name VARCHAR2(128),
+								  mail VARCHAR2(128),
+								  slogan CLOB default EMPTY_CLOB() NOT NULL,
+								  mission CLOB default EMPTY_CLOB() NOT NULL,
+								  users NUMBER default 0 NOT NULL,
+								  nodes NUMBER default 0 NOT NULL,
+								  version VARCHAR2(35),
+								  created NUMBER default 0 NOT NULL,
+								  changed NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (cid)
+								);
+								
+								CREATE SEQUENCE client_cid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER client_be_in
+								BEFORE INSERT ON client
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.cid IS NULL THEN
+								    SELECT client_cid_seq.NEXTVAL
+								    INTO :NEW.cid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+		db_query("--
+							-- Table structure for table 'client_system'
+							--
+							
+							CREATE TABLE client_system (
+							  cid NUMBER NOT NULL,
+							  name VARCHAR2(255),
+							  type VARCHAR2(255),
+							  PRIMARY KEY (cid,name)
+							);");
+			break;
   }
 }
 
Index: forum/forum.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.install,v
retrieving revision 1.6
diff -u -r1.6 forum.install
--- forum/forum.install	1 Sep 2006 07:40:08 -0000	1.6
+++ forum/forum.install	11 Sep 2006 14:07:47 -0000
@@ -27,6 +27,20 @@
       db_query("CREATE INDEX {forum}_nid_idx ON {forum} (nid)");
       db_query("CREATE INDEX {forum}_tid_idx ON {forum} (tid)");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for table 'forum'
+								--
+								
+								CREATE TABLE forum (
+								  nid NUMBER default 0 NOT NULL,
+								  vid NUMBER default 0 NOT NULL,
+								  tid NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (vid)
+								);
+								CREATE INDEX forum_tid_idx ON forum(tid);
+								CREATE INDEX forum_nid_idx ON forum(nid);");
+			break;
   }
 }
 
Index: locale/locale.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.install,v
retrieving revision 1.6
diff -u -r1.6 locale.install
--- locale/locale.install	1 Sep 2006 07:40:08 -0000	1.6
+++ locale/locale.install	11 Sep 2006 14:07:47 -0000
@@ -69,6 +69,61 @@
       db_query("CREATE INDEX {locales_target}_plural_idx ON {locales_target} (plural)");
       db_query("CREATE INDEX {locales_source}_source_idx ON {locales_source} (source)");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for locales_meta
+								--
+								
+								CREATE TABLE locales_meta (
+								  locale VARCHAR2(12),
+								  name VARCHAR2(64),
+								  enabled NUMBER(10) default 0 NOT NULL,
+								  isdefault NUMBER(10) default 0 NOT NULL,
+								  plurals NUMBER(10) default 0 NOT NULL,
+								  formula VARCHAR2(128),
+								  PRIMARY KEY (locale)
+								);");
+			db_query("--
+								-- Table structure for locales_source
+								--
+								
+								
+								CREATE TABLE locales_source (
+								  lid NUMBER NOT NULL,
+								  location VARCHAR2(255),
+								  source CLOB NOT NULL,
+								  PRIMARY KEY (lid)
+								);
+								
+								CREATE SEQUENCE locales_source_lid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER locales_source_be_in
+								BEFORE INSERT ON locales_source
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.lid IS NULL THEN
+								    SELECT locales_source_lid_seq.NEXTVAL
+								    INTO :NEW.lid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+			db_query("--
+								-- Table structure for locales_target
+								--
+								
+								CREATE TABLE locales_target (
+								  lid NUMBER(10) default 0 NOT NULL,
+								  translation CLOB NOT NULL,
+								  locale VARCHAR2(12),
+								  plid NUMBER(10) default 0 NOT NULL,
+								  plural NUMBER(10) default 0 NOT NULL,
+								  UNIQUE (lid)
+								);
+								CREATE INDEX locales_target_locale_idx ON locales_target(locale);
+								CREATE INDEX locales_target_plid_idx ON locales_target(plid);
+								CREATE INDEX locales_target_plural_idx ON locales_target(plural);");
+			break;
   }
   db_query("INSERT INTO {locales_meta} (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1')");
 }
Index: poll/poll.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.install,v
retrieving revision 1.7
diff -u -r1.7 poll.install
--- poll/poll.install	1 Sep 2006 07:40:08 -0000	1.7
+++ poll/poll.install	11 Sep 2006 14:07:47 -0000
@@ -64,6 +64,57 @@
       )");
       db_query("CREATE INDEX {poll_choices}_nid_idx ON {poll_choices} (nid)");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for poll
+								--
+								
+								CREATE TABLE poll (
+								  nid NUMBER default 0 NOT NULL,
+								  runtime NUMBER default 0 NOT NULL,
+								  active NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (nid)
+								);");
+    	db_query("--
+								-- Table structure for poll_votes
+								--
+								
+								CREATE TABLE poll_votes (
+								  nid int NOT NULL,
+								  \"uid\" int default 0 NOT NULL,
+								  hostname VARCHAR2(128)
+								);
+								CREATE INDEX poll_votes_nid_idx ON poll_votes (nid);
+								CREATE INDEX poll_votes_uid_idx ON poll_votes (\"uid\");
+								CREATE INDEX poll_votes_hostname_idx ON poll_votes (hostname);");
+    	db_query("--
+								-- Table structure for poll_choices
+								--
+								
+								CREATE TABLE poll_choices (
+								  chid NUMBER NOT NULL,
+								  nid NUMBER default 0 NOT NULL,
+								  chCLOB VARCHAR2(128),
+								  chvotes NUMBER default 0 NOT NULL,
+								  chorder NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (chid)
+								);
+								CREATE INDEX poll_choices_nid_idx ON poll_choices(nid);
+								
+								CREATE SEQUENCE poll_choices_chid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER poll_choices_be_in
+								BEFORE INSERT ON poll_choices
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.chid IS NULL THEN
+								    SELECT poll_choices_chid_seq.NEXTVAL
+								    INTO :NEW.chid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+    	break;
   }
 }
 
Index: profile/profile.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.install,v
retrieving revision 1.7
diff -u -r1.7 profile.install
--- profile/profile.install	1 Sep 2006 07:40:08 -0000	1.7
+++ profile/profile.install	11 Sep 2006 14:07:47 -0000
@@ -64,6 +64,55 @@
       db_query("CREATE INDEX {profile_values}_uid_idx ON {profile_values} (uid)");
       db_query("CREATE INDEX {profile_values}_fid_idx ON {profile_values} (fid)");
       break;
+		case 'oracle':
+			db_query("--
+								-- Table structure for table 'profile_fields'
+								--
+								
+								CREATE TABLE profile_fields (
+								  fid NUMBER NOT NULL,
+								  title VARCHAR2(255) default NULL,
+								  name VARCHAR2(128) default NULL,
+								  explanation CLOB default NULL,
+								  category VARCHAR2(255) default NULL,
+								  page VARCHAR2(255) default NULL,
+								  type VARCHAR2(128) default NULL,
+								  weight NUMBER(5) DEFAULT '0' NOT NULL,
+								  required NUMBER(5) DEFAULT '0' NOT NULL,
+								  register NUMBER(5) DEFAULT '0' NOT NULL,
+								  visibility NUMBER(5) DEFAULT '0' NOT NULL,
+								  options CLOB,
+								  UNIQUE (name),
+								  PRIMARY KEY (fid)
+								);
+								
+								CREATE INDEX profile_fields_category_idx ON profile_fields(category);
+								
+								CREATE SEQUENCE profile_fields_fid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER profile_fields_be_in
+								BEFORE INSERT ON profile_fields
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.fid IS NULL THEN
+								    SELECT profile_fields_fid_seq.NEXTVAL
+								    INTO :NEW.fid
+								    FROM dual;
+								  END IF;
+								END;
+								/");
+			db_query("--
+								-- Table structure for table 'profile_values'
+								--
+								
+								CREATE TABLE profile_values (
+								  fid NUMBER default '0',
+								  \"uid\" NUMBER default '0',
+								  value CLOB
+								);
+								CREATE INDEX profile_values_uid ON profile_values (\"uid\");
+								CREATE INDEX profile_values_fid ON profile_values (fid);");
+			break;
   }
 }
 
Index: search/search.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.install,v
retrieving revision 1.6
diff -u -r1.6 search.install
--- search/search.install	1 Sep 2006 07:40:08 -0000	1.6
+++ search/search.install	11 Sep 2006 14:07:48 -0000
@@ -59,6 +59,42 @@
         PRIMARY KEY (word)
       )");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for table 'search_dataset'
+								--
+								CREATE TABLE search_dataset (
+								  sid NUMBER default 0 NOT NULL,
+								  type VARCHAR2(16) default NULL,
+								  data CLOB
+								);
+								CREATE INDEX search_dataset_sid_type_idx ON search_dataset(sid, type);");
+    	db_query("--
+								-- Table structure for search_index
+								--
+								
+								CREATE TABLE search_index (
+								  word VARCHAR2(50),
+								  sid NUMBER default 0 NOT NULL,
+								  type VARCHAR2(16) default NULL,
+								  fromsid NUMBER default 0 NOT NULL,
+								  fromtype VARCHAR2(16) default NULL,
+								  score float default NULL
+								);
+								CREATE INDEX search_index_sid_type_idx ON search_index(sid, type);
+								-- ORA: search_idx_frmsid_frmtype_idx name shorted due to 31 charecter limit on identifiers
+								CREATE INDEX search_idx_frmsid_frmtype_idx ON search_index(fromsid, fromtype);
+								CREATE INDEX search_index_word_idx ON search_index(word);");
+    	db_query("--
+								-- Table structures for search_total
+								--
+								
+								CREATE TABLE search_total (
+								  word VARCHAR2(50),
+								  count float default NULL,
+								  PRIMARY KEY(word)
+								);");
+    	break;
   }
 }
 
Index: statistics/statistics.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/statistics/statistics.install,v
retrieving revision 1.6
diff -u -r1.6 statistics.install
--- statistics/statistics.install	1 Sep 2006 07:40:08 -0000	1.6
+++ statistics/statistics.install	11 Sep 2006 14:07:48 -0000
@@ -37,6 +37,40 @@
       )");
       db_query("CREATE INDEX {accesslog}_accesslog_timestamp_idx ON {accesslog} (timestamp)");
       break;
+    case 'oracle':
+    	db_query("--
+								-- Table structure for accesslog
+								--
+								
+								CREATE TABLE accesslog (
+								  aid NUMBER NOT NULL,
+								  sid VARCHAR2(32),
+								  title VARCHAR2(255),
+								  path VARCHAR2(255),
+								  url VARCHAR2(255),
+								  hostname VARCHAR2(128),
+								  \"uid\" NUMBER default 0 NOT NULL,
+								  timer NUMBER default 0 NOT NULL,
+								  timestamp NUMBER default 0 NOT NULL,
+								  PRIMARY KEY (aid)
+								);
+								
+								CREATE INDEX accesslog_timestamp_idx ON accesslog (timestamp);
+								
+								CREATE SEQUENCE accesslog_aid_seq START WITH 1 INCREMENT BY 1;
+								
+								CREATE OR REPLACE TRIGGER accesslog_be_in
+								BEFORE INSERT ON accesslog
+								FOR EACH ROW
+								BEGIN
+								  IF :NEW.aid IS NULL THEN
+								    SELECT accesslog_aid_seq.NEXTVAL
+								    INTO :NEW.aid
+								    FROM dual;
+								  END IF;
+								END be_in_accesslog;
+								/");
+    	break;
   }
 }
 
Index: system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.29
diff -u -r1.29 system.install
--- system/system.install	11 Sep 2006 06:29:03 -0000	1.29
+++ system/system.install	11 Sep 2006 14:07:57 -0000
@@ -975,6 +975,733 @@
         PRIMARY KEY (wid)
       )");
       break;
+  	case 'oracle':
+  		/** For Oracle 8/8i->10g **/
+  		// Access
+  		db_query("--
+-- Table structure for access
+--
+
+CREATE TABLE \"access\" (
+  aid NUMBER NOT NULL,
+  mask VARCHAR2(255),
+  type VARCHAR2(255),
+  status NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (aid)
+);
+CREATE SEQUENCE access_aid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER access_be_in
+BEFORE INSERT ON \"access\"
+FOR EACH ROW
+BEGIN
+  IF :NEW.aid IS NULL THEN
+    SELECT access_aid_seq.NEXTVAL
+    INTO :NEW.aid
+    FROM dual;
+  END IF;
+END be_in_access;
+/
+"); 
+  		// Authmap
+  		db_query("
+--
+-- Table structure for authmap
+--
+
+CREATE TABLE authmap (
+  aid NUMBER NOT NULL,
+  \"uid\" NUMBER default 0 NOT NULL,
+  authname VARCHAR2(128),
+  module VARCHAR2(128),
+  PRIMARY KEY (aid),
+  UNIQUE (authname)
+);
+
+CREATE SEQUENCE authmap_aid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER authmap_be_in
+BEFORE INSERT ON authmap
+FOR EACH ROW
+BEGIN
+  IF :NEW.aid IS NULL THEN
+    SELECT authmap_aid_seq.NEXTVAL
+    INTO :NEW.aid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// blocks
+  		db_query("--
+-- Table structure for blocks
+--
+
+CREATE TABLE blocks (
+  module VARCHAR2(64) NOT NULL,
+  delta VARCHAR2(32) default 0 NOT NULL,
+  theme VARCHAR2(255),
+  status NUMBER(5) default 0 NOT NULL,
+  weight NUMBER(5) default 0 NOT NULL,
+  region VARCHAR2(64) DEFAULT 'left' NOT NULL,
+  custom NUMBER(5) default 0 NOT NULL,
+  throttle NUMBER(5) default 0 NOT NULL,
+  visibility NUMBER(5) default 0 NOT NULL,
+  pages CLOB default EMPTY_CLOB() NOT NULL
+);");
+  		// boxes
+  		db_query("--
+-- Table structure for boxes
+--
+
+CREATE TABLE boxes (
+  bid NUMBER NOT NULL,
+  title VARCHAR2(64),
+  body CLOB,
+  info VARCHAR2(128),
+  format NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (bid),
+  UNIQUE (info)
+);
+
+CREATE SEQUENCE boxes_bid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER boxes_be_in
+BEFORE INSERT ON boxes
+FOR EACH ROW
+BEGIN
+  IF :NEW.bid IS NULL THEN
+    SELECT boxes_bid_seq.NEXTVAL
+    INTO :NEW.bid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// cache
+  		db_query("--
+-- Table structure for cache
+--
+
+CREATE TABLE cache (
+  cid VARCHAR2(255) NOT NULL,
+  data CLOB default EMPTY_CLOB(),
+  expire NUMBER default 0 NOT NULL,
+  created NUMBER default 0 NOT NULL,
+  headers CLOB default EMPTY_CLOB(),
+  PRIMARY KEY (cid)
+);
+CREATE INDEX cache_expire_idx ON cache(expire);");
+  		// comments
+  		db_query("--
+-- Table structure for comments
+--
+
+CREATE TABLE comments (
+  cid NUMBER NOT NULL,
+  pid NUMBER default 0 NOT NULL,
+  nid NUMBER default 0 NOT NULL,
+  \"uid\" NUMBER default 0 NOT NULL,
+  subject VARCHAR2(64),
+  \"comment\" CLOB default EMPTY_CLOB() NOT NULL,
+  hostname VARCHAR2(128),
+  timestamp NUMBER default 0 NOT NULL,
+  score NUMBER default 0 NOT NULL,
+  status NUMBER(5) default 0 NOT NULL,
+  format NUMBER(5) default 0 NOT NULL,
+  thread VARCHAR2(255) default '',
+  users CLOB default '',
+  name VARCHAR2(60) default NULL,
+  mail VARCHAR2(64) default NULL,
+  homepage VARCHAR2(255) default NULL,
+  PRIMARY KEY (cid)
+);
+CREATE INDEX comments_nid_idx ON comments(nid);
+
+CREATE SEQUENCE comments_cid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER comments_be_in
+BEFORE INSERT ON comments
+FOR EACH ROW
+BEGIN
+  IF :NEW.cid IS NULL THEN
+    SELECT comments_cid_seq.NEXTVAL
+    INTO :NEW.cid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// node_comment_statistics
+  		db_query("--
+-- Table structre for table 'node_comment_statistics'
+--
+
+CREATE TABLE node_comment_statistics (
+  nid NUMBER NOT NULL,
+  last_comment_timestamp NUMBER default 0 NOT NULL,
+  last_comment_name VARCHAR2(60),
+  last_comment_uid NUMBER default 0 NOT NULL,
+  comment_count NUMBER default 0 NOT NULL,
+  PRIMARY KEY (nid)
+);
+-- ORA: Index name changed because identifiers can only be 31 charecters long
+CREATE INDEX node_comment_stat_tstamp_idx ON node_comment_statistics(last_comment_timestamp);");
+  		// files
+  		db_query("--
+-- Table structure for table 'files'
+--
+
+CREATE TABLE files (
+  fid NUMBER NOT NULL,
+  nid NUMBER default 0 NOT NULL,
+  filename VARCHAR2(255),
+  filepath VARCHAR2(255),
+  filemime VARCHAR2(255),
+  filesize NUMBER default 0 NOT NULL,
+  PRIMARY KEY (fid)
+);
+
+CREATE SEQUENCE files_fid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER files_be_in
+BEFORE INSERT ON files
+FOR EACH ROW
+BEGIN
+  IF :NEW.fid IS NULL THEN
+    SELECT files_fid_seq.NEXTVAL
+    INTO :NEW.fid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// file_revisions
+  		db_query("--
+-- Table structure for table 'file_revisions'
+--
+
+CREATE TABLE file_revisions (
+  fid NUMBER default 0 NOT NULL,
+  vid NUMBER default 0 NOT NULL,
+  description VARCHAR2(255),
+  list NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (fid, vid)
+);");
+  		// filter_formats
+  		db_query("--
+-- Table structure for table 'filter_formats'
+--
+
+CREATE TABLE filter_formats (
+  format NUMBER NOT NULL,
+  name VARCHAR2(255),
+  roles VARCHAR2(255),
+  cache NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (format),
+  UNIQUE (name)
+);
+
+CREATE SEQUENCE filter_formats_format_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER filter_formats_be_in
+BEFORE INSERT ON filter_formats
+FOR EACH ROW
+BEGIN
+  IF :NEW.format IS NULL THEN
+    SELECT filter_formats_format_seq.NEXTVAL
+    INTO :NEW.format
+    FROM dual;
+  END IF;
+END;
+/");
+  		// filters
+  		db_query("--
+-- Table structure for table 'filters'
+--
+
+CREATE TABLE filters (
+  format NUMBER default 0 NOT NULL,
+  module VARCHAR2(64),
+  delta NUMBER(5) default 0 NOT NULL,
+  weight NUMBER(5) DEFAULT '0' NOT NULL
+);
+CREATE INDEX filters_weight_idx ON filters(weight);");
+  		// flood
+  		db_query("--
+-- Table structure for table 'flood'
+--
+
+CREATE TABLE flood (
+  event VARCHAR2(64),
+  hostname VARCHAR2(128),
+  timestamp NUMBER default 0 NOT NULL
+);");
+  		// history
+  		db_query("--
+-- Table structure for history
+--
+
+CREATE TABLE history (
+  \"uid\" NUMBER default 0 NOT NULL,
+  nid NUMBER default 0 NOT NULL,
+  timestamp NUMBER default 0 NOT NULL,
+  PRIMARY KEY (\"uid\",nid)
+);");
+  		// menu
+  		db_query("--
+-- Table structure for table 'menu'
+--
+
+CREATE TABLE menu (
+  mid NUMBER NOT NULL,
+  pid NUMBER default 0 NOT NULL,
+  path VARCHAR2(255),
+  title VARCHAR2(255),
+  description VARCHAR2(255),
+  weight NUMBER(5) default 0 NOT NULL,
+  type NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (mid)
+);
+
+CREATE SEQUENCE menu_mid_seq START WITH 2 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER menu_be_in
+BEFORE INSERT ON menu
+FOR EACH ROW
+BEGIN
+  IF :NEW.mid IS NULL THEN
+    SELECT menu_mid_seq.NEXTVAL
+    INTO :NEW.mid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// node
+  		db_query("--
+-- Table structure for node
+--
+
+CREATE TABLE node (
+  nid NUMBER NOT NULL,
+  vid NUMBER default 0 NOT NULL,
+  type VARCHAR2(32),
+  title VARCHAR2(128),
+  \"uid\" NUMBER default 0 NOT NULL,
+  status NUMBER default 1 NOT NULL ,
+  created NUMBER default 0 NOT NULL,
+  changed NUMBER default 0 NOT NULL,
+  \"comment\" NUMBER default 0 NOT NULL,
+  promote NUMBER default 0 NOT NULL,
+  moderate NUMBER default 0 NOT NULL,
+  sticky NUMBER default 0 NOT NULL,
+  PRIMARY KEY (nid)
+);
+
+CREATE INDEX node_type_idx ON node(type);
+CREATE INDEX node_title_type_idx ON node(title,type);
+CREATE INDEX node_status_idx ON node(status);
+CREATE INDEX node_uid_idx ON node(\"uid\");
+CREATE INDEX node_vid_idx ON node(vid);
+CREATE INDEX node_moderate_idx ON node (moderate);
+CREATE INDEX node_promote_status_idx ON node (promote, status);
+CREATE INDEX node_created_idx ON node(created);
+CREATE INDEX node_changed_idx ON node(changed);
+CREATE INDEX node_status_type_nid_idx ON node(status,type,nid);
+
+CREATE SEQUENCE node_nid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER node_be_in
+BEFORE INSERT ON node
+FOR EACH ROW
+BEGIN
+  IF :NEW.nid IS NULL THEN
+    SELECT node_nid_seq.NEXTVAL
+		INTO :NEW.nid
+		FROM dual;
+  END IF;
+END;
+/");
+  		// node_access
+  		db_query("--
+-- Table structure for table 'node_access'
+--
+
+CREATE TABLE node_access (
+  nid NUMBER NOT NULL,
+  gid NUMBER default 0 NOT NULL,
+  realm VARCHAR2(255),
+  grant_view NUMBER(5) default 0 NOT NULL,
+  grant_update NUMBER(5) default 0 NOT NULL,
+  grant_delete NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (nid,gid,realm)
+);
+CREATE SEQUENCE node_access_nid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER node_access_be_in
+BEFORE INSERT ON node_access
+FOR EACH ROW
+BEGIN
+  IF :NEW.nid IS NULL THEN
+    SELECT node_access_nid_seq.NEXTVAL
+		INTO :NEW.nid
+		FROM dual;
+  END IF;
+END;
+/
+");
+  		// node_revisions
+  		db_query("
+--
+-- Table structure for table 'node_revisions'
+--
+
+CREATE TABLE node_revisions (
+  nid NUMBER default 0 NOT NULL,
+  vid NUMBER default 0 NOT NULL,
+  \"uid\" NUMBER default 0 NOT NULL,
+  title VARCHAR2(128),
+  body CLOB,
+  teaser CLOB,
+  log CLOB,
+  timestamp NUMBER default 0 NOT NULL,
+  format int default 0 NOT NULL,
+  PRIMARY KEY  (vid)
+);
+CREATE INDEX node_revisions_nid_idx ON node_revisions(nid);
+CREATE INDEX node_revisions_uid_idx ON node_revisions(\"uid\");
+CREATE SEQUENCE node_revisions_vid_seq START WITH 1 INCREMENT BY 1;");
+  		// node_type
+  		db_query("--
+-- Table structure for vocabulary_node_types
+--
+
+CREATE TABLE vocabulary_node_types (
+  vid NUMBER default 0 NOT NULL,
+  type VARCHAR2(32),
+  PRIMARY KEY (vid, type)
+);");
+  		// url_alias
+  		db_query("
+CREATE TABLE url_alias (
+  pid NUMBER NOT NULL,
+  src VARCHAR2(128),
+  dst VARCHAR2(128),
+  PRIMARY KEY (pid),
+  UNIQUE (dst)
+);
+
+CREATE INDEX url_alias_src_idx ON url_alias(src);
+
+CREATE SEQUENCE url_alias_pid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER url_alias_be_in
+BEFORE INSERT ON url_alias
+FOR EACH ROW
+BEGIN
+  IF :NEW.pid IS NULL THEN
+    SELECT url_alias_pid_seq.NEXTVAL
+    INTO :NEW.pid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// permission
+  		db_query("--
+-- Table structure for permission
+--
+
+CREATE TABLE permission (
+  rid NUMBER default 0 NOT NULL,
+  perm CLOB default '',
+  tid NUMBER default 0 NOT NULL
+);
+CREATE INDEX permission_rid_idx ON permission(rid);");
+  		// role
+  		db_query("--
+-- Table structure for role
+--
+
+CREATE TABLE role (
+  rid NUMBER NOT NULL,
+  name VARCHAR2(32),
+  PRIMARY KEY (rid),
+  UNIQUE (name)
+);
+
+CREATE SEQUENCE role_rid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER role_be_in
+BEFORE INSERT ON role
+FOR EACH ROW
+BEGIN
+  IF :NEW.rid IS NULL THEN
+    SELECT role_rid_seq.NEXTVAL
+    INTO :NEW.rid
+    FROM dual;
+  END IF;
+END;
+/");
+			// TODO
+  		// blocks_roles 
+  		db_query("--" .
+          "-- Blocks Roles" .
+          "-- " .
+          "CREATE TABLE {blocks_roles} (
+            module varchar(64) NOT NULL,
+            delta varchar(32) NOT NULL,
+            rid int unsigned NOT NULL,
+            PRIMARY KEY (module, delta, rid)
+          )");
+  		// sessions
+  		db_query("--
+-- Table structure for sessions
+--
+
+CREATE TABLE sessions (
+  \"uid\" NUMBER not null,
+  sid VARCHAR2(32),
+  hostname VARCHAR2(128),
+  timestamp NUMBER default 0 NOT NULL,
+  cache NUMBER default 0 NOT NULL,
+  "session" CLOB,
+  PRIMARY KEY (sid)
+);
+CREATE INDEX sessions_uid_idx ON sessions(\"uid\");
+CREATE INDEX sessions_timestamp_idx ON sessions(timestamp);");
+  		// sequences
+  		db_query("--
+-- Table structure for sequences
+-- This is only used under MySQL, so commented out
+-- But may still be used.
+--
+-- CREATE TABLE sequences (
+--   name VARCHAR2(255) NOT NULL,
+--   id NUMBER NOT NULL,
+--   PRIMARY KEY (name)
+-- );");
+  		// node_counter
+  		db_query("--
+-- Table structure for table 'node_counter'
+--
+
+CREATE TABLE node_counter (
+  nid NUMBER default 0 NOT NULL,
+  totalcount NUMBER default 0 NOT NULL,
+  daycount NUMBER default 0 NOT NULL,
+  timestamp NUMBER default 0 NOT NULL,
+  PRIMARY KEY (nid)
+);
+CREATE INDEX node_counter_totalcount_idx ON node_counter(totalcount);
+CREATE INDEX node_counter_daycount_idx ON node_counter(daycount);
+CREATE INDEX node_counter_timestamp_idx ON node_counter(timestamp);");
+  		// system
+  		db_query("--
+-- Table structure for system
+--
+
+CREATE TABLE system (
+  filename VARCHAR2(255),
+  name VARCHAR2(255),
+  type VARCHAR2(255),
+  description VARCHAR2(255),
+  status NUMBER default 0 NOT NULL,
+  throttle NUMBER(5) default 0 NOT NULL,
+  bootstrap NUMBER default 0 NOT NULL,
+  schema_version NUMBER(5) default -1 NOT NULL,
+  weight NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (filename)
+);
+CREATE INDEX system_weight_idx ON system(weight);");
+  		// term_data
+  		db_query("--
+-- Table structure for term_data
+--
+
+CREATE TABLE term_data (
+  tid NUMBER NOT NULL,
+  vid NUMBER default 0 NOT NULL,
+  name VARCHAR2(255),
+  description CLOB,
+  weight NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (tid)
+);
+CREATE INDEX term_data_vid_idx ON term_data(vid);
+
+CREATE SEQUENCE term_data_tid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER term_data_be_in
+BEFORE INSERT ON term_data
+FOR EACH ROW
+BEGIN
+  IF :NEW.tid IS NULL THEN
+    SELECT term_data_tid_seq.NEXTVAL
+    INTO :NEW.tid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// term_heirachy
+  		db_query("--
+-- Table structure for term_hierarchy
+--
+
+CREATE TABLE term_hierarchy (
+  tid NUMBER default 0 NOT NULL,
+  parent NUMBER default 0 NOT NULL,
+  PRIMARY KEY (tid, parent)
+);
+CREATE INDEX term_hierarchy_tid_idx ON term_hierarchy(tid);
+CREATE INDEX term_hierarchy_parent_idx ON term_hierarchy(parent);");
+  		// term_node
+  		db_query("--
+-- Table structure for term_node
+--
+
+CREATE TABLE term_node (
+  nid NUMBER default 0 NOT NULL,
+  tid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (tid,nid)
+);
+CREATE INDEX term_node_nid_idx ON term_node(nid);
+CREATE INDEX term_node_tid_idx ON term_node(tid);");
+  		// term_relation
+  		db_query("--
+-- Table structure for term_relation
+--
+
+CREATE TABLE term_relation (
+  tid1 NUMBER default 0 NOT NULL,
+  tid2 NUMBER default 0 NOT NULL
+);
+CREATE INDEX term_relation_tid1_idx ON term_relation(tid1);
+CREATE INDEX term_relation_tid2_idx ON term_relation(tid2);");
+  		// term_synonym
+  		db_query("--
+-- Table structure for term_synonym
+--
+
+CREATE TABLE term_synonym (
+  tid NUMBER default 0 NOT NULL,
+  name VARCHAR2(255)
+);
+CREATE INDEX term_synonym_tid_idx ON term_synonym(tid);
+CREATE INDEX term_synonym_name_idx ON term_synonym(name);");
+			// users
+			db_query("
+--
+-- Table structure for users
+--
+
+CREATE TABLE users (
+  \"uid\" NUMBER default 0 NOT NULL,
+  name VARCHAR2(60),
+  pass VARCHAR2(32),
+  mail VARCHAR2(64),
+  \"mode\" NUMBER(5) default 0 NOT NULL,
+  sort NUMBER(5) default 0,
+  threshold NUMBER(5) default 0,
+  theme VARCHAR2(255),
+  signature VARCHAR2(255),
+  created NUMBER default 0 NOT NULL,
+  \"access\" NUMBER default 0 NOT NULL,
+  login NUMBER default 0 NOT NULL,
+  status NUMBER(5) default 0 NOT NULL,
+  timezone VARCHAR2(8) default NULL,
+  language VARCHAR2(12),
+  picture VARCHAR2(255),
+  init VARCHAR2(64),
+  data CLOB default EMPTY_CLOB(),
+  PRIMARY KEY (\"uid\"),
+  UNIQUE (name)
+);
+
+CREATE INDEX users_access_idx ON users(\"access\");
+
+CREATE SEQUENCE users_uid_seq START WITH 1 INCREMENT BY 1;");
+  		// users_roles
+  		db_query("--
+-- Table structure for users_roles
+--
+
+CREATE TABLE users_roles (
+  \"uid\" NUMBER default 0 NOT NULL,
+  rid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (\"uid\", rid)
+);");
+  		// variable
+  		db_query("--
+-- Table structure for variable
+--
+
+CREATE TABLE variable (
+  name VARCHAR2(48),
+  value CLOB,
+  PRIMARY KEY (name)
+);
+  		");
+  		// vocabulary
+  		db_query("--
+-- Table structure for vocabulary
+--
+
+CREATE TABLE vocabulary (
+  vid NUMBER NOT NULL,
+  name VARCHAR2(255),
+  description CLOB default '',
+  help VARCHAR2(255),
+  relations NUMBER(5) default 0 NOT NULL,
+  hierarchy NUMBER(5) default 0 NOT NULL,
+  multiple NUMBER(5) default 0 NOT NULL,
+  required NUMBER(5) default 0 NOT NULL,
+  tags NUMBER(5) default 0 NOT NULL,
+  module VARCHAR2(255),
+  weight NUMBER(5) default 0 NOT NULL,
+  PRIMARY KEY (vid)
+);
+
+CREATE SEQUENCE vocabulary_vid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER vocabulary_be_in
+BEFORE INSERT ON vocabulary
+FOR EACH ROW
+BEGIN
+  IF :NEW.vid IS NULL THEN
+    SELECT vocabulary_vid_seq.NEXTVAL
+    INTO :NEW.vid
+    FROM dual;
+  END IF;
+END;
+/");
+  		// watchdog
+  		db_query("--
+-- Table structure for watchdog
+--
+
+CREATE TABLE watchdog (
+  wid NUMBER NOT NULL,
+  \"uid\" NUMBER default 0 NOT NULL,
+  type VARCHAR2(16),
+  message CLOB,
+  severity NUMBER(5) default 0 NOT NULL,
+  link CLOB,
+  location CLOB,
+  referer CLOB,
+  hostname VARCHAR2(128),
+  timestamp NUMBER default 0 NOT NULL,
+  PRIMARY KEY (wid)
+);
+
+CREATE SEQUENCE watchdog_wid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER watchdog_be_in
+BEFORE INSERT ON watchdog
+FOR EACH ROW
+BEGIN
+  IF :NEW.wid IS NULL THEN
+    SELECT watchdog_wid_seq.NEXTVAL
+    INTO :NEW.wid
+    FROM dual;
+  END IF;
+END;
+/");
+  		break;
   }
 
   db_query("INSERT INTO {system} (filename, name, type, description, status, throttle, bootstrap, schema_version) VALUES ('themes/engines/phptemplate/phptemplate.engine', 'phptemplate', 'theme_engine', '', 1, 0, 0, 0)");
