diff -urN drupal-6.x-dev/database/database.oracle.6.x.dev_no_table_prefix.sql drupal-6.x-dev-souvent22/drupal-6.x-dev/database/database.oracle.6.x.dev_no_table_prefix.sql
--- drupal-6.x-dev/database/database.oracle.6.x.dev_no_table_prefix.sql	1970-01-01 08:00:00.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/database/database.oracle.6.x.dev_no_table_prefix.sql	2007-05-14 16:40:23.000000000 +0800
@@ -0,0 +1,1684 @@
+-- $Id$
+-- /**
+-- /* This .sql file replace the usage of install.php
+-- /* just like the installation of Drupal 4.7.x
+-- /* A little bit troublesome for version update
+-- /* Can't use update.php to do, do it directly in db
+-- /* eg. {system}.SCHEMA_VERSION has to be changed to new number
+--  **/
+
+--SET FEEDBACK ON
+SET TERMOUT ON
+--SET VERIFY ON
+--SET ECHO ON
+
+--
+-- /************************************/ 
+-- /*      Function for Oracle         */
+-- /************************************/
+--
+
+-- greatest() is built-in
+-- concat() is built-in
+
+-- if () not know how to write
+
+-- FROM_UNIXTIME()
+-- view/date
+CREATE OR REPLACE FUNCTION from_unixtime(sttTime number)
+return date is
+begin
+  return to_date(19700101, 'yyyymmdd') + sttTime/24/60/60;
+end;
+/
+
+-- TO_UNIXTIME()
+-- view/date
+CREATE OR REPLACE FUNCTION to_unixtime(oracleDate date)
+return number is
+begin
+  return (oracleDate - to_date(19700101, 'yyyymmdd'))*24*60*60;
+end;
+/
+
+-- POW()
+-- node.module
+CREATE OR REPLACE FUNCTION POW(base_num IN number, pow_num IN number)
+RETURN number IS
+BEGIN
+  RETURN POWER(base_num, pow_num);
+end;
+/
+
+--
+-- /************************************/ 
+-- /*       Tables for Oracle          */
+-- /************************************/
+--
+
+-- From system.install
+--
+-- 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;
+/
+
+--
+-- 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;
+/
+
+--
+-- 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,
+  title      VARCHAR2(64)
+);
+
+--
+-- Table structure for boxes
+--
+
+CREATE TABLE boxes (
+  bid    NUMBER                  NOT NULL,
+  body   CLOB DEFAULT EMPTY_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;
+/
+
+--
+-- 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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX cache_idx ON cache(expire);
+
+--
+-- Table structure for cache_filter - Drupal-5.0
+--
+
+CREATE TABLE cache_filter (
+  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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX cache_filter_idx ON cache_filter(expire);
+
+--
+-- Table structure for cache_page - Drupal-5.0
+--
+
+CREATE TABLE cache_page (
+  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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX cache_page_idx ON cache_page(expire);
+
+--
+-- 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_1 ON comments(nid);
+CREATE INDEX comments_nid_idx_2 ON comments(status);
+
+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;
+/
+
+--
+-- 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_idx ON node_comment_statistics(last_comment_timestamp);
+
+CREATE SEQUENCE node_comment_stat_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER node_comment_stat_be_in
+BEFORE INSERT ON node_comment_statistics
+FOR EACH ROW
+BEGIN
+  IF :NEW.nid IS NULL THEN
+    SELECT node_comment_stat_seq.NEXTVAL
+    INTO :NEW.nid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'files'
+--
+
+CREATE TABLE files (
+  fid       NUMBER          default 0 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 INDEX files_idx ON files(nid);
+
+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;
+/
+
+--
+-- 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)
+);
+
+CREATE INDEX file_revisions ON file_revisions(vid);
+
+--
+-- 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;
+/
+
+--
+-- 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_idx ON filters(weight);
+
+--
+-- Table structure for table 'flood'
+--
+
+CREATE TABLE flood (
+  event     VARCHAR2(64),
+  hostname  VARCHAR2(128),
+  timestamp NUMBER        default 0 NOT NULL
+);
+
+--
+-- 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)
+);
+
+--
+-- Table structure for table 'menu'
+--
+
+CREATE TABLE menu (
+  mid               NUMBER                  NOT NULL,
+  pid               NUMBER        default 0 NOT NULL,
+  path              VARCHAR2(255),
+  load_functions    VARCHAR2(255),
+  to_arg_functions  VARCHAR2(255),
+  access_callback   VARCHAR2(255),
+  access_arguments  CLOB,
+  page_callback     VARCHAR2(255),
+  page_arguments    CLOB,
+  fit               INTEGER       DEFAULT 0 NOT NULL,
+  number_parts      INTEGER       DEFAULT 0 NOT NULL,
+  mleft             INTEGER       DEFAULT 0 NOT NULL,
+  mright            INTEGER       DEFAULT 0 NOT NULL,
+  visible           INTEGER       DEFAULT 0 NOT NULL,
+  parents           VARCHAR2(255),
+  depth             INTEGER       DEFAULT 0 NOT NULL,
+  has_children      INTEGER       DEFAULT 0 NOT NULL,
+  tab               INTEGER       DEFAULT 0 NOT NULL,
+  title             VARCHAR2(255),
+  title_callback    VARCHAR2(255),
+  title_arguments   VARCHAR2(255),
+  parent            VARCHAR2(255),
+  type              INTEGER       DEFAULT 0 NOT NULL,
+  block_callback    VARCHAR2(255),
+  description       VARCHAR2(255),
+  position          VARCHAR2(255),
+  link_path         VARCHAR2(255),
+  attributes        VARCHAR2(255),
+  query             VARCHAR2(255),
+  fragment          VARCHAR2(255),
+  absolute          INTEGER       DEFAULT 0 NOT NULL,
+  html              INTEGER       DEFAULT 0 NOT NULL,
+  PRIMARY KEY (path)
+);
+CREATE INDEX menu_idx_01 ON menu(fit);
+CREATE INDEX menu_idx_02 ON menu(visible);
+CREATE INDEX menu_idx_03 ON menu(pid);
+CREATE INDEX menu_idx_04 ON menu(parent);
+
+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;
+/
+
+--
+-- Table structure for node
+--
+
+CREATE TABLE node (
+  nid       NUMBER                  NOT NULL,
+  vid       NUMBER        default 0 NOT NULL,
+  type      VARCHAR2(32),
+  language  VARCHAR2(12),
+  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,vid),
+  UNIQUE (vid)
+);
+
+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_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 INDEX node_vid_idx ON node(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;
+/
+
+--
+-- Table structure for table 'node_access'
+--
+
+CREATE TABLE node_access (
+  nid           NUMBER        DEFAULT 0 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)
+);
+
+--
+-- 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;
+
+CREATE OR REPLACE TRIGGER node_revisions_be_in
+BEFORE INSERT ON node_revisions
+FOR EACH ROW
+BEGIN
+  IF :NEW.vid IS NULL THEN
+    SELECT node_revisions_vid_seq.NEXTVAL
+    INTO :NEW.vid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for node_type - Drupal-5.0
+--
+
+CREATE TABLE node_type (
+  type            VARCHAR2(32)      NOT NULL,
+  name            VARCHAR2(255),
+  module          VARCHAR2(255),
+  description     CLOB DEFAULT EMPTY_CLOB(),
+  help            CLOB DEFAULT EMPTY_CLOB(),
+  has_title       INTEGER           NOT NULL,
+  title_label     VARCHAR2(255),
+  has_body        INTEGER           NOT NULL,
+  body_label      VARCHAR2(255),
+  min_word_count  INTEGER           NOT NULL,
+  custom          INTEGER DEFAULT 0 NOT NULL,
+  modified        INTEGER DEFAULT 0 NOT NULL,
+  locked          INTEGER DEFAULT 0 NOT NULL,
+  orig_type       VARCHAR2(255),
+  PRIMARY KEY (type)
+);
+
+--
+-- Table structure for table 'url_alias'
+--
+
+CREATE TABLE url_alias (
+  pid       NUMBER        NOT NULL,
+  src       VARCHAR2(128),
+  dst       VARCHAR2(128),
+  language  VARCHAR2(12),
+  PRIMARY KEY (pid),
+  UNIQUE (dst,language)
+);
+
+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;
+/
+
+--
+-- Table structure for permission
+--
+
+CREATE TABLE permission (
+  rid   NUMBER  default 0 NOT NULL,
+  perm  CLOB,
+  tid   NUMBER  default 0 NOT NULL
+);
+CREATE INDEX permission_rid_idx ON permission(rid);
+
+--
+-- Table structure for role
+--
+
+CREATE TABLE role (
+  rid NUMBER NOT NULL,
+  name VARCHAR2(64),
+  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;
+/
+
+--
+-- Table structure for blocks_roles
+--
+
+CREATE TABLE blocks_roles (
+  module  VARCHAR2(64)    NOT NULL,
+  delta   VARCHAR2(32)    NOT NULL,
+  rid     INTEGER         NOT NULL,
+  PRIMARY KEY (module, delta, rid)
+);
+
+
+--
+-- Table structure for sessions
+--
+
+CREATE TABLE sessions (
+  "uid"     NUMBER not null,
+  sid       VARCHAR2(64),
+  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);
+
+--
+-- TABLE structure for sequences
+-- ONLY for MySQL
+--
+
+--CREATE TABLE sequences (
+--  name  VARCHAR2(255) NOT NULL,
+--  id    INTEGER       DEFAULT 0 NOT NULL,
+--  PRIMARY KEY (name)
+--);
+
+--
+-- 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)
+);
+
+--
+-- Table structure for system
+--
+
+CREATE TABLE system (
+  filename        VARCHAR2(255),
+  name            VARCHAR2(255),
+  type            VARCHAR2(255),
+  owner           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,
+  info            CLOB,
+  PRIMARY KEY (filename)
+);
+CREATE INDEX system_idx ON system(weight);
+
+--
+-- 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_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;
+/
+
+--
+-- 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);
+
+--
+-- Table structure for term_node
+--
+
+CREATE TABLE term_node (
+  nid NUMBER default 0 NOT NULL,
+  vid NUMBER DEFAULT 0 NOT NULL,
+  tid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (tid,nid,vid)
+);
+CREATE INDEX term_node_nid_idx ON term_node(nid);
+CREATE INDEX term_node_tid_idx ON term_node(tid);
+CREATE INDEX term_node_vid_idx ON term_node(vid);
+
+--
+-- 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);
+
+--
+-- 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);
+
+--
+-- 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 INDEX users_created_idx ON users(created);
+
+CREATE SEQUENCE users_uid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER users_be_in
+BEFORE INSERT ON users
+FOR EACH ROW
+BEGIN
+  IF :NEW."uid" IS NULL THEN
+    SELECT users_uid_seq.NEXTVAL
+    INTO :NEW."uid"
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- 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)
+);
+
+--
+-- Table structure for variable
+--
+
+CREATE TABLE variable (
+  name      VARCHAR2(128),
+  value     CLOB,
+  language  VARCHAR2(12),
+  PRIMARY KEY (name)
+);
+
+--
+-- Table structure for vocabulary
+--
+
+CREATE TABLE vocabulary (
+  vid         NUMBER              NOT NULL,
+  name        VARCHAR2(255),
+  description CLOB,
+  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;
+/
+
+--
+-- Table structure for vocabulary_node_types
+--
+
+CREATE TABLE vocabulary_node_types (
+  vid   NUMBER        default 0 NOT NULL,
+  type  VARCHAR2(32),
+  PRIMARY KEY (vid, type)
+);
+
+-----------------------------------------------------------------------------
+--
+-- /**************************/
+-- /*      Pre-INSERT        */
+-- /**************************/
+--
+
+INSERT INTO system (filename, name, type, owner, status, throttle, bootstrap, schema_version) VALUES ('themes/engines/phptemplate/phptemplate.engine', 'phptemplate', 'theme_engine', '', 1, 0, 0, 0);
+-- second query use some current setting, moved to patch part below
+--INSERT INTO system (filename, name, type, owner, status, throttle, bootstrap, schema_version, info) VALUES ('themes/garland/page.tpl.php', 'garland', 'theme', 'themes/engines/phptemplate/phptemplate.engine', 1, 0, 0, 0, 'a:6:{s:4:"name";s:7:"Garland";s:11:"description";s:66:"Tableless, recolorable, multi-column, fluid width theme (default).";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:7:"regions";a:5:{s:4:"left";s:12:"Left sidebar";s:5:"right";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";}s:8:"features";a:8:{i:0;s:20:"comment_user_picture";i:1;s:7:"favicon";i:2;s:7:"mission";i:3;s:4:"logo";i:4;s:4:"name";i:5;s:17:"node_user_picture";i:6;s:6:"search";i:7;s:6:"slogan";}}');
+
+INSERT INTO users ("uid",name,mail) VALUES(0,'','');
+INSERT INTO role (name) VALUES ('anonymous user');
+INSERT INTO role (name) VALUES ('authenticated user');
+
+INSERT INTO permission VALUES (1,'access content',0);
+INSERT INTO permission VALUES (2,'access comments, access content, post comments, post comments without approval',0);
+
+INSERT INTO variable (name,value) VALUES('theme_default', 's:7:"garland";');
+
+INSERT INTO blocks (module,delta,theme,status,pages) VALUES('user', 0, 'garland', 1, EMPTY_CLOB());
+INSERT INTO blocks (module,delta,theme,status,pages) VALUES('user', 1, 'garland', 1, EMPTY_CLOB());
+
+INSERT INTO node_access VALUES (0, 0, 'all', 1, 0, 0);
+
+--INSERT INTO node_type (type, name, module, description, help, has_title, title_label, has_body, body_label, min_word_count, custom, modified, locked, orig_type) VALUES ('page', 'Page', 'node', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'page');
+--INSERT INTO node_type (type, name, module, description, help, has_title, title_label, has_body, body_label, min_word_count, custom, modified, locked, orig_type) VALUES ('story', 'Story', 'node', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'story');
+INSERT INTO filter_formats (name, roles, cache) VALUES ('Filtered HTML',',1,2,',1);
+INSERT INTO filter_formats (name, roles, cache) VALUES ('Full HTML','',1);
+--INSERT INTO filter_formats (name, roles, cache) VALUES ('PHP code','',0);
+
+-- Filtered HTML
+INSERT INTO filters (format, module, delta, weight) VALUES (1,'filter',2,0);
+INSERT INTO filters (format, module, delta, weight) VALUES (1,'filter',0,1);
+INSERT INTO filters (format, module, delta, weight) VALUES (1,'filter',1,2);
+-- Full HTML
+INSERT INTO filters (format, module, delta, weight) VALUES (2,'filter',2,0);
+INSERT INTO filters (format, module, delta, weight) VALUES (2,'filter',1,1);
+
+INSERT INTO variable (name,value) VALUES ('filter_html_1','i:1;');
+
+INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
+
+--INSERT INTO menu (mid, pid, path, title, description, weight, type) VALUES (2, 0, '', 'Primary links', '', 0, 115);
+--INSERT INTO variable VALUES ('menu_primary_menu', 'i:2;');
+--INSERT INTO variable VALUES ('menu_secondary_menu', 'i:2;');
+
+-- CORE END
+
+-----------------------------------------------------------------------------
+-- /****************************/
+-- /*    Module: aggregator    */
+-- /****************************/
+
+--
+-- 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;
+/
+
+--
+-- 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)
+);
+
+--
+-- 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)
+);
+
+--
+-- 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 VARCHAR2(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_feed_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;
+/
+
+--
+-- 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,
+  guid        VARCHAR2(255),
+  PRIMARY KEY (iid)
+);
+
+CREATE INDEX aggregator_item_idx ON aggregator_item (fid);
+
+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;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: book       */
+-- /****************************/
+
+--
+-- 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_idx ON book(parent);
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*      Module: contact     */
+-- /****************************/
+
+--
+-- Table structre for table 'contact'
+--
+
+CREATE TABLE contact (
+  cid         NUMBER                              NOT NULL,
+  category    VARCHAR2(255),
+  recipients  CLOB,
+  reply       CLOB,
+  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;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: dblog      */
+-- /****************************/
+
+--
+-- Table structure for watchdog
+--
+
+CREATE TABLE watchdog (
+  wid       NUMBER              NOT NULL,
+  "uid"     NUMBER    default 0 NOT NULL,
+  type      VARCHAR2(16),
+  message   VARCHAR2(4000),
+  variables CLOB,
+  severity  NUMBER(5) default 0 NOT NULL,
+  link      VARCHAR2(255),
+  location  CLOB,
+  referer   VARCHAR2(128),
+  hostname  VARCHAR2(128),
+  timestamp NUMBER    default 0 NOT NULL,
+  PRIMARY KEY (wid)
+);
+
+CREATE INDEX watchdog_idx ON watchdog(type);
+
+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;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: drupal     */
+-- /****************************/
+
+--
+-- 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;
+/
+
+--
+-- Table structure for table 'client_system'
+--
+
+CREATE TABLE client_system (
+  cid   INTEGER        DEFAULT 0 NOT NULL,
+  name  VARCHAR2(255),
+  type  VARCHAR2(255),
+  PRIMARY KEY (cid,name)
+);
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: forum      */
+-- /*   Merged into .install   */
+-- /****************************/
+
+--
+-- 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_nid_idx ON forum(nid);
+CREATE INDEX forum_tid_idx ON forum(tid);
+
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*      Module: locale      */
+-- /****************************/
+
+--
+-- Table structure for languages
+--
+
+CREATE TABLE languages (
+  language  VARCHAR2(12),
+  name      VARCHAR2(64),
+  native    VARCHAR2(64),
+  direction INTEGER       DEFAULT 0 NOT NULL,
+  enabled   INTEGER       DEFAULT 0 NOT NULL,
+  plurals   INTEGER       DEFAULT 0 NOT NULL,
+  formula   VARCHAR2(128),
+  domain    VARCHAR2(128),
+  prefix    VARCHAR2(128),
+  weight    INTEGER       DEFAULT 0 NOT NULL,
+  PRIMARY KEY (language)
+);
+
+--
+-- 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;
+/
+
+--
+-- Table structure for locales_target
+--
+
+CREATE TABLE locales_target (
+  lid         NUMBER(10)    default 0 NOT NULL,
+  translation CLOB,
+  language    VARCHAR2(12),
+  plid        NUMBER(10)    default 0 NOT NULL,
+  plural      NUMBER(10)    default 0 NOT NULL,
+  UNIQUE (lid)
+);
+CREATE INDEX locales_target_idx_1 ON locales_target(language);
+CREATE INDEX locales_target_idx_2 ON locales_target(plid);
+CREATE INDEX locales_target_idx_3 ON locales_target(plural);
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: menu       */
+-- /****************************/
+
+--
+-- Table structure for menu_custom
+--
+
+CREATE TABLE menu_custom (
+  path        VARCHAR2(255),
+  disabled    INTEGER         DEFAULT 0 NOT NULL,
+  title       VARCHAR2(255),
+  description VARCHAR2(255),
+  weight      INTEGER         DEFAULT 0 NOT NULL,
+  type        INTEGER         DEFAULT 0 NOT NULL,
+  admin       INTEGER         DEFAULT 0 NOT NULL,
+  parent      VARCHAR2(255),
+  PRIMARY KEY (path)
+);
+
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: poll       */
+-- /****************************/
+
+--
+-- 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)
+);
+
+--
+-- Table structure for poll_votes
+--
+
+CREATE TABLE poll_votes (
+  nid       INTEGER             NOT NULL,
+  "uid"     INTEGER default 0   NOT NULL,
+  chorder   INTEGER DEFAULT -1  NOT NULL,
+  hostname  VARCHAR2(128)
+);
+CREATE INDEX poll_votes_idx_1 ON poll_votes (nid);
+CREATE INDEX poll_votes_idx_2 ON poll_votes ("uid");
+CREATE INDEX poll_votes_idx_3 ON poll_votes (hostname);
+
+--
+-- Table structure for poll_choices
+--
+
+CREATE TABLE poll_choices (
+  chid    NUMBER            NOT NULL,
+  nid     NUMBER  default 0 NOT NULL,
+  chtext  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;
+/
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*     Module: profile      */
+-- /****************************/
+
+--
+-- 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 EMPTY_CLOB(),
+  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,
+  autocomplete  NUMBER(5)     DEFAULT 0   NOT NULL,
+  options     CLOB,
+  UNIQUE (name),
+  PRIMARY KEY (fid)
+);
+
+CREATE INDEX profile_fields_idx_1 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;
+/
+
+--
+-- Table structure for table 'profile_values'
+--
+
+CREATE TABLE profile_values (
+  fid   NUMBER default '0',
+  "uid" NUMBER default '0',
+  value CLOB
+);
+CREATE INDEX profile_values_idx_1 ON profile_values ("uid");
+CREATE INDEX profile_values_idx_2 ON profile_values (fid);
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*     Module: search       */
+-- /*   Merged into .install   */
+-- /****************************/
+
+--
+-- 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_idx_1 ON search_dataset(sid, type);
+
+--
+-- Table structure for search_index
+--
+
+CREATE TABLE search_index (
+  word      VARCHAR2(50),
+  sid       NUMBER        default 0 NOT NULL,
+  type      VARCHAR2(16),
+  fromsid   NUMBER        default 0 NOT NULL,
+  fromtype  VARCHAR2(16),
+  score     float         default NULL
+);
+
+CREATE INDEX search_index_idx_1 ON search_index(sid, type);
+-- ORA: search_idx_frmsid_frmtype_idx name shorted due to 31 charecter limit on identifiers
+CREATE INDEX search_index_idx_2 ON search_index(fromsid, fromtype);
+CREATE INDEX search_index_idx_3 ON search_index(word);
+
+--
+-- Table structures for search_total
+--
+
+CREATE TABLE search_total (
+  word  VARCHAR2(50),
+  count float default NULL,
+  PRIMARY KEY(word)
+);
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*   Module: statistics     */
+-- /****************************/
+
+--
+-- Table structure for accesslog
+--
+
+CREATE TABLE accesslog (
+  aid       NUMBER                   NOT NULL,
+  sid       VARCHAR2(64),
+  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;
+/
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*   INSERT DEFAULT VALUE   */
+-- /****************************/
+
+
+INSERT INTO languages (language, name, native, direction, enabled, weight) VALUES ('en', 'English', 'English', '0', '1', '0');
+
+-- Optional Module END
+
+---------------------------------------------------------
+-- /**********************/
+-- /*  patch             */
+-- /**********************/
+
+-- 01-10 Add the record for core modules
+INSERT INTO SYSTEM (filename, name, type, owner, status, throttle, bootstrap, schema_version, info) VALUES ('themes/garland/page.tpl.php', 'garland', 'theme', 'themes/engines/phptemplate/phptemplate.engine', 1, 0, 0, 0, 'a:6:{s:4:"name";s:7:"Garland";s:11:"description";s:66:"Tableless, recolorable, multi-column, fluid width theme (default).";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:7:"regions";a:5:{s:4:"left";s:12:"Left sidebar";s:5:"right";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";}s:8:"features";a:8:{i:0;s:20:"comment_user_picture";i:1;s:7:"favicon";i:2;s:7:"mission";i:3;s:4:"logo";i:4;s:4:"name";i:5;s:17:"node_user_picture";i:6;s:6:"search";i:7;s:6:"slogan";}}');
+
+INSERT INTO SYSTEM VALUES ('modules/system/system.module', 'system', 'module', '', 1, 0, 0, 6012, 0, 'a:7:{s:4:"name";s:6:"System";s:11:"description";s:54:"Handles general site configuration for administrators.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/aggregator/aggregator.module', 'aggregator', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:10:"Aggregator";s:11:"description";s:57:"Aggregates syndicated content (RSS, RDF, and Atom feeds).";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/block/block.module', 'block', 'module', 'Controls the boxes that are displayed around the main content.', 1, 0, 0, 0, 0, 'a:7:{s:4:"name";s:5:"Block";s:11:"description";s:62:"Controls the boxes that are displayed around the main content.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/blog/blog.module', 'blog', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:4:"Blog";s:11:"description";s:69:"Enables keeping easily and regularly updated user web pages or blogs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/blogapi/blogapi.module', 'blogapi', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:8:"Blog API";s:11:"description";s:79:"Allows users to post content using applications that support XML-RPC blog APIs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/book/book.module', 'book', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:4:"Book";s:11:"description";s:46:"Allows users to collaboratively author a book.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/color/color.module', 'color', 'module', '', 1, 0, 0, 0, 0, 'a:7:{s:4:"name";s:5:"Color";s:11:"description";s:61:"Allows the user to change the color scheme of certain themes.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/comment/comment.module', 'comment', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:7:"Comment";s:11:"description";s:57:"Allows users to comment on and discuss published content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/contact/contact.module', 'contact', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:7:"Contact";s:11:"description";s:61:"Enables the use of both personal and site-wide contact forms.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/dblog/dblog.module', 'dblog', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:16:"Database logging";s:11:"description";s:47:"Logs and records system events to the database.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/drupal/drupal.module', 'drupal', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Drupal";s:11:"description";s:197:"Lets you register your site with a central server and improve ranking of Drupal projects by posting information on your installed modules and themes; also enables users to log in using a Drupal ID.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/filter/filter.module', 'filter', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:6:"Filter";s:11:"description";s:60:"Handles the filtering of content in preparation for display.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/forum/forum.module', 'forum', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:5:"Forum";s:11:"description";s:50:"Enables threaded discussions about general topics.";s:12:"dependencies";a:2:{i:0;s:8:"taxonomy";i:1;s:7:"comment";}s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/help/help.module', 'help', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"Help";s:11:"description";s:35:"Manages the display of online help.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+--INSERT INTO SYSTEM VALUES ('modules/legacy/legacy.module', 'legacy', 'module', 'Provides legacy handlers for upgrades from older Drupal installations.', 0, 0, 0, -1, 0);
+INSERT INTO SYSTEM VALUES ('modules/locale/locale.module', 'locale', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Locale";s:11:"description";s:78:"Enables the translation of the user interface to languages other than English.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/menu/menu.module', 'menu', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Menu";s:11:"description";s:60:"Allows administrators to customize the site navigation menu.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/node/node.module', 'node', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"Node";s:11:"description";s:66:"Allows content to be submitted to the site and displayed on pages.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/path/path.module', 'path', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Path";s:11:"description";s:28:"Allows users to rename URLs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/php/php.module', 'php', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:10:"PHP filter";s:11:"description";s:50:"Allows embedded PHP code/snippets to be evaluated.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/ping/ping.module', 'ping', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Ping";s:11:"description";s:51:"Alerts other sites when your site has been updated.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/poll/poll.module', 'poll', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Poll";s:11:"description";s:95:"Allows your site to capture votes on different topics in the form of multiple choice questions.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/profile/profile.module', 'profile', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:7:"Profile";s:11:"description";s:36:"Supports configurable user profiles.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/search/search.module', 'search', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Search";s:11:"description";s:36:"Enables site-wide keyword searching.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/statistics/statistics.module', 'statistics', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:10:"Statistics";s:11:"description";s:37:"Logs access statistics for your site.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/syslog/syslog.module', 'syslog', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Syslog";s:11:"description";s:41:"Logs and records system events to syslog.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/taxonomy/taxonomy.module', 'taxonomy', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:8:"Taxonomy";s:11:"description";s:38:"Enables the categorization of content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/throttle/throttle.module', 'throttle', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:8:"Throttle";s:11:"description";s:66:"Handles the auto-throttling mechanism, to control site congestion.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/tracker/tracker.module', 'tracker', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:7:"Tracker";s:11:"description";s:43:"Enables tracking of recent posts for users.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/upload/upload.module', 'upload', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Upload";s:11:"description";s:51:"Allows users to upload and attach files to content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO SYSTEM VALUES ('modules/user/user.module', 'user', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"User";s:11:"description";s:47:"Manages the user registration and login system.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+
+INSERT INTO VARIABLE (name, value) VALUES ('install_profile', 's:7:"default";');
+INSERT INTO VARIABLE (name, value) VALUES ('node_options_page', 'a:1:{i:0;s:6:"status";}');
+INSERT INTO VARIABLE (name, value) VALUES ('comment_page', 'i:0;');
+INSERT INTO VARIABLE (name, value) VALUES ('theme_settings', 'a:1:{s:21:"toggle_node_info_page";b:0;}');
+
+
+-------------------------------------
+-- Menu patch
+-------------------------------------
+INSERT INTO menu VALUES (48, 0, 'node', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'node_page_default', 'a:0:{}', 1, 1, 1, 2, 0, '0,48', 1, 0, 0, 'Content', 't', '', 'node', 16, '', '', '', 'node', '', '', '', 0, 0);
+INSERT INTO menu VALUES (106, 0, 'user', '', '', 'user_is_anonymous', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:10:"user_login";}', 1, 1, 3, 4, 0, '0,106', 1, 0, 0, 'Log in', 't', '', 'user', 4, '', '', '', 'user', '', '', '', 0, 0);
+INSERT INTO menu VALUES (127, 0, 'user/%', 'a:1:{i:1;s:17:"user_current_load";}', 'a:1:{i:1;s:19:"user_current_to_arg";}', 'user_view_access', 'a:1:{i:0;i:1;}', 'user_view', 'a:1:{i:0;i:1;}', 2, 2, 5, 10, 1, '0,127', 1, 0, 0, 'My account', 't', '', 'user/%', 22, '', '', '', 'user/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (50, 0, 'rss.xml', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'node_feed', 'a:0:{}', 1, 1, 11, 12, 0, '0,50', 1, 0, 0, 'RSS feed', 't', '', 'rss.xml', 4, '', '', '', 'rss.xml', '', '', '', 0, 0);
+INSERT INTO menu VALUES (49, 0, 'node/add', '', '', '_node_add_access', 'a:0:{}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 13, 18, 1, '0,49', 1, 1, 0, 'Create content', 't', '', 'node/add', 22, '', '', '', 'node/add', '', '', '', 0, 0);
+INSERT INTO menu VALUES (63, 0, 'admin', '', '', 'user_access', 'a:1:{i:0;s:27:"access administration pages";}', 'system_main_admin_page', 'a:0:{}', 1, 1, 19, 156, 1, '0,63', 1, 1, 0, 'Administer', 't', '', 'admin', 22, '', '', '', 'admin', '', '', '', 0, 0);
+INSERT INTO menu VALUES (126, 0, 'logout', '', '', 'user_is_logged_in', 'a:0:{}', 'user_logout', 'a:0:{}', 1, 1, 157, 158, 1, '0,126', 1, 0, 0, 'Log out', 't', '', 'logout', 22, '', '', '', 'logout', '', '', '', 0, 0);
+INSERT INTO menu VALUES (40, 63, 'admin/content', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 20, 55, 1, '0,63,40', 2, 1, 0, 'Content management', 't', '', 'admin/content', 22, '', 'Manage your site''s content.', 'left', 'admin/content', '', '', '', 0, 0);
+INSERT INTO menu VALUES (68, 63, 'admin/build', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 56, 81, 1, '0,63,68', 2, 1, 0, 'Site building', 't', '', 'admin/build', 22, '', 'Control how your site looks and feels.', 'right', 'admin/build', '', '', '', 0, 0);
+INSERT INTO menu VALUES (67, 63, 'admin/settings', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_settings_overview', 'a:0:{}', 3, 2, 82, 117, 1, '0,63,67', 2, 1, 0, 'Site configuration', 't', '', 'admin/settings', 22, '', 'Adjust basic site configuration options.', 'right', 'admin/settings', '', '', '', 0, 0);
+INSERT INTO menu VALUES (101, 0, 'taxonomy/autocomplete', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'taxonomy_autocomplete', 'a:0:{}', 3, 2, 159, 160, 0, '0,101', 2, 0, 0, 'Autocomplete taxonomy', 't', '', 'taxonomy/autocomplete', 4, '', '', '', 'taxonomy/autocomplete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (65, 63, 'admin/by-task', '', '', '1', 'a:0:{}', 'system_main_admin_page', 'a:0:{}', 3, 2, 118, 119, 0, '0,63,65', 2, 0, 1, 'By task', 't', '', 'admin', 320, '', '', '', 'admin/by-task', '', '', '', 0, 0);
+INSERT INTO menu VALUES (64, 0, 'admin/compact', '', '', '1', 'a:0:{}', 'system_admin_compact_page', 'a:0:{}', 3, 2, 161, 162, 0, '0,64', 2, 0, 0, 'Compact mode', 't', '', 'admin/compact', 4, '', '', '', 'admin/compact', '', '', '', 0, 0);
+INSERT INTO menu VALUES (25, 0, 'filter/tips', '', '', '1', 'a:0:{}', 'filter_tips_long', 'a:0:{}', 3, 2, 163, 164, 0, '0,25', 2, 0, 0, 'Compose tips', 't', '', 'filter/tips', 20, '', '', '', 'filter/tips', '', '', '', 0, 0);
+INSERT INTO menu VALUES (108, 0, 'user/register', '', '', 'user_register_access', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:13:"user_register";}', 3, 2, 165, 166, 0, '0,108', 2, 0, 1, 'Create new account', 't', '', 'user', 64, '', '', '', 'user/register', '', '', '', 0, 0);
+INSERT INTO menu VALUES (12, 0, 'comment/delete', '', '', 'user_access', 'a:1:{i:0;s:19:"administer comments";}', 'comment_delete', 'a:0:{}', 3, 2, 167, 168, 0, '0,12', 2, 0, 0, 'Delete comment', 't', '', 'comment/delete', 4, '', '', '', 'comment/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (13, 0, 'comment/edit', '', '', 'user_access', 'a:1:{i:0;s:13:"post comments";}', 'comment_edit', 'a:0:{}', 3, 2, 169, 170, 0, '0,13', 2, 0, 0, 'Edit comment', 't', '', 'comment/edit', 4, '', '', '', 'comment/edit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (62, 0, 'system/files', '', '', '1', 'a:0:{}', 'file_download', 'a:0:{}', 3, 2, 171, 172, 0, '0,62', 2, 0, 0, 'File download', 't', '', 'system/files', 4, '', '', '', 'system/files', '', '', '', 0, 0);
+INSERT INTO menu VALUES (111, 0, 'user/help', '', '', '1', 'a:0:{}', 'user_help_page', 'a:0:{}', 3, 2, 173, 174, 0, '0,111', 2, 0, 0, 'Help', 't', '', 'user/help', 4, '', '', '', 'user/help', '', '', '', 0, 0);
+INSERT INTO menu VALUES (107, 0, 'user/login', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:10:"user_login";}', 3, 2, 175, 176, 0, '0,107', 2, 0, 1, 'Log in', 't', '', 'user', 320, '', '', '', 'user/login', '', '', '', 0, 0);
+INSERT INTO menu VALUES (51, 49, 'node/add/page', '', '', 'node_access', 'a:2:{i:0;s:6:"create";i:1;s:4:"page";}', 'node_add', 'a:1:{i:0;i:2;}', 7, 3, 14, 15, 1, '0,49,51', 2, 0, 0, 'Page', 't', '', 'node/add/page', 22, '', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 'node/add/page', '', '', '', 0, 0);
+INSERT INTO menu VALUES (109, 0, 'user/password', '', '', 'user_is_anonymous', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:9:"user_pass";}', 3, 2, 177, 178, 0, '0,109', 2, 0, 1, 'Request new password', 't', '', 'user', 64, '', '', '', 'user/password', '', '', '', 0, 0);
+INSERT INTO menu VALUES (54, 49, 'node/add/story', '', '', 'node_access', 'a:2:{i:0;s:6:"create";i:1;s:5:"story";}', 'node_add', 'a:1:{i:0;i:2;}', 7, 3, 16, 17, 1, '0,49,54', 2, 0, 0, 'Story', 't', '', 'node/add/story', 22, '', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 'node/add/story', '', '', '', 0, 0);
+INSERT INTO menu VALUES (100, 0, 'taxonomy/term', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'taxonomy_term_page', 'a:0:{}', 3, 2, 179, 180, 0, '0,100', 2, 0, 0, 'Taxonomy term', 't', '', 'taxonomy/term', 4, '', '', '', 'taxonomy/term', '', '', '', 0, 0);
+INSERT INTO menu VALUES (105, 0, 'user/autocomplete', '', '', 'user_access', 'a:1:{i:0;s:20:"access user profiles";}', 'user_autocomplete', 'a:0:{}', 3, 2, 181, 182, 0, '0,105', 2, 0, 0, 'User autocomplete', 't', '', 'user/autocomplete', 4, '', '', '', 'user/autocomplete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (112, 63, 'admin/user', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 120, 141, 1, '0,63,112', 2, 1, 0, 'User management', 't', '', 'admin/user', 22, '', 'Manage your site''s users, groups and access to site features.', 'left', 'admin/user', '', '', '', 0, 0);
+INSERT INTO menu VALUES (57, 0, 'node/%', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:4:"view";i:1;i:1;}', 'node_page_view', 'a:1:{i:0;i:1;}', 2, 2, 183, 184, 0, '0,57', 2, 0, 0, 'View', 't', '', 'node/%', 4, '', '', '', 'node/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (66, 63, 'admin/by-module', '', '', '1', 'a:0:{}', 'system_admin_by_module', 'a:0:{}', 3, 2, 142, 143, 0, '0,63,66', 2, 0, 1, 'By module', 't', '', 'admin', 64, '', '', '', 'admin/by-module', '', '', '', 0, 0);
+INSERT INTO menu VALUES (90, 63, 'admin/logs', '', '', '1', 'a:0:{}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 144, 153, 1, '0,63,90', 2, 1, 0, 'Logs', 't', '', 'admin/logs', 22, '', 'View system logs and other status information.', 'left', 'admin/logs', '', '', '', 0, 0);
+INSERT INTO menu VALUES (30, 63, 'admin/help', '', '', 'user_access', 'a:1:{i:0;s:27:"access administration pages";}', 'help_main', 'a:0:{}', 3, 2, 154, 155, 1, '0,63,30', 2, 0, 0, 'Help', 't', '', 'admin/help', 22, '', '', '', 'admin/help', '', '', '', 0, 0);
+INSERT INTO menu VALUES (58, 0, 'node/%/view', 'a:1:{i:1;s:9:"node_load";}', '', '1', 'a:0:{}', 'node_page_view', 'a:1:{i:0;i:1;}', 5, 3, 185, 186, 0, '0,58', 3, 0, 1, 'View', 't', '', 'node/%', 320, '', '', '', 'node/%/view', '', '', '', 0, 0);
+INSERT INTO menu VALUES (128, 127, 'user/%/view', 'a:1:{i:1;s:9:"user_load";}', '', '1', 'a:0:{}', 'user_view', 'a:1:{i:0;i:1;}', 5, 3, 6, 7, 0, '0,127,128', 3, 0, 1, 'View', 't', '', 'user/%', 320, '', '', '', 'user/%/view', '', '', '', 0, 0);
+INSERT INTO menu VALUES (17, 90, 'admin/logs/dblog', '', '', '1', 'a:0:{}', 'dblog_overview', 'a:0:{}', 7, 3, 145, 146, 1, '0,63,90,17', 3, 0, 0, 'Recent log entries', 't', '', 'admin/logs/dblog', 22, '', 'View events that have recently been logged.', '', 'admin/logs/dblog', '', '', '', 0, 0);
+INSERT INTO menu VALUES (117, 112, 'admin/user/access', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'drupal_get_form', 'a:1:{i:0;s:15:"user_admin_perm";}', 7, 3, 121, 122, 1, '0,63,112,117', 3, 0, 0, 'Access control', 't', '', 'admin/user/access', 22, '', 'Determine access to features by selecting permissions for roles.', '', 'admin/user/access', '', '', '', 0, 0);
+INSERT INTO menu VALUES (120, 112, 'admin/user/rules', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'user_admin_access', 'a:0:{}', 7, 3, 123, 130, 1, '0,63,112,120', 3, 0, 0, 'Access rules', 't', '', 'admin/user/rules', 22, '', 'List and create rules to disallow usernames, e-mail addresses, and IP addresses.', '', 'admin/user/rules', '', '', '', 0, 0);
+INSERT INTO menu VALUES (69, 67, 'admin/settings/admin', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_admin_theme_settings";}', 7, 3, 83, 84, 1, '0,63,67,69', 3, 0, 0, 'Administration theme', 't', '', 'admin/settings/admin', 22, 'system_admin_theme_settings', 'Settings for how your administrative pages should look.', 'left', 'admin/settings/admin', '', '', '', 0, 0);
+INSERT INTO menu VALUES (1, 68, 'admin/build/block', '', '', 'user_access', 'a:1:{i:0;s:17:"administer blocks";}', 'drupal_get_form', 'a:1:{i:0;s:19:"block_admin_display";}', 7, 3, 57, 64, 1, '0,63,68,1', 3, 0, 0, 'Blocks', 't', '', 'admin/build/block', 22, '', 'Configure what block content appears in your site''s sidebars and other regions.', '', 'admin/build/block', '', '', '', 0, 0);
+INSERT INTO menu VALUES (95, 40, 'admin/content/taxonomy', '', '', 'user_access', 'a:1:{i:0;s:19:"administer taxonomy";}', 'taxonomy_overview_vocabularies', 'a:0:{}', 7, 3, 21, 30, 1, '0,63,40,95', 3, 0, 0, 'Categories', 't', '', 'admin/content/taxonomy', 22, '', 'Create vocabularies and terms to categorize your content.', '', 'admin/content/taxonomy', '', '', '', 0, 0);
+INSERT INTO menu VALUES (89, 67, 'admin/settings/clean-urls', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_clean_url_settings";}', 7, 3, 85, 86, 1, '0,63,67,89', 3, 0, 0, 'Clean URLs', 't', '', 'admin/settings/clean-urls', 22, '', 'Enable or disable clean URLs for your site.', '', 'admin/settings/clean-urls', '', '', '', 0, 0);
+INSERT INTO menu VALUES (7, 40, 'admin/content/comment', '', '', 'user_access', 'a:1:{i:0;s:19:"administer comments";}', 'comment_admin', 'a:0:{}', 7, 3, 31, 40, 1, '0,63,40,7', 3, 0, 0, 'Comments', 't', '', 'admin/content/comment', 22, '', 'List and edit site comments and the comment moderation queue.', '', 'admin/content/comment', '', '', '', 0, 0);
+INSERT INTO menu VALUES (41, 40, 'admin/content/node', '', '', 'user_access', 'a:1:{i:0;s:16:"administer nodes";}', 'node_admin_content', 'a:0:{}', 7, 3, 41, 44, 1, '0,63,40,41', 3, 0, 0, 'Content', 't', '', 'admin/content/node', 22, '', 'View, edit, and delete your site''s content.', '', 'admin/content/node', '', '', '', 0, 0);
+INSERT INTO menu VALUES (45, 40, 'admin/content/types', '', '', 'user_access', 'a:1:{i:0;s:24:"administer content types";}', 'node_overview_types', 'a:0:{}', 7, 3, 45, 50, 1, '0,63,40,45', 3, 0, 0, 'Content types', 't', '', 'admin/content/types', 22, '', 'Manage posts by content type, including default status, front page promotion, etc.', '', 'admin/content/types', '', '', '', 0, 0);
+INSERT INTO menu VALUES (87, 67, 'admin/settings/date-time', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_date_time_settings";}', 7, 3, 87, 88, 1, '0,63,67,87', 3, 0, 0, 'Date and time', 't', '', 'admin/settings/date-time', 22, '', 'Settings for how Drupal displays date and time, as well as the system''s default timezone.', '', 'admin/settings/date-time', '', '', '', 0, 0);
+INSERT INTO menu VALUES (129, 0, 'user/%/delete', 'a:1:{i:1;s:9:"user_load";}', '', 'user_access', 'a:1:{i:0;s:16:"administer users";}', 'user_edit', 'a:0:{}', 5, 3, 187, 188, 0, '0,129', 3, 0, 0, 'Delete', 't', '', 'user/%/delete', 4, '', '', '', 'user/%/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (130, 127, 'user/%/edit', 'a:1:{i:1;s:9:"user_load";}', '', 'user_edit_access', 'a:1:{i:0;i:1;}', 'drupal_get_form', 'a:1:{i:0;s:9:"user_edit";}', 5, 3, 8, 9, 0, '0,127,130', 3, 0, 1, 'Edit', 't', '', 'user/%', 64, '', '', '', 'user/%/edit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (81, 67, 'admin/settings/error-reporting', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:31:"system_error_reporting_settings";}', 7, 3, 89, 90, 1, '0,63,67,81', 3, 0, 0, 'Error reporting', 't', '', 'admin/settings/error-reporting', 22, '', 'Control how Drupal deals with errors including 403/404 errors as well as PHP error reporting.', '', 'admin/settings/error-reporting', '', '', '', 0, 0);
+INSERT INTO menu VALUES (84, 67, 'admin/settings/file-system', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_file_system_settings";}', 7, 3, 91, 92, 1, '0,63,67,84', 3, 0, 0, 'File system', 't', '', 'admin/settings/file-system', 22, '', 'Tell Drupal where to store uploaded files and how they are accessed.', '', 'admin/settings/file-system', '', '', '', 0, 0);
+INSERT INTO menu VALUES (85, 67, 'admin/settings/image-toolkit', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:29:"system_image_toolkit_settings";}', 7, 3, 93, 94, 1, '0,63,67,85', 3, 0, 0, 'Image toolkit', 't', '', 'admin/settings/image-toolkit', 22, '', 'Choose which image toolkit to use if you have installed optional toolkits.', '', 'admin/settings/image-toolkit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (21, 67, 'admin/settings/filters', '', '', 'user_access', 'a:1:{i:0;s:18:"administer filters";}', 'drupal_get_form', 'a:1:{i:0;s:21:"filter_admin_overview";}', 7, 3, 95, 106, 1, '0,63,67,21', 3, 0, 0, 'Input formats', 't', '', 'admin/settings/filters', 22, '', 'Configure how content input by users is filtered, including allowed HTML tags. Also allows enabling of module-provided filters.', '', 'admin/settings/filters', '', '', '', 0, 0);
+INSERT INTO menu VALUES (82, 67, 'admin/settings/logging', '', '', '1', 'a:0:{}', 'system_logging_overview', 'a:0:{}', 7, 3, 107, 110, 1, '0,63,67,82', 3, 1, 0, 'Logging and alerts', 't', '', 'admin/settings/logging', 22, '', 'Settings for logging and alerts modules. Various modules can route Drupal''s system events to different destination, such as syslog, database, email, ...etc.', '', 'admin/settings/logging', '', '', '', 0, 0);
+INSERT INTO menu VALUES (75, 68, 'admin/build/modules', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 7, 3, 65, 70, 1, '0,63,68,75', 3, 0, 0, 'Modules', 't', '', 'admin/build/modules', 22, '', 'Enable or disable add-on modules for your site.', '', 'admin/build/modules', '', '', '', 0, 0);
+INSERT INTO menu VALUES (83, 67, 'admin/settings/performance', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_performance_settings";}', 7, 3, 111, 112, 1, '0,63,67,83', 3, 0, 0, 'Performance', 't', '', 'admin/settings/performance', 22, '', 'Enable or disable page caching for anonymous users, and enable or disable CSS preprocessor.', '', 'admin/settings/performance', '', '', '', 0, 0);
+INSERT INTO menu VALUES (43, 40, 'admin/content/node-settings', '', '', 'user_access', 'a:1:{i:0;s:16:"administer nodes";}', 'drupal_get_form', 'a:1:{i:0;s:14:"node_configure";}', 7, 3, 51, 52, 1, '0,63,40,43', 3, 0, 0, 'Post settings', 't', '', 'admin/content/node-settings', 22, '', 'Control posting behavior, such as teaser length, requiring previews before posting, and the number of posts on the front page.', '', 'admin/content/node-settings', '', '', '', 0, 0);
+INSERT INTO menu VALUES (86, 40, 'admin/content/rss-publishing', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_rss_feeds_settings";}', 7, 3, 53, 54, 1, '0,63,40,86', 3, 0, 0, 'RSS publishing', 't', '', 'admin/content/rss-publishing', 22, '', 'Configure the number of items per feed and whether feeds should be titles/teasers/full-text.', '', 'admin/content/rss-publishing', '', '', '', 0, 0);
+INSERT INTO menu VALUES (14, 0, 'comment/reply/%', 'a:1:{i:2;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:4:"view";i:1;i:2;}', 'comment_reply', 'a:1:{i:0;i:2;}', 6, 3, 189, 190, 0, '0,14', 3, 0, 0, 'Reply to comment', 't', '', 'comment/reply/%', 4, '', '', '', 'comment/reply/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (118, 112, 'admin/user/roles', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'drupal_get_form', 'a:1:{i:0;s:19:"user_admin_new_role";}', 7, 3, 131, 132, 1, '0,63,112,118', 3, 0, 0, 'Roles', 't', '', 'admin/user/roles', 22, '', 'List, edit, or add user roles.', '', 'admin/user/roles', '', '', '', 0, 0);
+INSERT INTO menu VALUES (80, 67, 'admin/settings/site-information', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"system_site_information_settings";}', 7, 3, 113, 114, 1, '0,63,67,80', 3, 0, 0, 'Site information', 't', '', 'admin/settings/site-information', 22, '', 'Change basic site information, such as the site name, slogan, e-mail address, mission, front page and more.', '', 'admin/settings/site-information', '', '', '', 0, 0);
+INSERT INTO menu VALUES (88, 67, 'admin/settings/site-maintenance', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"system_site_maintenance_settings";}', 7, 3, 115, 116, 1, '0,63,67,88', 3, 0, 0, 'Site maintenance', 't', '', 'admin/settings/site-maintenance', 22, '', 'Take the site off-line for maintenance or bring it back online.', '', 'admin/settings/site-maintenance', '', '', '', 0, 0);
+INSERT INTO menu VALUES (70, 68, 'admin/build/themes', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:18:"system_themes_form";}', 7, 3, 71, 80, 1, '0,63,68,70', 3, 0, 0, 'Themes', 't', '', 'admin/build/themes', 22, '', 'Change which theme your site uses or allows users to set.', '', 'admin/build/themes', '', '', '', 0, 0);
+INSERT INTO menu VALUES (19, 90, 'admin/logs/access-denied', '', '', '1', 'a:0:{}', 'dblog_top', 'a:1:{i:0;s:13:"access denied";}', 7, 3, 147, 148, 1, '0,63,90,19', 3, 0, 0, 'Top ''access denied'' errors', 't', '', 'admin/logs/access-denied', 22, '', 'View ''access denied'' errors (403s).', '', 'admin/logs/access-denied', '', '', '', 0, 0);
+INSERT INTO menu VALUES (18, 90, 'admin/logs/page-not-found', '', '', '1', 'a:0:{}', 'dblog_top', 'a:1:{i:0;s:14:"page not found";}', 7, 3, 149, 150, 1, '0,63,90,18', 3, 0, 0, 'Top ''page not found'' errors', 't', '', 'admin/logs/page-not-found', 22, '', 'View ''page not found'' errors (404s).', '', 'admin/logs/page-not-found', '', '', '', 0, 0);
+INSERT INTO menu VALUES (116, 112, 'admin/user/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"user_admin_settings";}', 7, 3, 133, 134, 1, '0,63,112,116', 3, 0, 0, 'User settings', 't', '', 'admin/user/settings', 22, '', 'Configure default behavior of users, including registration requirements, e-mails, and user pictures.', '', 'admin/user/settings', '', '', '', 0, 0);
+INSERT INTO menu VALUES (113, 112, 'admin/user/user', '', '', 'user_access', 'a:1:{i:0;s:16:"administer users";}', 'user_admin', 'a:1:{i:0;s:4:"list";}', 7, 3, 135, 140, 1, '0,63,112,113', 3, 0, 0, 'Users', 't', '', 'admin/user/user', 22, '', 'List, add, and edit users.', '', 'admin/user/user', '', '', '', 0, 0);
+INSERT INTO menu VALUES (15, 0, 'node/%/%', 'a:2:{i:1;s:9:"node_load";i:2;N;}', '', '_comment_view_access', 'a:2:{i:0;i:1;i:1;i:2;}', 'node_page_view', 'a:2:{i:0;i:1;i:1;i:2;}', 4, 3, 191, 192, 0, '0,15', 3, 0, 0, 'View', 't', '', 'node/%/%', 4, '', '', '', 'node/%/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (31, 0, 'admin/help/block', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 193, 194, 0, '0,31', 3, 0, 0, 'block', 't', '', 'admin/help/block', 4, '', '', '', 'admin/help/block', '', '', '', 0, 0);
+INSERT INTO menu VALUES (32, 0, 'admin/help/comment', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 195, 196, 0, '0,32', 3, 0, 0, 'comment', 't', '', 'admin/help/comment', 4, '', '', '', 'admin/help/comment', '', '', '', 0, 0);
+INSERT INTO menu VALUES (33, 0, 'admin/help/dblog', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 197, 198, 0, '0,33', 3, 0, 0, 'dblog', 't', '', 'admin/help/dblog', 4, '', '', '', 'admin/help/dblog', '', '', '', 0, 0);
+INSERT INTO menu VALUES (34, 0, 'admin/help/filter', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 199, 200, 0, '0,34', 3, 0, 0, 'filter', 't', '', 'admin/help/filter', 4, '', '', '', 'admin/help/filter', '', '', '', 0, 0);
+INSERT INTO menu VALUES (35, 0, 'admin/help/help', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 201, 202, 0, '0,35', 3, 0, 0, 'help', 't', '', 'admin/help/help', 4, '', '', '', 'admin/help/help', '', '', '', 0, 0);
+INSERT INTO menu VALUES (36, 0, 'admin/help/node', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 203, 204, 0, '0,36', 3, 0, 0, 'node', 't', '', 'admin/help/node', 4, '', '', '', 'admin/help/node', '', '', '', 0, 0);
+INSERT INTO menu VALUES (37, 0, 'admin/help/system', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 205, 206, 0, '0,37', 3, 0, 0, 'system', 't', '', 'admin/help/system', 4, '', '', '', 'admin/help/system', '', '', '', 0, 0);
+INSERT INTO menu VALUES (38, 0, 'admin/help/taxonomy', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 207, 208, 0, '0,38', 3, 0, 0, 'taxonomy', 't', '', 'admin/help/taxonomy', 4, '', '', '', 'admin/help/taxonomy', '', '', '', 0, 0);
+INSERT INTO menu VALUES (39, 0, 'admin/help/user', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 209, 210, 0, '0,39', 3, 0, 0, 'user', 't', '', 'admin/help/user', 4, '', '', '', 'admin/help/user', '', '', '', 0, 0);
+INSERT INTO menu VALUES (60, 0, 'node/%/delete', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:6:"delete";i:1;i:1;}', 'drupal_get_form', 'a:2:{i:0;s:19:"node_delete_confirm";i:1;i:1;}', 5, 3, 211, 212, 0, '0,60', 3, 0, 0, 'Delete', 't', '', 'node/%/delete', 4, '', '', '', 'node/%/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (59, 0, 'node/%/edit', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:6:"update";i:1;i:1;}', 'node_page_edit', 'a:1:{i:0;i:1;}', 5, 3, 213, 214, 0, '0,59', 3, 0, 1, 'Edit', 't', '', 'node/%', 64, '', '', '', 'node/%/edit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (61, 0, 'node/%/revisions', 'a:1:{i:1;s:9:"node_load";}', '', '_node_revision_access', 'a:1:{i:0;i:1;}', 'node_revisions', 'a:0:{}', 5, 3, 215, 216, 0, '0,61', 3, 0, 1, 'Revisions', 't', '', 'node/%', 64, '', '', '', 'node/%/revisions', '', '', '', 0, 0);
+INSERT INTO menu VALUES (91, 90, 'admin/logs/status', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_status', 'a:0:{}', 7, 3, 151, 152, 1, '0,63,90,91', 3, 0, 0, 'Status report', 't', '', 'admin/logs/status', 22, '', 'Get a status report about your site''s operation and any detected problems.', '', 'admin/logs/status', '', '', '', 0, 0);
+INSERT INTO menu VALUES (2, 1, 'admin/build/block/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"block_admin_display";}', 15, 4, 58, 59, 0, '0,63,68,1,2', 4, 0, 1, 'List', 't', '', 'admin/build/block', 320, '', '', '', 'admin/build/block/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (8, 7, 'admin/content/comment/list', '', '', '1', 'a:0:{}', 'comment_admin', 'a:0:{}', 15, 4, 32, 33, 0, '0,63,40,7,8', 4, 0, 1, 'List', 't', '', 'admin/content/comment', 320, '', '', '', 'admin/content/comment/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (42, 41, 'admin/content/node/overview', '', '', '1', 'a:0:{}', 'node_admin_content', 'a:0:{}', 15, 4, 42, 43, 0, '0,63,40,41,42', 4, 0, 1, 'List', 't', '', 'admin/content/node', 320, '', '', '', 'admin/content/node/overview', '', '', '', 0, 0);
+INSERT INTO menu VALUES (96, 95, 'admin/content/taxonomy/list', '', '', '1', 'a:0:{}', 'taxonomy_overview_vocabularies', 'a:0:{}', 15, 4, 22, 23, 0, '0,63,40,95,96', 4, 0, 1, 'List', 't', '', 'admin/content/taxonomy', 320, '', '', '', 'admin/content/taxonomy/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (46, 45, 'admin/content/types/list', '', '', '1', 'a:0:{}', 'node_overview_types', 'a:0:{}', 15, 4, 46, 47, 0, '0,63,40,45,46', 4, 0, 1, 'List', 't', '', 'admin/content/types', 320, '', '', '', 'admin/content/types/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (121, 120, 'admin/user/rules/list', '', '', '1', 'a:0:{}', 'user_admin_access', 'a:0:{}', 15, 4, 124, 125, 0, '0,63,112,120,121', 4, 0, 1, 'List', 't', '', 'admin/user/rules', 320, '', '', '', 'admin/user/rules/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (114, 113, 'admin/user/user/list', '', '', '1', 'a:0:{}', 'user_admin', 'a:1:{i:0;s:4:"list";}', 15, 4, 136, 137, 0, '0,63,112,113,114', 4, 0, 1, 'List', 't', '', 'admin/user/user', 320, '', '', '', 'admin/user/user/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (71, 70, 'admin/build/themes/select', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:18:"system_themes_form";}', 15, 4, 72, 73, 0, '0,63,68,70,71', 4, 0, 1, 'List', 't', '', 'admin/build/themes', 320, '', 'Select the default theme.', '', 'admin/build/themes/select', '', '', '', 0, 0);
+INSERT INTO menu VALUES (26, 0, 'admin/settings/filters/%', 'a:1:{i:3;s:18:"filter_format_load";}', '', 'user_access', 'a:1:{i:0;s:18:"administer filters";}', 'drupal_get_form', 'a:2:{i:0;s:24:"filter_admin_format_form";i:1;i:3;}', 14, 4, 217, 218, 0, '0,26', 4, 0, 0, '', 't', '', 'admin/settings/filters/%', 4, '', '', '', 'admin/settings/filters/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (5, 1, 'admin/build/block/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:20:"block_add_block_form";}', 15, 4, 60, 61, 0, '0,63,68,1,5', 4, 0, 1, 'Add block', 't', '', 'admin/build/block', 64, '', '', '', 'admin/build/block/add', '', '', '', 0, 0);
+INSERT INTO menu VALUES (47, 45, 'admin/content/types/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"node_type_form";}', 15, 4, 48, 49, 0, '0,63,40,45,47', 4, 0, 1, 'Add content type', 't', '', 'admin/content/types', 64, '', '', '', 'admin/content/types/add', '', '', '', 0, 0);
+INSERT INTO menu VALUES (122, 120, 'admin/user/rules/add', '', '', '1', 'a:0:{}', 'user_admin_access_add', 'a:0:{}', 15, 4, 126, 127, 0, '0,63,112,120,122', 4, 0, 1, 'Add rule', 't', '', 'admin/user/rules', 64, '', '', '', 'admin/user/rules/add', '', '', '', 0, 0);
+INSERT INTO menu VALUES (115, 113, 'admin/user/user/create', '', '', '1', 'a:0:{}', 'user_admin', 'a:1:{i:0;s:6:"create";}', 15, 4, 138, 139, 0, '0,63,112,113,115', 4, 0, 1, 'Add user', 't', '', 'admin/user/user', 64, '', '', '', 'admin/user/user/create', '', '', '', 0, 0);
+INSERT INTO menu VALUES (123, 120, 'admin/user/rules/check', '', '', '1', 'a:0:{}', 'user_admin_access_check', 'a:0:{}', 15, 4, 128, 129, 0, '0,63,112,120,123', 4, 0, 1, 'Check rules', 't', '', 'admin/user/rules', 64, '', '', '', 'admin/user/rules/check', '', '', '', 0, 0);
+INSERT INTO menu VALUES (72, 70, 'admin/build/themes/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"system_theme_settings";}', 15, 4, 74, 75, 0, '0,63,68,70,72', 4, 0, 1, 'Configure', 't', '', 'admin/build/themes', 64, '', '', '', 'admin/build/themes/settings', '', '', '', 0, 0);
+INSERT INTO menu VALUES (3, 0, 'admin/build/block/configure', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"block_admin_configure";}', 15, 4, 219, 220, 0, '0,3', 4, 0, 0, 'Configure block', 't', '', 'admin/build/block/configure', 4, '', '', '', 'admin/build/block/configure', '', '', '', 0, 0);
+INSERT INTO menu VALUES (16, 82, 'admin/settings/logging/dblog', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:20:"dblog_admin_settings";}', 15, 4, 108, 109, 1, '0,63,67,82,16', 4, 0, 0, 'Database logging', 't', '', 'admin/settings/logging/dblog', 22, '', 'Settings for logging to the Drupal database logs. This is the most common method for small to medium sites on shared hosting. The logs are viewable from the admin pages.', '', 'admin/settings/logging/dblog', '', '', '', 0, 0);
+INSERT INTO menu VALUES (4, 0, 'admin/build/block/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:16:"block_box_delete";}', 15, 4, 221, 222, 0, '0,4', 4, 0, 0, 'Delete block', 't', '', 'admin/build/block/delete', 4, '', '', '', 'admin/build/block/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (24, 0, 'admin/settings/filters/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"filter_admin_delete";}', 15, 4, 223, 224, 0, '0,24', 4, 0, 0, 'Delete input format', 't', '', 'admin/settings/filters/delete', 4, '', '', '', 'admin/settings/filters/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (125, 0, 'admin/user/rules/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"user_admin_access_delete_confirm";}', 15, 4, 225, 226, 0, '0,125', 4, 0, 0, 'Delete rule', 't', '', 'admin/user/rules/delete', 4, '', '', '', 'admin/user/rules/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (20, 0, 'admin/logs/event/%', 'a:1:{i:3;N;}', '', '1', 'a:0:{}', 'dblog_event', 'a:1:{i:0;i:3;}', 14, 4, 227, 228, 0, '0,20', 4, 0, 0, 'Details', 't', '', 'admin/logs/event/%', 4, '', '', '', 'admin/logs/event/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (119, 0, 'admin/user/roles/edit', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:15:"user_admin_role";}', 15, 4, 229, 230, 0, '0,119', 4, 0, 0, 'Edit role', 't', '', 'admin/user/roles/edit', 4, '', '', '', 'admin/user/roles/edit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (124, 0, 'admin/user/rules/edit', '', '', '1', 'a:0:{}', 'user_admin_access_edit', 'a:0:{}', 15, 4, 231, 232, 0, '0,124', 4, 0, 0, 'Edit rule', 't', '', 'admin/user/rules/edit', 4, '', '', '', 'admin/user/rules/edit', '', '', '', 0, 0);
+INSERT INTO menu VALUES (76, 75, 'admin/build/modules/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 15, 4, 66, 67, 0, '0,63,68,75,76', 4, 0, 1, 'List', 't', '', 'admin/build/modules', 320, '', '', '', 'admin/build/modules/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (22, 21, 'admin/settings/filters/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"filter_admin_overview";}', 15, 4, 96, 97, 0, '0,63,67,21,22', 4, 0, 1, 'List', 't', '', 'admin/settings/filters', 320, '', '', '', 'admin/settings/filters/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (102, 0, 'admin/content/taxonomy/%', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', 'user_access', 'a:1:{i:0;s:19:"administer taxonomy";}', 'taxonomy_overview_terms', 'a:1:{i:0;i:3;}', 14, 4, 233, 234, 0, '0,102', 4, 0, 0, 'List terms', 't', '', 'admin/content/taxonomy/%', 4, '', '', '', 'admin/content/taxonomy/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (93, 0, 'admin/logs/status/php', '', '', '1', 'a:0:{}', 'system_php', 'a:0:{}', 15, 4, 235, 236, 0, '0,93', 4, 0, 0, 'PHP', 't', '', 'admin/logs/status/php', 4, '', '', '', 'admin/logs/status/php', '', '', '', 0, 0);
+INSERT INTO menu VALUES (52, 0, 'admin/content/types/page', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:14:"node_type_form";i:1;O:8:"stdClass":14:{s:4:"type";s:4:"page";s:4:"name";s:4:"Page";s:6:"module";s:4:"node";s:11:"description";s:83:"If you want to add a static page, like a contact page or an about page, use a page.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:4:"page";}}', 15, 4, 237, 238, 0, '0,52', 4, 0, 0, 'Page', 't', '', 'admin/content/types/page', 4, '', '', '', 'admin/content/types/page', '', '', '', 0, 0);
+INSERT INTO menu VALUES (44, 0, 'admin/content/node-settings/rebuild', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:30:"node_configure_rebuild_confirm";}', 15, 4, 239, 240, 0, '0,44', 4, 0, 0, 'Rebuild permissions', 't', '', 'admin/content/node-settings/rebuild', 4, '', '', '', 'admin/content/node-settings/rebuild', '', '', '', 0, 0);
+INSERT INTO menu VALUES (92, 0, 'admin/logs/status/run-cron', '', '', '1', 'a:0:{}', 'system_run_cron', 'a:0:{}', 15, 4, 241, 242, 0, '0,92', 4, 0, 0, 'Run cron', 't', '', 'admin/logs/status/run-cron', 4, '', '', '', 'admin/logs/status/run-cron', '', '', '', 0, 0);
+INSERT INTO menu VALUES (94, 0, 'admin/logs/status/sql', '', '', '1', 'a:0:{}', 'system_sql', 'a:0:{}', 15, 4, 243, 244, 0, '0,94', 4, 0, 0, 'SQL', 't', '', 'admin/logs/status/sql', 4, '', '', '', 'admin/logs/status/sql', '', '', '', 0, 0);
+INSERT INTO menu VALUES (55, 0, 'admin/content/types/story', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:14:"node_type_form";i:1;O:8:"stdClass":14:{s:4:"type";s:5:"story";s:4:"name";s:5:"Story";s:6:"module";s:4:"node";s:11:"description";s:219:"Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:5:"story";}}', 15, 4, 245, 246, 0, '0,55', 4, 0, 0, 'Story', 't', '', 'admin/content/types/story', 4, '', '', '', 'admin/content/types/story', '', '', '', 0, 0);
+INSERT INTO menu VALUES (78, 75, 'admin/build/modules/uninstall', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"system_modules_uninstall";}', 15, 4, 68, 69, 0, '0,63,68,75,78', 4, 0, 1, 'Uninstall', 't', '', 'admin/build/modules', 64, '', '', '', 'admin/build/modules/uninstall', '', '', '', 0, 0);
+INSERT INTO menu VALUES (23, 21, 'admin/settings/filters/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"filter_admin_format_form";}', 15, 4, 98, 99, 0, '0,63,67,21,23', 4, 0, 1, 'Add input format', 't', '', 'admin/settings/filters', 64, '', '', '', 'admin/settings/filters/add', '', '', '', 0, 0);
+INSERT INTO menu VALUES (11, 7, 'admin/content/comment/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:22:"comment_admin_settings";}', 15, 4, 34, 35, 0, '0,63,40,7,11', 4, 0, 1, 'Settings', 't', '', 'admin/content/comment', 64, '', '', '', 'admin/content/comment/settings', '', '', '', 0, 0);
+INSERT INTO menu VALUES (6, 1, 'admin/build/block/list/garland', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:19:"block_admin_display";i:1;s:7:"garland";}', 31, 5, 62, 63, 0, '0,63,68,1,6', 5, 0, 1, '!key settings', 't', 'a:1:{s:4:"!key";s:7:"Garland";}', 'admin/build/block/list', 320, '', '', '', 'admin/build/block/list/garland', '', '', '', 0, 0);
+INSERT INTO menu VALUES (103, 95, 'admin/content/taxonomy/%/list', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'taxonomy_overview_terms', 'a:1:{i:0;i:3;}', 29, 5, 24, 25, 0, '0,63,40,95,103', 5, 0, 1, 'List', 't', '', 'admin/content/taxonomy/%', 320, '', '', '', 'admin/content/taxonomy/%/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (9, 7, 'admin/content/comment/list/new', '', '', '1', 'a:0:{}', 'comment_admin', 'a:0:{}', 31, 5, 36, 37, 0, '0,63,40,7,9', 5, 0, 1, 'Published comments', 't', '', 'admin/content/comment/list', 320, '', '', '', 'admin/content/comment/list/new', '', '', '', 0, 0);
+INSERT INTO menu VALUES (73, 70, 'admin/build/themes/settings/global', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"system_theme_settings";}', 31, 5, 76, 77, 0, '0,63,68,70,73', 5, 0, 1, 'Global settings', 't', '', 'admin/build/themes/settings', 320, '', '', '', 'admin/build/themes/settings/global', '', '', '', 0, 0);
+INSERT INTO menu VALUES (97, 95, 'admin/content/taxonomy/add/vocabulary', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"taxonomy_form_vocabulary";}', 31, 5, 26, 27, 0, '0,63,40,95,97', 4, 0, 1, 'Add vocabulary', 't', '', 'admin/content/taxonomy', 64, '', '', '', 'admin/content/taxonomy/add/vocabulary', '', '', '', 0, 0);
+INSERT INTO menu VALUES (10, 7, 'admin/content/comment/list/approval', '', '', '1', 'a:0:{}', 'comment_admin', 'a:1:{i:0;s:8:"approval";}', 31, 5, 38, 39, 0, '0,63,40,7,10', 5, 0, 1, 'Approval queue', 't', '', 'admin/content/comment/list', 64, '', '', '', 'admin/content/comment/list/approval', '', '', '', 0, 0);
+INSERT INTO menu VALUES (53, 0, 'admin/content/types/page/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"node_type_delete_confirm";i:1;O:8:"stdClass":14:{s:4:"type";s:4:"page";s:4:"name";s:4:"Page";s:6:"module";s:4:"node";s:11:"description";s:83:"If you want to add a static page, like a contact page or an about page, use a page.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:4:"page";}}', 31, 5, 247, 248, 0, '0,53', 5, 0, 0, 'Delete', 't', '', 'admin/content/types/page/delete', 4, '', '', '', 'admin/content/types/page/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (56, 0, 'admin/content/types/story/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"node_type_delete_confirm";i:1;O:8:"stdClass":14:{s:4:"type";s:5:"story";s:4:"name";s:5:"Story";s:6:"module";s:4:"node";s:11:"description";s:219:"Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:5:"story";}}', 31, 5, 249, 250, 0, '0,56', 5, 0, 0, 'Delete', 't', '', 'admin/content/types/story/delete', 4, '', '', '', 'admin/content/types/story/delete', '', '', '', 0, 0);
+INSERT INTO menu VALUES (99, 0, 'admin/content/taxonomy/edit/term', '', '', '1', 'a:0:{}', 'taxonomy_admin_term_edit', 'a:0:{}', 31, 5, 251, 252, 0, '0,99', 5, 0, 0, 'Edit term', 't', '', 'admin/content/taxonomy/edit/term', 4, '', '', '', 'admin/content/taxonomy/edit/term', '', '', '', 0, 0);
+INSERT INTO menu VALUES (74, 70, 'admin/build/themes/settings/garland', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:7:"garland";}', 31, 5, 78, 79, 0, '0,63,68,70,74', 5, 0, 1, 'Garland', 't', '', 'admin/build/themes/settings', 64, '', '', '', 'admin/build/themes/settings/garland', '', '', '', 0, 0);
+INSERT INTO menu VALUES (77, 0, 'admin/build/modules/list/confirm', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 31, 5, 253, 254, 0, '0,77', 5, 0, 0, 'List', 't', '', 'admin/build/modules/list/confirm', 4, '', '', '', 'admin/build/modules/list/confirm', '', '', '', 0, 0);
+INSERT INTO menu VALUES (110, 0, 'user/reset/%/%/%', 'a:3:{i:2;N;i:3;N;i:4;N;}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:4:{i:0;s:15:"user_pass_reset";i:1;i:2;i:2;i:3;i:3;i:4;}', 24, 5, 255, 256, 0, '0,110', 5, 0, 0, 'Reset password', 't', '', 'user/reset/%/%/%', 4, '', '', '', 'user/reset/%/%/%', '', '', '', 0, 0);
+INSERT INTO menu VALUES (79, 0, 'admin/build/modules/uninstall/confirm', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"system_modules_uninstall";}', 31, 5, 257, 258, 0, '0,79', 5, 0, 0, 'Uninstall', 't', '', 'admin/build/modules/uninstall/confirm', 4, '', '', '', 'admin/build/modules/uninstall/confirm', '', '', '', 0, 0);
+INSERT INTO menu VALUES (27, 21, 'admin/settings/filters/%/list', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"filter_admin_format_form";i:1;i:3;}', 29, 5, 100, 101, 0, '0,63,67,21,27', 5, 0, 1, 'View', 't', '', 'admin/settings/filters/%', 320, '', '', '', 'admin/settings/filters/%/list', '', '', '', 0, 0);
+INSERT INTO menu VALUES (28, 21, 'admin/settings/filters/%/configure', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:22:"filter_admin_configure";i:1;i:3;}', 29, 5, 102, 103, 0, '0,63,67,21,28', 5, 0, 1, 'Configure', 't', '', 'admin/settings/filters/%', 64, '', '', '', 'admin/settings/filters/%/configure', '', '', '', 0, 0);
+INSERT INTO menu VALUES (29, 21, 'admin/settings/filters/%/order', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:18:"filter_admin_order";i:1;i:3;}', 29, 5, 104, 105, 0, '0,63,67,21,29', 5, 0, 1, 'Rearrange', 't', '', 'admin/settings/filters/%', 64, '', '', '', 'admin/settings/filters/%/order', '', '', '', 0, 0);
+INSERT INTO menu VALUES (104, 95, 'admin/content/taxonomy/%/add/term', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:18:"taxonomy_form_term";i:1;i:3;}', 59, 6, 28, 29, 0, '0,63,40,95,104', 5, 0, 1, 'Add term', 't', '', 'admin/content/taxonomy/%', 64, '', '', '', 'admin/content/taxonomy/%/add/term', '', '', '', 0, 0);
+INSERT INTO menu VALUES (98, 0, 'admin/content/taxonomy/edit/vocabulary/%', 'a:1:{i:5;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'taxonomy_admin_vocabulary_edit', 'a:1:{i:0;i:5;}', 62, 6, 259, 260, 0, '0,98', 6, 0, 0, 'Edit vocabulary', 't', '', 'admin/content/taxonomy/edit/vocabulary/%', 4, '', '', '', 'admin/content/taxonomy/edit/vocabulary/%', '', '', '', 0, 0);
+
+----------------------------------
+-- node_type patch
+----------------------------------
+
+INSERT INTO node_type VALUES ('page', 'Page', 'node', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'page');
+
+INSERT INTO node_type VALUES ('story', 'Story', 'node', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'story');
+
+COMMIT;
+
+SHOW ERRORS
+
diff -urN drupal-6.x-dev/database/database.oracle.6.x.dev.sql drupal-6.x-dev-souvent22/drupal-6.x-dev/database/database.oracle.6.x.dev.sql
--- drupal-6.x-dev/database/database.oracle.6.x.dev.sql	1970-01-01 08:00:00.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/database/database.oracle.6.x.dev.sql	2007-05-14 16:40:23.000000000 +0800
@@ -0,0 +1,1686 @@
+-- $Id$
+-- /**
+-- /* This .sql file replace the usage of install.php
+-- /* just like the installation of Drupal 4.7.x
+-- /* A little bit troublesome for version update
+-- /* Can't use update.php to do, do it directly in db
+-- /* eg. {system}.SCHEMA_VERSION has to be changed to new number
+--  **/
+
+ACCEPT prefix PROMPT "Enter the database table prefix (maximum length 2 characters) "
+
+--SET FEEDBACK ON
+SET TERMOUT ON
+--SET VERIFY ON
+--SET ECHO ON
+
+--
+-- /************************************/ 
+-- /*      Function for Oracle         */
+-- /************************************/
+--
+
+-- greatest() is built-in
+-- concat() is built-in
+
+-- if () not know how to write
+
+-- FROM_UNIXTIME()
+-- view/date
+CREATE OR REPLACE FUNCTION from_unixtime(sttTime number)
+return date is
+begin
+  return to_date(19700101, 'yyyymmdd') + sttTime/24/60/60;
+end;
+/
+
+-- TO_UNIXTIME()
+-- view/date
+CREATE OR REPLACE FUNCTION to_unixtime(oracleDate date)
+return number is
+begin
+  return (oracleDate - to_date(19700101, 'yyyymmdd'))*24*60*60;
+end;
+/
+
+-- POW()
+-- node.module
+CREATE OR REPLACE FUNCTION POW(base_num IN number, pow_num IN number)
+RETURN number IS
+BEGIN
+  RETURN POWER(base_num, pow_num);
+end;
+/
+
+--
+-- /************************************/ 
+-- /*       Tables for Oracle          */
+-- /************************************/
+--
+
+-- From system.install
+--
+-- Table structure for access
+--
+
+CREATE TABLE &&prefix.access (
+  aid    NUMBER                  NOT NULL,
+  mask   VARCHAR2(255),
+  type   VARCHAR2(255),
+  status NUMBER(5)     default 0 NOT NULL,
+  PRIMARY KEY (aid)
+);
+
+CREATE SEQUENCE &&prefix.access_aid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.access_be_in
+BEFORE INSERT ON &&prefix.access
+FOR EACH ROW
+BEGIN
+  IF :NEW.aid IS NULL THEN
+    SELECT &&prefix.access_aid_seq.NEXTVAL
+    INTO :NEW.aid
+    FROM dual;
+  END IF;
+END be_in_access;
+/
+
+--
+-- Table structure for authmap
+--
+
+CREATE TABLE &&prefix.authmap (
+  aid      NUMBER                  NOT NULL,
+  "uid"    NUMBER        default 0 NOT NULL,
+  authname VARCHAR2(128),
+  module   VARCHAR2(128),
+  PRIMARY KEY (aid),
+  UNIQUE (authname)
+);
+
+CREATE SEQUENCE &&prefix.authmap_aid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.authmap_be_in
+BEFORE INSERT ON &&prefix.authmap
+FOR EACH ROW
+BEGIN
+  IF :NEW.aid IS NULL THEN
+    SELECT &&prefix.authmap_aid_seq.NEXTVAL
+    INTO :NEW.aid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for blocks
+--
+
+CREATE TABLE &&prefix.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,
+  title      VARCHAR2(64)
+);
+
+--
+-- Table structure for boxes
+--
+
+CREATE TABLE &&prefix.boxes (
+  bid    NUMBER                  NOT NULL,
+  body   CLOB DEFAULT EMPTY_CLOB(),
+  info   VARCHAR2(128),
+  format NUMBER(5)     default 0 NOT NULL,
+  PRIMARY KEY (bid),
+  UNIQUE (info)
+);
+
+CREATE SEQUENCE &&prefix.boxes_bid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.boxes_be_in
+BEFORE INSERT ON &&prefix.boxes
+FOR EACH ROW
+BEGIN
+  IF :NEW.bid IS NULL THEN
+    SELECT &&prefix.boxes_bid_seq.NEXTVAL
+    INTO :NEW.bid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for cache
+--
+
+CREATE TABLE &&prefix.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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX &&prefix.cache_idx ON &&prefix.cache(expire);
+
+--
+-- Table structure for cache_filter - Drupal-5.0
+--
+
+CREATE TABLE &&prefix.cache_filter (
+  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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX &&prefix.cache_filter_idx ON &&prefix.cache_filter(expire);
+
+--
+-- Table structure for cache_page - Drupal-5.0
+--
+
+CREATE TABLE &&prefix.cache_page (
+  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(),
+  serialized  NUMBER(5)     DEFAULT 0             NOT NULL,
+  PRIMARY KEY (cid)
+);
+
+CREATE INDEX &&prefix.cache_page_idx ON &&prefix.cache_page(expire);
+
+--
+-- Table structure for comments
+--
+
+CREATE TABLE &&prefix.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 &&prefix.comments_nid_idx_1 ON &&prefix.comments(nid);
+CREATE INDEX &&prefix.comments_nid_idx_2 ON &&prefix.comments(status);
+
+CREATE SEQUENCE &&prefix.comments_cid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.comments_be_in
+BEFORE INSERT ON &&prefix.comments
+FOR EACH ROW
+BEGIN
+  IF :NEW.cid IS NULL THEN
+    SELECT &&prefix.comments_cid_seq.NEXTVAL
+    INTO :NEW.cid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structre for table 'node_comment_statistics'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.node_comment_stat_idx ON &&prefix.node_comment_statistics(last_comment_timestamp);
+
+CREATE SEQUENCE &&prefix.node_comment_stat_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.node_comment_stat_be_in
+BEFORE INSERT ON &&prefix.node_comment_statistics
+FOR EACH ROW
+BEGIN
+  IF :NEW.nid IS NULL THEN
+    SELECT &&prefix.node_comment_stat_seq.NEXTVAL
+    INTO :NEW.nid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'files'
+--
+
+CREATE TABLE &&prefix.files (
+  fid       NUMBER          default 0 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 INDEX &&prefix.files_idx ON &&prefix.files(nid);
+
+CREATE SEQUENCE &&prefix.files_fid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.files_be_in
+BEFORE INSERT ON &&prefix.files
+FOR EACH ROW
+BEGIN
+  IF :NEW.fid IS NULL THEN
+    SELECT &&prefix.files_fid_seq.NEXTVAL
+    INTO :NEW.fid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'file_revisions'
+--
+
+CREATE TABLE &&prefix.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)
+);
+
+CREATE INDEX &&prefix.file_revisions ON &&prefix.file_revisions(vid);
+
+--
+-- Table structure for table 'filter_formats'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.filter_formats_format_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.filter_formats_be_in
+BEFORE INSERT ON &&prefix.filter_formats
+FOR EACH ROW
+BEGIN
+  IF :NEW.format IS NULL THEN
+    SELECT &&prefix.filter_formats_format_seq.NEXTVAL
+    INTO :NEW.format
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'filters'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.filters_idx ON &&prefix.filters(weight);
+
+--
+-- Table structure for table 'flood'
+--
+
+CREATE TABLE &&prefix.flood (
+  event     VARCHAR2(64),
+  hostname  VARCHAR2(128),
+  timestamp NUMBER        default 0 NOT NULL
+);
+
+--
+-- Table structure for history
+--
+
+CREATE TABLE &&prefix.history (
+  "uid"     NUMBER default 0 NOT NULL,
+  nid       NUMBER default 0 NOT NULL,
+  timestamp NUMBER default 0 NOT NULL,
+  PRIMARY KEY ("uid",nid)
+);
+
+--
+-- Table structure for table 'menu'
+--
+
+CREATE TABLE &&prefix.menu (
+  mid               NUMBER                  NOT NULL,
+  pid               NUMBER        default 0 NOT NULL,
+  path              VARCHAR2(255),
+  load_functions    VARCHAR2(255),
+  to_arg_functions  VARCHAR2(255),
+  access_callback   VARCHAR2(255),
+  access_arguments  CLOB,
+  page_callback     VARCHAR2(255),
+  page_arguments    CLOB,
+  fit               INTEGER       DEFAULT 0 NOT NULL,
+  number_parts      INTEGER       DEFAULT 0 NOT NULL,
+  mleft             INTEGER       DEFAULT 0 NOT NULL,
+  mright            INTEGER       DEFAULT 0 NOT NULL,
+  visible           INTEGER       DEFAULT 0 NOT NULL,
+  parents           VARCHAR2(255),
+  depth             INTEGER       DEFAULT 0 NOT NULL,
+  has_children      INTEGER       DEFAULT 0 NOT NULL,
+  tab               INTEGER       DEFAULT 0 NOT NULL,
+  title             VARCHAR2(255),
+  title_callback    VARCHAR2(255),
+  title_arguments   VARCHAR2(255),
+  parent            VARCHAR2(255),
+  type              INTEGER       DEFAULT 0 NOT NULL,
+  block_callback    VARCHAR2(255),
+  description       VARCHAR2(255),
+  position          VARCHAR2(255),
+  link_path         VARCHAR2(255),
+  attributes        VARCHAR2(255),
+  query             VARCHAR2(255),
+  fragment          VARCHAR2(255),
+  absolute          INTEGER       DEFAULT 0 NOT NULL,
+  html              INTEGER       DEFAULT 0 NOT NULL,
+  PRIMARY KEY (path)
+);
+CREATE INDEX &&prefix.menu_idx_01 ON &&prefix.menu(fit);
+CREATE INDEX &&prefix.menu_idx_02 ON &&prefix.menu(visible);
+CREATE INDEX &&prefix.menu_idx_03 ON &&prefix.menu(pid);
+CREATE INDEX &&prefix.menu_idx_04 ON &&prefix.menu(parent);
+
+CREATE SEQUENCE &&prefix.menu_mid_seq START WITH 2 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.menu_be_in
+BEFORE INSERT ON &&prefix.menu
+FOR EACH ROW
+BEGIN
+  IF :NEW.mid IS NULL THEN
+    SELECT &&prefix.menu_mid_seq.NEXTVAL
+    INTO :NEW.mid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for node
+--
+
+CREATE TABLE &&prefix.node (
+  nid       NUMBER                  NOT NULL,
+  vid       NUMBER        default 0 NOT NULL,
+  type      VARCHAR2(32),
+  language  VARCHAR2(12),
+  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,vid),
+  UNIQUE (vid)
+);
+
+CREATE INDEX &&prefix.node_type_idx ON &&prefix.node(type);
+CREATE INDEX &&prefix.node_title_type_idx ON &&prefix.node(title,type);
+CREATE INDEX &&prefix.node_status_idx ON &&prefix.node(status);
+CREATE INDEX &&prefix.node_uid_idx ON &&prefix.node("uid");
+CREATE INDEX &&prefix.node_moderate_idx ON &&prefix.node (moderate);
+CREATE INDEX &&prefix.node_promote_status_idx ON &&prefix.node (promote, status);
+CREATE INDEX &&prefix.node_created_idx ON &&prefix.node(created);
+CREATE INDEX &&prefix.node_changed_idx ON &&prefix.node(changed);
+CREATE INDEX &&prefix.node_status_type_nid_idx ON &&prefix.node(status,type,nid);
+CREATE INDEX &&prefix.node_vid_idx ON &&prefix.node(nid);
+
+CREATE SEQUENCE &&prefix.node_nid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.node_be_in
+BEFORE INSERT ON &&prefix.node
+FOR EACH ROW
+BEGIN
+  IF :NEW.nid IS NULL THEN
+    SELECT &&prefix.node_nid_seq.NEXTVAL
+    INTO :NEW.nid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'node_access'
+--
+
+CREATE TABLE &&prefix.node_access (
+  nid           NUMBER        DEFAULT 0 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)
+);
+
+--
+-- Table structure for table 'node_revisions'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.node_revisions_nid_idx ON &&prefix.node_revisions(nid);
+CREATE INDEX &&prefix.node_revisions_uid_idx ON &&prefix.node_revisions("uid");
+
+CREATE SEQUENCE &&prefix.node_revisions_vid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.node_revisions_be_in
+BEFORE INSERT ON &&prefix.node_revisions
+FOR EACH ROW
+BEGIN
+  IF :NEW.vid IS NULL THEN
+    SELECT &&prefix.node_revisions_vid_seq.NEXTVAL
+    INTO :NEW.vid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for node_type - Drupal-5.0
+--
+
+CREATE TABLE &&prefix.node_type (
+  type            VARCHAR2(32)      NOT NULL,
+  name            VARCHAR2(255),
+  module          VARCHAR2(255),
+  description     CLOB DEFAULT EMPTY_CLOB(),
+  help            CLOB DEFAULT EMPTY_CLOB(),
+  has_title       INTEGER           NOT NULL,
+  title_label     VARCHAR2(255),
+  has_body        INTEGER           NOT NULL,
+  body_label      VARCHAR2(255),
+  min_word_count  INTEGER           NOT NULL,
+  custom          INTEGER DEFAULT 0 NOT NULL,
+  modified        INTEGER DEFAULT 0 NOT NULL,
+  locked          INTEGER DEFAULT 0 NOT NULL,
+  orig_type       VARCHAR2(255),
+  PRIMARY KEY (type)
+);
+
+--
+-- Table structure for table 'url_alias'
+--
+
+CREATE TABLE &&prefix.url_alias (
+  pid       NUMBER        NOT NULL,
+  src       VARCHAR2(128),
+  dst       VARCHAR2(128),
+  language  VARCHAR2(12),
+  PRIMARY KEY (pid),
+  UNIQUE (dst,language)
+);
+
+CREATE INDEX &&prefix.url_alias_src_idx ON &&prefix.url_alias(src);
+
+CREATE SEQUENCE &&prefix.url_alias_pid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.url_alias_be_in
+BEFORE INSERT ON &&prefix.url_alias
+FOR EACH ROW
+BEGIN
+  IF :NEW.pid IS NULL THEN
+    SELECT &&prefix.url_alias_pid_seq.NEXTVAL
+    INTO :NEW.pid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for permission
+--
+
+CREATE TABLE &&prefix.permission (
+  rid   NUMBER  default 0 NOT NULL,
+  perm  CLOB,
+  tid   NUMBER  default 0 NOT NULL
+);
+CREATE INDEX &&prefix.permission_rid_idx ON &&prefix.permission(rid);
+
+--
+-- Table structure for role
+--
+
+CREATE TABLE &&prefix.role (
+  rid NUMBER NOT NULL,
+  name VARCHAR2(64),
+  PRIMARY KEY (rid),
+  UNIQUE (name)
+);
+
+CREATE SEQUENCE &&prefix.role_rid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.role_be_in
+BEFORE INSERT ON &&prefix.role
+FOR EACH ROW
+BEGIN
+  IF :NEW.rid IS NULL THEN
+    SELECT &&prefix.role_rid_seq.NEXTVAL
+    INTO :NEW.rid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for blocks_roles
+--
+
+CREATE TABLE &&prefix.blocks_roles (
+  module  VARCHAR2(64)    NOT NULL,
+  delta   VARCHAR2(32)    NOT NULL,
+  rid     INTEGER         NOT NULL,
+  PRIMARY KEY (module, delta, rid)
+);
+
+
+--
+-- Table structure for sessions
+--
+
+CREATE TABLE &&prefix.sessions (
+  "uid"     NUMBER not null,
+  sid       VARCHAR2(64),
+  hostname  VARCHAR2(128),
+  timestamp NUMBER default 0 NOT NULL,
+  cache     NUMBER default 0 NOT NULL,
+  "session" CLOB,
+  PRIMARY KEY (sid)
+);
+CREATE INDEX &&prefix.sessions_uid_idx ON &&prefix.sessions("uid");
+CREATE INDEX &&prefix.sessions_timestamp_idx ON &&prefix.sessions(timestamp);
+
+--
+-- TABLE structure for sequences
+-- ONLY for MySQL
+--
+
+--CREATE TABLE &&prefix.sequences (
+--  name  VARCHAR2(255) NOT NULL,
+--  id    INTEGER       DEFAULT 0 NOT NULL,
+--  PRIMARY KEY (name)
+--);
+
+--
+-- Table structure for table 'node_counter'
+--
+
+CREATE TABLE &&prefix.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)
+);
+
+--
+-- Table structure for system
+--
+
+CREATE TABLE &&prefix.system (
+  filename        VARCHAR2(255),
+  name            VARCHAR2(255),
+  type            VARCHAR2(255),
+  owner           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,
+  info            CLOB,
+  PRIMARY KEY (filename)
+);
+CREATE INDEX &&prefix.system_idx ON &&prefix.system(weight);
+
+--
+-- Table structure for term_data
+--
+
+CREATE TABLE &&prefix.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 &&prefix.term_data_idx ON &&prefix.term_data(vid);
+
+CREATE SEQUENCE &&prefix.term_data_tid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.term_data_be_in
+BEFORE INSERT ON &&prefix.term_data
+FOR EACH ROW
+BEGIN
+  IF :NEW.tid IS NULL THEN
+    SELECT &&prefix.term_data_tid_seq.NEXTVAL
+    INTO :NEW.tid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for term_hierarchy
+--
+
+CREATE TABLE &&prefix.term_hierarchy (
+  tid     NUMBER default 0 NOT NULL,
+  parent  NUMBER default 0 NOT NULL,
+  PRIMARY KEY (tid, parent)
+);
+CREATE INDEX &&prefix.term_hierarchy_tid_idx ON &&prefix.term_hierarchy(tid);
+CREATE INDEX &&prefix.term_hierarchy_parent_idx ON &&prefix.term_hierarchy(parent);
+
+--
+-- Table structure for term_node
+--
+
+CREATE TABLE &&prefix.term_node (
+  nid NUMBER default 0 NOT NULL,
+  vid NUMBER DEFAULT 0 NOT NULL,
+  tid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (tid,nid,vid)
+);
+CREATE INDEX &&prefix.term_node_nid_idx ON &&prefix.term_node(nid);
+CREATE INDEX &&prefix.term_node_tid_idx ON &&prefix.term_node(tid);
+CREATE INDEX &&prefix.term_node_vid_idx ON &&prefix.term_node(vid);
+
+--
+-- Table structure for term_relation
+--
+
+CREATE TABLE &&prefix.term_relation (
+  tid1 NUMBER default 0 NOT NULL,
+  tid2 NUMBER default 0 NOT NULL
+);
+CREATE INDEX &&prefix.term_relation_tid1_idx ON &&prefix.term_relation(tid1);
+CREATE INDEX &&prefix.term_relation_tid2_idx ON &&prefix.term_relation(tid2);
+
+--
+-- Table structure for term_synonym
+--
+
+CREATE TABLE &&prefix.term_synonym (
+  tid   NUMBER default 0 NOT NULL,
+  name  VARCHAR2(255)
+);
+CREATE INDEX &&prefix.term_synonym_tid_idx ON &&prefix.term_synonym(tid);
+CREATE INDEX &&prefix.term_synonym_name_idx ON &&prefix.term_synonym(name);
+
+--
+-- Table structure for users
+--
+
+CREATE TABLE &&prefix.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 &&prefix.users_access_idx ON &&prefix.users("access");
+CREATE INDEX &&prefix.users_created_idx ON &&prefix.users(created);
+
+CREATE SEQUENCE &&prefix.users_uid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.users_be_in
+BEFORE INSERT ON &&prefix.users
+FOR EACH ROW
+BEGIN
+  IF :NEW."uid" IS NULL THEN
+    SELECT &&prefix.users_uid_seq.NEXTVAL
+    INTO :NEW."uid"
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for users_roles
+--
+
+CREATE TABLE &&prefix.users_roles (
+  "uid" NUMBER default 0 NOT NULL,
+  rid   NUMBER default 0 NOT NULL,
+  PRIMARY KEY ("uid", rid)
+);
+
+--
+-- Table structure for variable
+--
+
+CREATE TABLE &&prefix.variable (
+  name      VARCHAR2(128),
+  value     CLOB,
+  language  VARCHAR2(12),
+  PRIMARY KEY (name)
+);
+
+--
+-- Table structure for vocabulary
+--
+
+CREATE TABLE &&prefix.vocabulary (
+  vid         NUMBER              NOT NULL,
+  name        VARCHAR2(255),
+  description CLOB,
+  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 &&prefix.vocabulary_vid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.vocabulary_be_in
+BEFORE INSERT ON &&prefix.vocabulary
+FOR EACH ROW
+BEGIN
+  IF :NEW.vid IS NULL THEN
+    SELECT &&prefix.vocabulary_vid_seq.NEXTVAL
+    INTO :NEW.vid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for vocabulary_node_types
+--
+
+CREATE TABLE &&prefix.vocabulary_node_types (
+  vid   NUMBER        default 0 NOT NULL,
+  type  VARCHAR2(32),
+  PRIMARY KEY (vid, type)
+);
+
+-----------------------------------------------------------------------------
+--
+-- /**************************/
+-- /*      Pre-INSERT        */
+-- /**************************/
+--
+
+INSERT INTO &&prefix.system (filename, name, type, owner, status, throttle, bootstrap, schema_version) VALUES ('themes/engines/phptemplate/phptemplate.engine', 'phptemplate', 'theme_engine', '', 1, 0, 0, 0);
+-- second query use some current setting, moved to patch part below
+--INSERT INTO &&prefix.system (filename, name, type, owner, status, throttle, bootstrap, schema_version, info) VALUES ('themes/garland/page.tpl.php', 'garland', 'theme', 'themes/engines/phptemplate/phptemplate.engine', 1, 0, 0, 0, 'a:6:{s:4:"name";s:7:"Garland";s:11:"description";s:66:"Tableless, recolorable, multi-column, fluid width theme (default).";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:7:"regions";a:5:{s:4:"left";s:12:"Left sidebar";s:5:"right";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";}s:8:"features";a:8:{i:0;s:20:"comment_user_picture";i:1;s:7:"favicon";i:2;s:7:"mission";i:3;s:4:"logo";i:4;s:4:"name";i:5;s:17:"node_user_picture";i:6;s:6:"search";i:7;s:6:"slogan";}}');
+
+INSERT INTO &&prefix.users ("uid",name,mail) VALUES(0,'','');
+INSERT INTO &&prefix.role (name) VALUES ('anonymous user');
+INSERT INTO &&prefix.role (name) VALUES ('authenticated user');
+
+INSERT INTO &&prefix.permission VALUES (1,'access content',0);
+INSERT INTO &&prefix.permission VALUES (2,'access comments, access content, post comments, post comments without approval',0);
+
+INSERT INTO &&prefix.variable (name,value) VALUES('theme_default', 's:7:"garland";');
+
+INSERT INTO &&prefix.blocks (module,delta,theme,status,pages) VALUES('user', 0, 'garland', 1, EMPTY_CLOB());
+INSERT INTO &&prefix.blocks (module,delta,theme,status,pages) VALUES('user', 1, 'garland', 1, EMPTY_CLOB());
+
+INSERT INTO &&prefix.node_access VALUES (0, 0, 'all', 1, 0, 0);
+
+--INSERT INTO &&prefix.node_type (type, name, module, description, help, has_title, title_label, has_body, body_label, min_word_count, custom, modified, locked, orig_type) VALUES ('page', 'Page', 'node', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'page');
+--INSERT INTO &&prefix.node_type (type, name, module, description, help, has_title, title_label, has_body, body_label, min_word_count, custom, modified, locked, orig_type) VALUES ('story', 'Story', 'node', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'story');
+INSERT INTO &&prefix.filter_formats (name, roles, cache) VALUES ('Filtered HTML',',1,2,',1);
+INSERT INTO &&prefix.filter_formats (name, roles, cache) VALUES ('Full HTML','',1);
+--INSERT INTO &&prefix.filter_formats (name, roles, cache) VALUES ('PHP code','',0);
+
+-- Filtered HTML
+INSERT INTO &&prefix.filters (format, module, delta, weight) VALUES (1,'filter',2,0);
+INSERT INTO &&prefix.filters (format, module, delta, weight) VALUES (1,'filter',0,1);
+INSERT INTO &&prefix.filters (format, module, delta, weight) VALUES (1,'filter',1,2);
+-- Full HTML
+INSERT INTO &&prefix.filters (format, module, delta, weight) VALUES (2,'filter',2,0);
+INSERT INTO &&prefix.filters (format, module, delta, weight) VALUES (2,'filter',1,1);
+
+INSERT INTO &&prefix.variable (name,value) VALUES ('filter_html_1','i:1;');
+
+INSERT INTO &&prefix.variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
+
+--INSERT INTO &&prefix.menu (mid, pid, path, title, description, weight, type) VALUES (2, 0, '', 'Primary links', '', 0, 115);
+--INSERT INTO &&prefix.variable VALUES ('menu_primary_menu', 'i:2;');
+--INSERT INTO &&prefix.variable VALUES ('menu_secondary_menu', 'i:2;');
+
+-- CORE END
+
+-----------------------------------------------------------------------------
+-- /****************************/
+-- /*    Module: aggregator    */
+-- /****************************/
+
+--
+-- Table structure for table 'aggregator_category'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.aggregator_category_cid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.aggregator_category_be_in
+BEFORE INSERT ON &&prefix.aggregator_category
+FOR EACH ROW
+BEGIN
+  IF :NEW.cid IS NULL THEN
+    SELECT &&prefix.aggregator_category_cid_seq.NEXTVAL
+    INTO :NEW.cid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'aggregator_category_feed'
+--
+
+CREATE TABLE &&prefix.aggregator_category_feed (
+  fid NUMBER default 0 NOT NULL,
+  cid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (fid,cid)
+);
+
+--
+-- Table structure for table 'aggregator_category_item'
+--
+
+CREATE TABLE &&prefix.aggregator_category_item (
+  iid NUMBER default 0 NOT NULL,
+  cid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (iid,cid)
+);
+
+--
+-- Table structure for table 'aggregator_feed'
+--
+
+CREATE TABLE &&prefix.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 VARCHAR2(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 &&prefix.aggregator_feed_fid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.aggregator_feed_be_in
+BEFORE INSERT ON &&prefix.aggregator_feed
+FOR EACH ROW
+BEGIN
+  IF :NEW.fid IS NULL THEN
+    SELECT &&prefix.aggregator_feed_fid_seq.NEXTVAL
+    INTO :NEW.fid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'aggregator_item'
+--
+
+CREATE TABLE &&prefix.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,
+  guid        VARCHAR2(255),
+  PRIMARY KEY (iid)
+);
+
+CREATE INDEX &&prefix.aggregator_item_idx ON &&prefix.aggregator_item (fid);
+
+CREATE SEQUENCE &&prefix.aggregator_item_iid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.aggregator_item_be_in
+BEFORE INSERT ON &&prefix.aggregator_item
+FOR EACH ROW
+BEGIN
+  IF :NEW.iid IS NULL THEN
+    SELECT &&prefix.aggregator_item_iid_seq.NEXTVAL
+    INTO :NEW.iid
+    FROM dual;
+  END IF;
+END;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: book       */
+-- /****************************/
+
+--
+-- Table structure for book
+--
+
+CREATE TABLE &&prefix.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 &&prefix.book_nid_idx ON &&prefix.book(nid);
+CREATE INDEX &&prefix.book_parent_idx ON &&prefix.book(parent);
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*      Module: contact     */
+-- /****************************/
+
+--
+-- Table structre for table 'contact'
+--
+
+CREATE TABLE &&prefix.contact (
+  cid         NUMBER                              NOT NULL,
+  category    VARCHAR2(255),
+  recipients  CLOB,
+  reply       CLOB,
+  weight      NUMBER(5)     default 0             NOT NULL,
+  selected    NUMBER(5)     default 0             NOT NULL,
+  PRIMARY KEY (cid),
+  UNIQUE (category)
+);
+
+CREATE SEQUENCE &&prefix.contact_cid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.contact_be_in
+BEFORE INSERT ON &&prefix.contact
+FOR EACH ROW
+BEGIN
+  IF :NEW.cid IS NULL THEN
+    SELECT &&prefix.contact_cid_seq.NEXTVAL
+    INTO :NEW.cid
+    FROM dual;
+  END IF;
+END;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: dblog      */
+-- /****************************/
+
+--
+-- Table structure for watchdog
+--
+
+CREATE TABLE &&prefix.watchdog (
+  wid       NUMBER              NOT NULL,
+  "uid"     NUMBER    default 0 NOT NULL,
+  type      VARCHAR2(16),
+  message   VARCHAR2(4000),
+  variables CLOB,
+  severity  NUMBER(5) default 0 NOT NULL,
+  link      VARCHAR2(255),
+  location  CLOB,
+  referer   VARCHAR2(128),
+  hostname  VARCHAR2(128),
+  timestamp NUMBER    default 0 NOT NULL,
+  PRIMARY KEY (wid)
+);
+
+CREATE INDEX &&prefix.watchdog_idx ON &&prefix.watchdog(type);
+
+CREATE SEQUENCE &&prefix.watchdog_wid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.watchdog_be_in
+BEFORE INSERT ON &&prefix.watchdog
+FOR EACH ROW
+BEGIN
+  IF :NEW.wid IS NULL THEN
+    SELECT &&prefix.watchdog_wid_seq.NEXTVAL
+    INTO :NEW.wid
+    FROM dual;
+  END IF;
+END;
+/
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: drupal     */
+-- /****************************/
+
+--
+-- Table structure for 'client'
+--
+
+CREATE TABLE &&prefix.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 &&prefix.client_cid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.client_be_in
+BEFORE INSERT ON &&prefix.client
+FOR EACH ROW
+BEGIN
+  IF :NEW.cid IS NULL THEN
+    SELECT &&prefix.client_cid_seq.NEXTVAL
+    INTO :NEW.cid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'client_system'
+--
+
+CREATE TABLE &&prefix.client_system (
+  cid   INTEGER        DEFAULT 0 NOT NULL,
+  name  VARCHAR2(255),
+  type  VARCHAR2(255),
+  PRIMARY KEY (cid,name)
+);
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: forum      */
+-- /*   Merged into .install   */
+-- /****************************/
+
+--
+-- Table structure for table 'forum'
+--
+
+CREATE TABLE &&prefix.forum (
+  nid NUMBER default 0 NOT NULL,
+  vid NUMBER default 0 NOT NULL,
+  tid NUMBER default 0 NOT NULL,
+  PRIMARY KEY (vid)
+);
+CREATE INDEX &&prefix.forum_nid_idx ON &&prefix.forum(nid);
+CREATE INDEX &&prefix.forum_tid_idx ON &&prefix.forum(tid);
+
+
+--------------------------------------------------------------------------
+-- /****************************/
+-- /*      Module: locale      */
+-- /****************************/
+
+--
+-- Table structure for languages
+--
+
+CREATE TABLE &&prefix.languages (
+  language  VARCHAR2(12),
+  name      VARCHAR2(64),
+  native    VARCHAR2(64),
+  direction INTEGER       DEFAULT 0 NOT NULL,
+  enabled   INTEGER       DEFAULT 0 NOT NULL,
+  plurals   INTEGER       DEFAULT 0 NOT NULL,
+  formula   VARCHAR2(128),
+  domain    VARCHAR2(128),
+  prefix    VARCHAR2(128),
+  weight    INTEGER       DEFAULT 0 NOT NULL,
+  PRIMARY KEY (language)
+);
+
+--
+-- Table structure for locales_source
+--
+
+CREATE TABLE &&prefix.locales_source (
+  lid       NUMBER        NOT NULL,
+  location  VARCHAR2(255),
+  source    CLOB          NOT NULL,
+  PRIMARY KEY (lid)
+);
+
+CREATE SEQUENCE &&prefix.locales_source_lid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.locales_source_be_in
+BEFORE INSERT ON &&prefix.locales_source
+FOR EACH ROW
+BEGIN
+  IF :NEW.lid IS NULL THEN
+    SELECT &&prefix.locales_source_lid_seq.NEXTVAL
+    INTO :NEW.lid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for locales_target
+--
+
+CREATE TABLE &&prefix.locales_target (
+  lid         NUMBER(10)    default 0 NOT NULL,
+  translation CLOB,
+  language    VARCHAR2(12),
+  plid        NUMBER(10)    default 0 NOT NULL,
+  plural      NUMBER(10)    default 0 NOT NULL,
+  UNIQUE (lid)
+);
+CREATE INDEX &&prefix.locales_target_idx_1 ON &&prefix.locales_target(language);
+CREATE INDEX &&prefix.locales_target_idx_2 ON &&prefix.locales_target(plid);
+CREATE INDEX &&prefix.locales_target_idx_3 ON &&prefix.locales_target(plural);
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: menu       */
+-- /****************************/
+
+--
+-- Table structure for menu_custom
+--
+
+CREATE TABLE &&prefix.menu_custom (
+  path        VARCHAR2(255),
+  disabled    INTEGER         DEFAULT 0 NOT NULL,
+  title       VARCHAR2(255),
+  description VARCHAR2(255),
+  weight      INTEGER         DEFAULT 0 NOT NULL,
+  type        INTEGER         DEFAULT 0 NOT NULL,
+  admin       INTEGER         DEFAULT 0 NOT NULL,
+  parent      VARCHAR2(255),
+  PRIMARY KEY (path)
+);
+
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*       Module: poll       */
+-- /****************************/
+
+--
+-- Table structure for poll
+--
+
+CREATE TABLE &&prefix.poll (
+  nid     NUMBER default 0 NOT NULL,
+  runtime NUMBER default 0 NOT NULL,
+  active  NUMBER default 0 NOT NULL,
+  PRIMARY KEY (nid)
+);
+
+--
+-- Table structure for poll_votes
+--
+
+CREATE TABLE &&prefix.poll_votes (
+  nid       INTEGER             NOT NULL,
+  "uid"     INTEGER default 0   NOT NULL,
+  chorder   INTEGER DEFAULT -1  NOT NULL,
+  hostname  VARCHAR2(128)
+);
+CREATE INDEX &&prefix.poll_votes_idx_1 ON &&prefix.poll_votes (nid);
+CREATE INDEX &&prefix.poll_votes_idx_2 ON &&prefix.poll_votes ("uid");
+CREATE INDEX &&prefix.poll_votes_idx_3 ON &&prefix.poll_votes (hostname);
+
+--
+-- Table structure for poll_choices
+--
+
+CREATE TABLE &&prefix.poll_choices (
+  chid    NUMBER            NOT NULL,
+  nid     NUMBER  default 0 NOT NULL,
+  chtext  VARCHAR2(128),
+  chvotes NUMBER  default 0 NOT NULL,
+  chorder NUMBER  default 0 NOT NULL,
+  PRIMARY KEY (chid)
+);
+CREATE INDEX &&prefix.poll_choices_nid_idx ON &&prefix.poll_choices(nid);
+
+CREATE SEQUENCE &&prefix.poll_choices_chid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.poll_choices_be_in
+BEFORE INSERT ON &&prefix.poll_choices
+FOR EACH ROW
+BEGIN
+  IF :NEW.chid IS NULL THEN
+    SELECT &&prefix.poll_choices_chid_seq.NEXTVAL
+    INTO :NEW.chid
+    FROM dual;
+  END IF;
+END;
+/
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*     Module: profile      */
+-- /****************************/
+
+--
+-- Table structure for table 'profile_fields'
+--
+
+CREATE TABLE &&prefix.profile_fields (
+  fid           NUMBER                    NOT NULL,
+  title         VARCHAR2(255) default NULL,
+  name          VARCHAR2(128) default NULL,
+  explanation   CLOB          default EMPTY_CLOB(),
+  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,
+  autocomplete  NUMBER(5)     DEFAULT 0   NOT NULL,
+  options     CLOB,
+  UNIQUE (name),
+  PRIMARY KEY (fid)
+);
+
+CREATE INDEX &&prefix.profile_fields_idx_1 ON &&prefix.profile_fields(category);
+
+CREATE SEQUENCE &&prefix.profile_fields_fid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.profile_fields_be_in
+BEFORE INSERT ON &&prefix.profile_fields
+FOR EACH ROW
+BEGIN
+  IF :NEW.fid IS NULL THEN
+    SELECT &&prefix.profile_fields_fid_seq.NEXTVAL
+    INTO :NEW.fid
+    FROM dual;
+  END IF;
+END;
+/
+
+--
+-- Table structure for table 'profile_values'
+--
+
+CREATE TABLE &&prefix.profile_values (
+  fid   NUMBER default '0',
+  "uid" NUMBER default '0',
+  value CLOB
+);
+CREATE INDEX &&prefix.profile_values_idx_1 ON &&prefix.profile_values ("uid");
+CREATE INDEX &&prefix.profile_values_idx_2 ON &&prefix.profile_values (fid);
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*     Module: search       */
+-- /*   Merged into .install   */
+-- /****************************/
+
+--
+-- Table structure for table 'search_dataset'
+--
+CREATE TABLE &&prefix.search_dataset (
+  sid   NUMBER        default 0 NOT NULL,
+  type  VARCHAR2(16)  default NULL,
+  data CLOB
+);
+CREATE INDEX &&prefix.search_dataset_idx_1 ON &&prefix.search_dataset(sid, type);
+
+--
+-- Table structure for search_index
+--
+
+CREATE TABLE &&prefix.search_index (
+  word      VARCHAR2(50),
+  sid       NUMBER        default 0 NOT NULL,
+  type      VARCHAR2(16),
+  fromsid   NUMBER        default 0 NOT NULL,
+  fromtype  VARCHAR2(16),
+  score     float         default NULL
+);
+
+CREATE INDEX &&prefix.search_index_idx_1 ON &&prefix.search_index(sid, type);
+-- ORA: search_idx_frmsid_frmtype_idx name shorted due to 31 charecter limit on identifiers
+CREATE INDEX &&prefix.search_index_idx_2 ON &&prefix.search_index(fromsid, fromtype);
+CREATE INDEX &&prefix.search_index_idx_3 ON &&prefix.search_index(word);
+
+--
+-- Table structures for search_total
+--
+
+CREATE TABLE &&prefix.search_total (
+  word  VARCHAR2(50),
+  count float default NULL,
+  PRIMARY KEY(word)
+);
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*   Module: statistics     */
+-- /****************************/
+
+--
+-- Table structure for accesslog
+--
+
+CREATE TABLE &&prefix.accesslog (
+  aid       NUMBER                   NOT NULL,
+  sid       VARCHAR2(64),
+  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 &&prefix.accesslog_timestamp_idx ON &&prefix.accesslog (timestamp);
+
+CREATE SEQUENCE &&prefix.accesslog_aid_seq START WITH 1 INCREMENT BY 1;
+
+CREATE OR REPLACE TRIGGER &&prefix.accesslog_be_in
+BEFORE INSERT ON &&prefix.accesslog
+FOR EACH ROW
+BEGIN
+  IF :NEW.aid IS NULL THEN
+    SELECT &&prefix.accesslog_aid_seq.NEXTVAL
+    INTO :NEW.aid
+    FROM dual;
+  END IF;
+END be_in_accesslog;
+/
+
+------------------------------------------------------------------------------
+-- /****************************/
+-- /*   INSERT DEFAULT VALUE   */
+-- /****************************/
+
+
+INSERT INTO &&prefix.languages (language, name, native, direction, enabled, weight) VALUES ('en', 'English', 'English', '0', '1', '0');
+
+-- Optional Module END
+
+---------------------------------------------------------
+-- /**********************/
+-- /*  patch             */
+-- /**********************/
+
+-- 01-10 Add the record for core modules
+INSERT INTO &&prefix.SYSTEM (filename, name, type, owner, status, throttle, bootstrap, schema_version, info) VALUES ('themes/garland/page.tpl.php', 'garland', 'theme', 'themes/engines/phptemplate/phptemplate.engine', 1, 0, 0, 0, 'a:6:{s:4:"name";s:7:"Garland";s:11:"description";s:66:"Tableless, recolorable, multi-column, fluid width theme (default).";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:7:"regions";a:5:{s:4:"left";s:12:"Left sidebar";s:5:"right";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";}s:8:"features";a:8:{i:0;s:20:"comment_user_picture";i:1;s:7:"favicon";i:2;s:7:"mission";i:3;s:4:"logo";i:4;s:4:"name";i:5;s:17:"node_user_picture";i:6;s:6:"search";i:7;s:6:"slogan";}}');
+
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/system/system.module', 'system', 'module', '', 1, 0, 0, 6012, 0, 'a:7:{s:4:"name";s:6:"System";s:11:"description";s:54:"Handles general site configuration for administrators.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/aggregator/aggregator.module', 'aggregator', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:10:"Aggregator";s:11:"description";s:57:"Aggregates syndicated content (RSS, RDF, and Atom feeds).";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/block/block.module', 'block', 'module', 'Controls the boxes that are displayed around the main content.', 1, 0, 0, 0, 0, 'a:7:{s:4:"name";s:5:"Block";s:11:"description";s:62:"Controls the boxes that are displayed around the main content.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/blog/blog.module', 'blog', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:4:"Blog";s:11:"description";s:69:"Enables keeping easily and regularly updated user web pages or blogs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/blogapi/blogapi.module', 'blogapi', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:8:"Blog API";s:11:"description";s:79:"Allows users to post content using applications that support XML-RPC blog APIs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/book/book.module', 'book', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:4:"Book";s:11:"description";s:46:"Allows users to collaboratively author a book.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/color/color.module', 'color', 'module', '', 1, 0, 0, 0, 0, 'a:7:{s:4:"name";s:5:"Color";s:11:"description";s:61:"Allows the user to change the color scheme of certain themes.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/comment/comment.module', 'comment', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:7:"Comment";s:11:"description";s:57:"Allows users to comment on and discuss published content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/contact/contact.module', 'contact', 'module', '', 0, 0, 0, -1, 0, 'a:7:{s:4:"name";s:7:"Contact";s:11:"description";s:61:"Enables the use of both personal and site-wide contact forms.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/dblog/dblog.module', 'dblog', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:16:"Database logging";s:11:"description";s:47:"Logs and records system events to the database.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/drupal/drupal.module', 'drupal', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Drupal";s:11:"description";s:197:"Lets you register your site with a central server and improve ranking of Drupal projects by posting information on your installed modules and themes; also enables users to log in using a Drupal ID.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/filter/filter.module', 'filter', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:6:"Filter";s:11:"description";s:60:"Handles the filtering of content in preparation for display.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/forum/forum.module', 'forum', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:5:"Forum";s:11:"description";s:50:"Enables threaded discussions about general topics.";s:12:"dependencies";a:2:{i:0;s:8:"taxonomy";i:1;s:7:"comment";}s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/help/help.module', 'help', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"Help";s:11:"description";s:35:"Manages the display of online help.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+--INSERT INTO &&prefix.SYSTEM VALUES ('modules/legacy/legacy.module', 'legacy', 'module', 'Provides legacy handlers for upgrades from older Drupal installations.', 0, 0, 0, -1, 0);
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/locale/locale.module', 'locale', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Locale";s:11:"description";s:78:"Enables the translation of the user interface to languages other than English.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/menu/menu.module', 'menu', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Menu";s:11:"description";s:60:"Allows administrators to customize the site navigation menu.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/node/node.module', 'node', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"Node";s:11:"description";s:66:"Allows content to be submitted to the site and displayed on pages.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/path/path.module', 'path', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Path";s:11:"description";s:28:"Allows users to rename URLs.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/php/php.module', 'php', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:10:"PHP filter";s:11:"description";s:50:"Allows embedded PHP code/snippets to be evaluated.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/ping/ping.module', 'ping', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Ping";s:11:"description";s:51:"Alerts other sites when your site has been updated.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/poll/poll.module', 'poll', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:4:"Poll";s:11:"description";s:95:"Allows your site to capture votes on different topics in the form of multiple choice questions.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/profile/profile.module', 'profile', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:7:"Profile";s:11:"description";s:36:"Supports configurable user profiles.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/search/search.module', 'search', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Search";s:11:"description";s:36:"Enables site-wide keyword searching.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/statistics/statistics.module', 'statistics', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:10:"Statistics";s:11:"description";s:37:"Logs access statistics for your site.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/syslog/syslog.module', 'syslog', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Syslog";s:11:"description";s:41:"Logs and records system events to syslog.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/taxonomy/taxonomy.module', 'taxonomy', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:8:"Taxonomy";s:11:"description";s:38:"Enables the categorization of content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/throttle/throttle.module', 'throttle', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:8:"Throttle";s:11:"description";s:66:"Handles the auto-throttling mechanism, to control site congestion.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/tracker/tracker.module', 'tracker', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:7:"Tracker";s:11:"description";s:43:"Enables tracking of recent posts for users.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/upload/upload.module', 'upload', 'module', '', 0, 0, 0, -1, 0,'a:7:{s:4:"name";s:6:"Upload";s:11:"description";s:51:"Allows users to upload and attach files to content.";s:7:"package";s:15:"Core - optional";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+INSERT INTO &&prefix.SYSTEM VALUES ('modules/user/user.module', 'user', 'module', '', 1, 0, 0, 0, 0,'a:7:{s:4:"name";s:4:"User";s:11:"description";s:47:"Manages the user registration and login system.";s:7:"package";s:15:"Core - required";s:7:"version";s:7:"6.x-dev";s:7:"project";s:6:"drupal";s:12:"dependencies";a:0:{}s:10:"dependents";a:0:{}}');
+
+INSERT INTO &&prefix.VARIABLE (name, value) VALUES ('install_profile', 's:7:"default";');
+INSERT INTO &&prefix.VARIABLE (name, value) VALUES ('node_options_page', 'a:1:{i:0;s:6:"status";}');
+INSERT INTO &&prefix.VARIABLE (name, value) VALUES ('comment_page', 'i:0;');
+INSERT INTO &&prefix.VARIABLE (name, value) VALUES ('theme_settings', 'a:1:{s:21:"toggle_node_info_page";b:0;}');
+
+
+-------------------------------------
+-- Menu patch
+-------------------------------------
+INSERT INTO &&prefix.menu VALUES (48, 0, 'node', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'node_page_default', 'a:0:{}', 1, 1, 1, 2, 0, '0,48', 1, 0, 0, 'Content', 't', '', 'node', 16, '', '', '', 'node', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (106, 0, 'user', '', '', 'user_is_anonymous', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:10:"user_login";}', 1, 1, 3, 4, 0, '0,106', 1, 0, 0, 'Log in', 't', '', 'user', 4, '', '', '', 'user', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (127, 0, 'user/%', 'a:1:{i:1;s:17:"user_current_load";}', 'a:1:{i:1;s:19:"user_current_to_arg";}', 'user_view_access', 'a:1:{i:0;i:1;}', 'user_view', 'a:1:{i:0;i:1;}', 2, 2, 5, 10, 1, '0,127', 1, 0, 0, 'My account', 't', '', 'user/%', 22, '', '', '', 'user/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (50, 0, 'rss.xml', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'node_feed', 'a:0:{}', 1, 1, 11, 12, 0, '0,50', 1, 0, 0, 'RSS feed', 't', '', 'rss.xml', 4, '', '', '', 'rss.xml', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (49, 0, 'node/add', '', '', '_node_add_access', 'a:0:{}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 13, 18, 1, '0,49', 1, 1, 0, 'Create content', 't', '', 'node/add', 22, '', '', '', 'node/add', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (63, 0, 'admin', '', '', 'user_access', 'a:1:{i:0;s:27:"access administration pages";}', 'system_main_admin_page', 'a:0:{}', 1, 1, 19, 156, 1, '0,63', 1, 1, 0, 'Administer', 't', '', 'admin', 22, '', '', '', 'admin', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (126, 0, 'logout', '', '', 'user_is_logged_in', 'a:0:{}', 'user_logout', 'a:0:{}', 1, 1, 157, 158, 1, '0,126', 1, 0, 0, 'Log out', 't', '', 'logout', 22, '', '', '', 'logout', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (40, 63, 'admin/content', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 20, 55, 1, '0,63,40', 2, 1, 0, 'Content management', 't', '', 'admin/content', 22, '', 'Manage your site''s content.', 'left', 'admin/content', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (68, 63, 'admin/build', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 56, 81, 1, '0,63,68', 2, 1, 0, 'Site building', 't', '', 'admin/build', 22, '', 'Control how your site looks and feels.', 'right', 'admin/build', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (67, 63, 'admin/settings', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_settings_overview', 'a:0:{}', 3, 2, 82, 117, 1, '0,63,67', 2, 1, 0, 'Site configuration', 't', '', 'admin/settings', 22, '', 'Adjust basic site configuration options.', 'right', 'admin/settings', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (101, 0, 'taxonomy/autocomplete', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'taxonomy_autocomplete', 'a:0:{}', 3, 2, 159, 160, 0, '0,101', 2, 0, 0, 'Autocomplete taxonomy', 't', '', 'taxonomy/autocomplete', 4, '', '', '', 'taxonomy/autocomplete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (65, 63, 'admin/by-task', '', '', '1', 'a:0:{}', 'system_main_admin_page', 'a:0:{}', 3, 2, 118, 119, 0, '0,63,65', 2, 0, 1, 'By task', 't', '', 'admin', 320, '', '', '', 'admin/by-task', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (64, 0, 'admin/compact', '', '', '1', 'a:0:{}', 'system_admin_compact_page', 'a:0:{}', 3, 2, 161, 162, 0, '0,64', 2, 0, 0, 'Compact mode', 't', '', 'admin/compact', 4, '', '', '', 'admin/compact', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (25, 0, 'filter/tips', '', '', '1', 'a:0:{}', 'filter_tips_long', 'a:0:{}', 3, 2, 163, 164, 0, '0,25', 2, 0, 0, 'Compose tips', 't', '', 'filter/tips', 20, '', '', '', 'filter/tips', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (108, 0, 'user/register', '', '', 'user_register_access', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:13:"user_register";}', 3, 2, 165, 166, 0, '0,108', 2, 0, 1, 'Create new account', 't', '', 'user', 64, '', '', '', 'user/register', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (12, 0, 'comment/delete', '', '', 'user_access', 'a:1:{i:0;s:19:"administer comments";}', 'comment_delete', 'a:0:{}', 3, 2, 167, 168, 0, '0,12', 2, 0, 0, 'Delete comment', 't', '', 'comment/delete', 4, '', '', '', 'comment/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (13, 0, 'comment/edit', '', '', 'user_access', 'a:1:{i:0;s:13:"post comments";}', 'comment_edit', 'a:0:{}', 3, 2, 169, 170, 0, '0,13', 2, 0, 0, 'Edit comment', 't', '', 'comment/edit', 4, '', '', '', 'comment/edit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (62, 0, 'system/files', '', '', '1', 'a:0:{}', 'file_download', 'a:0:{}', 3, 2, 171, 172, 0, '0,62', 2, 0, 0, 'File download', 't', '', 'system/files', 4, '', '', '', 'system/files', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (111, 0, 'user/help', '', '', '1', 'a:0:{}', 'user_help_page', 'a:0:{}', 3, 2, 173, 174, 0, '0,111', 2, 0, 0, 'Help', 't', '', 'user/help', 4, '', '', '', 'user/help', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (107, 0, 'user/login', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:10:"user_login";}', 3, 2, 175, 176, 0, '0,107', 2, 0, 1, 'Log in', 't', '', 'user', 320, '', '', '', 'user/login', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (51, 49, 'node/add/page', '', '', 'node_access', 'a:2:{i:0;s:6:"create";i:1;s:4:"page";}', 'node_add', 'a:1:{i:0;i:2;}', 7, 3, 14, 15, 1, '0,49,51', 2, 0, 0, 'Page', 't', '', 'node/add/page', 22, '', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 'node/add/page', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (109, 0, 'user/password', '', '', 'user_is_anonymous', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:9:"user_pass";}', 3, 2, 177, 178, 0, '0,109', 2, 0, 1, 'Request new password', 't', '', 'user', 64, '', '', '', 'user/password', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (54, 49, 'node/add/story', '', '', 'node_access', 'a:2:{i:0;s:6:"create";i:1;s:5:"story";}', 'node_add', 'a:1:{i:0;i:2;}', 7, 3, 16, 17, 1, '0,49,54', 2, 0, 0, 'Story', 't', '', 'node/add/story', 22, '', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 'node/add/story', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (100, 0, 'taxonomy/term', '', '', 'user_access', 'a:1:{i:0;s:14:"access content";}', 'taxonomy_term_page', 'a:0:{}', 3, 2, 179, 180, 0, '0,100', 2, 0, 0, 'Taxonomy term', 't', '', 'taxonomy/term', 4, '', '', '', 'taxonomy/term', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (105, 0, 'user/autocomplete', '', '', 'user_access', 'a:1:{i:0;s:20:"access user profiles";}', 'user_autocomplete', 'a:0:{}', 3, 2, 181, 182, 0, '0,105', 2, 0, 0, 'User autocomplete', 't', '', 'user/autocomplete', 4, '', '', '', 'user/autocomplete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (112, 63, 'admin/user', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 120, 141, 1, '0,63,112', 2, 1, 0, 'User management', 't', '', 'admin/user', 22, '', 'Manage your site''s users, groups and access to site features.', 'left', 'admin/user', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (57, 0, 'node/%', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:4:"view";i:1;i:1;}', 'node_page_view', 'a:1:{i:0;i:1;}', 2, 2, 183, 184, 0, '0,57', 2, 0, 0, 'View', 't', '', 'node/%', 4, '', '', '', 'node/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (66, 63, 'admin/by-module', '', '', '1', 'a:0:{}', 'system_admin_by_module', 'a:0:{}', 3, 2, 142, 143, 0, '0,63,66', 2, 0, 1, 'By module', 't', '', 'admin', 64, '', '', '', 'admin/by-module', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (90, 63, 'admin/logs', '', '', '1', 'a:0:{}', 'system_admin_menu_block_page', 'a:0:{}', 3, 2, 144, 153, 1, '0,63,90', 2, 1, 0, 'Logs', 't', '', 'admin/logs', 22, '', 'View system logs and other status information.', 'left', 'admin/logs', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (30, 63, 'admin/help', '', '', 'user_access', 'a:1:{i:0;s:27:"access administration pages";}', 'help_main', 'a:0:{}', 3, 2, 154, 155, 1, '0,63,30', 2, 0, 0, 'Help', 't', '', 'admin/help', 22, '', '', '', 'admin/help', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (58, 0, 'node/%/view', 'a:1:{i:1;s:9:"node_load";}', '', '1', 'a:0:{}', 'node_page_view', 'a:1:{i:0;i:1;}', 5, 3, 185, 186, 0, '0,58', 3, 0, 1, 'View', 't', '', 'node/%', 320, '', '', '', 'node/%/view', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (128, 127, 'user/%/view', 'a:1:{i:1;s:9:"user_load";}', '', '1', 'a:0:{}', 'user_view', 'a:1:{i:0;i:1;}', 5, 3, 6, 7, 0, '0,127,128', 3, 0, 1, 'View', 't', '', 'user/%', 320, '', '', '', 'user/%/view', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (17, 90, 'admin/logs/dblog', '', '', '1', 'a:0:{}', 'dblog_overview', 'a:0:{}', 7, 3, 145, 146, 1, '0,63,90,17', 3, 0, 0, 'Recent log entries', 't', '', 'admin/logs/dblog', 22, '', 'View events that have recently been logged.', '', 'admin/logs/dblog', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (117, 112, 'admin/user/access', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'drupal_get_form', 'a:1:{i:0;s:15:"user_admin_perm";}', 7, 3, 121, 122, 1, '0,63,112,117', 3, 0, 0, 'Access control', 't', '', 'admin/user/access', 22, '', 'Determine access to features by selecting permissions for roles.', '', 'admin/user/access', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (120, 112, 'admin/user/rules', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'user_admin_access', 'a:0:{}', 7, 3, 123, 130, 1, '0,63,112,120', 3, 0, 0, 'Access rules', 't', '', 'admin/user/rules', 22, '', 'List and create rules to disallow usernames, e-mail addresses, and IP addresses.', '', 'admin/user/rules', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (69, 67, 'admin/settings/admin', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_admin_theme_settings";}', 7, 3, 83, 84, 1, '0,63,67,69', 3, 0, 0, 'Administration theme', 't', '', 'admin/settings/admin', 22, 'system_admin_theme_settings', 'Settings for how your administrative pages should look.', 'left', 'admin/settings/admin', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (1, 68, 'admin/build/block', '', '', 'user_access', 'a:1:{i:0;s:17:"administer blocks";}', 'drupal_get_form', 'a:1:{i:0;s:19:"block_admin_display";}', 7, 3, 57, 64, 1, '0,63,68,1', 3, 0, 0, 'Blocks', 't', '', 'admin/build/block', 22, '', 'Configure what block content appears in your site''s sidebars and other regions.', '', 'admin/build/block', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (95, 40, 'admin/content/taxonomy', '', '', 'user_access', 'a:1:{i:0;s:19:"administer taxonomy";}', 'taxonomy_overview_vocabularies', 'a:0:{}', 7, 3, 21, 30, 1, '0,63,40,95', 3, 0, 0, 'Categories', 't', '', 'admin/content/taxonomy', 22, '', 'Create vocabularies and terms to categorize your content.', '', 'admin/content/taxonomy', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (89, 67, 'admin/settings/clean-urls', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_clean_url_settings";}', 7, 3, 85, 86, 1, '0,63,67,89', 3, 0, 0, 'Clean URLs', 't', '', 'admin/settings/clean-urls', 22, '', 'Enable or disable clean URLs for your site.', '', 'admin/settings/clean-urls', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (7, 40, 'admin/content/comment', '', '', 'user_access', 'a:1:{i:0;s:19:"administer comments";}', 'comment_admin', 'a:0:{}', 7, 3, 31, 40, 1, '0,63,40,7', 3, 0, 0, 'Comments', 't', '', 'admin/content/comment', 22, '', 'List and edit site comments and the comment moderation queue.', '', 'admin/content/comment', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (41, 40, 'admin/content/node', '', '', 'user_access', 'a:1:{i:0;s:16:"administer nodes";}', 'node_admin_content', 'a:0:{}', 7, 3, 41, 44, 1, '0,63,40,41', 3, 0, 0, 'Content', 't', '', 'admin/content/node', 22, '', 'View, edit, and delete your site''s content.', '', 'admin/content/node', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (45, 40, 'admin/content/types', '', '', 'user_access', 'a:1:{i:0;s:24:"administer content types";}', 'node_overview_types', 'a:0:{}', 7, 3, 45, 50, 1, '0,63,40,45', 3, 0, 0, 'Content types', 't', '', 'admin/content/types', 22, '', 'Manage posts by content type, including default status, front page promotion, etc.', '', 'admin/content/types', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (87, 67, 'admin/settings/date-time', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_date_time_settings";}', 7, 3, 87, 88, 1, '0,63,67,87', 3, 0, 0, 'Date and time', 't', '', 'admin/settings/date-time', 22, '', 'Settings for how Drupal displays date and time, as well as the system''s default timezone.', '', 'admin/settings/date-time', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (129, 0, 'user/%/delete', 'a:1:{i:1;s:9:"user_load";}', '', 'user_access', 'a:1:{i:0;s:16:"administer users";}', 'user_edit', 'a:0:{}', 5, 3, 187, 188, 0, '0,129', 3, 0, 0, 'Delete', 't', '', 'user/%/delete', 4, '', '', '', 'user/%/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (130, 127, 'user/%/edit', 'a:1:{i:1;s:9:"user_load";}', '', 'user_edit_access', 'a:1:{i:0;i:1;}', 'drupal_get_form', 'a:1:{i:0;s:9:"user_edit";}', 5, 3, 8, 9, 0, '0,127,130', 3, 0, 1, 'Edit', 't', '', 'user/%', 64, '', '', '', 'user/%/edit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (81, 67, 'admin/settings/error-reporting', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:31:"system_error_reporting_settings";}', 7, 3, 89, 90, 1, '0,63,67,81', 3, 0, 0, 'Error reporting', 't', '', 'admin/settings/error-reporting', 22, '', 'Control how Drupal deals with errors including 403/404 errors as well as PHP error reporting.', '', 'admin/settings/error-reporting', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (84, 67, 'admin/settings/file-system', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_file_system_settings";}', 7, 3, 91, 92, 1, '0,63,67,84', 3, 0, 0, 'File system', 't', '', 'admin/settings/file-system', 22, '', 'Tell Drupal where to store uploaded files and how they are accessed.', '', 'admin/settings/file-system', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (85, 67, 'admin/settings/image-toolkit', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:29:"system_image_toolkit_settings";}', 7, 3, 93, 94, 1, '0,63,67,85', 3, 0, 0, 'Image toolkit', 't', '', 'admin/settings/image-toolkit', 22, '', 'Choose which image toolkit to use if you have installed optional toolkits.', '', 'admin/settings/image-toolkit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (21, 67, 'admin/settings/filters', '', '', 'user_access', 'a:1:{i:0;s:18:"administer filters";}', 'drupal_get_form', 'a:1:{i:0;s:21:"filter_admin_overview";}', 7, 3, 95, 106, 1, '0,63,67,21', 3, 0, 0, 'Input formats', 't', '', 'admin/settings/filters', 22, '', 'Configure how content input by users is filtered, including allowed HTML tags. Also allows enabling of module-provided filters.', '', 'admin/settings/filters', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (82, 67, 'admin/settings/logging', '', '', '1', 'a:0:{}', 'system_logging_overview', 'a:0:{}', 7, 3, 107, 110, 1, '0,63,67,82', 3, 1, 0, 'Logging and alerts', 't', '', 'admin/settings/logging', 22, '', 'Settings for logging and alerts modules. Various modules can route Drupal''s system events to different destination, such as syslog, database, email, ...etc.', '', 'admin/settings/logging', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (75, 68, 'admin/build/modules', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 7, 3, 65, 70, 1, '0,63,68,75', 3, 0, 0, 'Modules', 't', '', 'admin/build/modules', 22, '', 'Enable or disable add-on modules for your site.', '', 'admin/build/modules', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (83, 67, 'admin/settings/performance', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:27:"system_performance_settings";}', 7, 3, 111, 112, 1, '0,63,67,83', 3, 0, 0, 'Performance', 't', '', 'admin/settings/performance', 22, '', 'Enable or disable page caching for anonymous users, and enable or disable CSS preprocessor.', '', 'admin/settings/performance', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (43, 40, 'admin/content/node-settings', '', '', 'user_access', 'a:1:{i:0;s:16:"administer nodes";}', 'drupal_get_form', 'a:1:{i:0;s:14:"node_configure";}', 7, 3, 51, 52, 1, '0,63,40,43', 3, 0, 0, 'Post settings', 't', '', 'admin/content/node-settings', 22, '', 'Control posting behavior, such as teaser length, requiring previews before posting, and the number of posts on the front page.', '', 'admin/content/node-settings', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (86, 40, 'admin/content/rss-publishing', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:25:"system_rss_feeds_settings";}', 7, 3, 53, 54, 1, '0,63,40,86', 3, 0, 0, 'RSS publishing', 't', '', 'admin/content/rss-publishing', 22, '', 'Configure the number of items per feed and whether feeds should be titles/teasers/full-text.', '', 'admin/content/rss-publishing', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (14, 0, 'comment/reply/%', 'a:1:{i:2;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:4:"view";i:1;i:2;}', 'comment_reply', 'a:1:{i:0;i:2;}', 6, 3, 189, 190, 0, '0,14', 3, 0, 0, 'Reply to comment', 't', '', 'comment/reply/%', 4, '', '', '', 'comment/reply/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (118, 112, 'admin/user/roles', '', '', 'user_access', 'a:1:{i:0;s:25:"administer access control";}', 'drupal_get_form', 'a:1:{i:0;s:19:"user_admin_new_role";}', 7, 3, 131, 132, 1, '0,63,112,118', 3, 0, 0, 'Roles', 't', '', 'admin/user/roles', 22, '', 'List, edit, or add user roles.', '', 'admin/user/roles', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (80, 67, 'admin/settings/site-information', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"system_site_information_settings";}', 7, 3, 113, 114, 1, '0,63,67,80', 3, 0, 0, 'Site information', 't', '', 'admin/settings/site-information', 22, '', 'Change basic site information, such as the site name, slogan, e-mail address, mission, front page and more.', '', 'admin/settings/site-information', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (88, 67, 'admin/settings/site-maintenance', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"system_site_maintenance_settings";}', 7, 3, 115, 116, 1, '0,63,67,88', 3, 0, 0, 'Site maintenance', 't', '', 'admin/settings/site-maintenance', 22, '', 'Take the site off-line for maintenance or bring it back online.', '', 'admin/settings/site-maintenance', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (70, 68, 'admin/build/themes', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:18:"system_themes_form";}', 7, 3, 71, 80, 1, '0,63,68,70', 3, 0, 0, 'Themes', 't', '', 'admin/build/themes', 22, '', 'Change which theme your site uses or allows users to set.', '', 'admin/build/themes', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (19, 90, 'admin/logs/access-denied', '', '', '1', 'a:0:{}', 'dblog_top', 'a:1:{i:0;s:13:"access denied";}', 7, 3, 147, 148, 1, '0,63,90,19', 3, 0, 0, 'Top ''access denied'' errors', 't', '', 'admin/logs/access-denied', 22, '', 'View ''access denied'' errors (403s).', '', 'admin/logs/access-denied', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (18, 90, 'admin/logs/page-not-found', '', '', '1', 'a:0:{}', 'dblog_top', 'a:1:{i:0;s:14:"page not found";}', 7, 3, 149, 150, 1, '0,63,90,18', 3, 0, 0, 'Top ''page not found'' errors', 't', '', 'admin/logs/page-not-found', 22, '', 'View ''page not found'' errors (404s).', '', 'admin/logs/page-not-found', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (116, 112, 'admin/user/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"user_admin_settings";}', 7, 3, 133, 134, 1, '0,63,112,116', 3, 0, 0, 'User settings', 't', '', 'admin/user/settings', 22, '', 'Configure default behavior of users, including registration requirements, e-mails, and user pictures.', '', 'admin/user/settings', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (113, 112, 'admin/user/user', '', '', 'user_access', 'a:1:{i:0;s:16:"administer users";}', 'user_admin', 'a:1:{i:0;s:4:"list";}', 7, 3, 135, 140, 1, '0,63,112,113', 3, 0, 0, 'Users', 't', '', 'admin/user/user', 22, '', 'List, add, and edit users.', '', 'admin/user/user', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (15, 0, 'node/%/%', 'a:2:{i:1;s:9:"node_load";i:2;N;}', '', '_comment_view_access', 'a:2:{i:0;i:1;i:1;i:2;}', 'node_page_view', 'a:2:{i:0;i:1;i:1;i:2;}', 4, 3, 191, 192, 0, '0,15', 3, 0, 0, 'View', 't', '', 'node/%/%', 4, '', '', '', 'node/%/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (31, 0, 'admin/help/block', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 193, 194, 0, '0,31', 3, 0, 0, 'block', 't', '', 'admin/help/block', 4, '', '', '', 'admin/help/block', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (32, 0, 'admin/help/comment', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 195, 196, 0, '0,32', 3, 0, 0, 'comment', 't', '', 'admin/help/comment', 4, '', '', '', 'admin/help/comment', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (33, 0, 'admin/help/dblog', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 197, 198, 0, '0,33', 3, 0, 0, 'dblog', 't', '', 'admin/help/dblog', 4, '', '', '', 'admin/help/dblog', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (34, 0, 'admin/help/filter', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 199, 200, 0, '0,34', 3, 0, 0, 'filter', 't', '', 'admin/help/filter', 4, '', '', '', 'admin/help/filter', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (35, 0, 'admin/help/help', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 201, 202, 0, '0,35', 3, 0, 0, 'help', 't', '', 'admin/help/help', 4, '', '', '', 'admin/help/help', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (36, 0, 'admin/help/node', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 203, 204, 0, '0,36', 3, 0, 0, 'node', 't', '', 'admin/help/node', 4, '', '', '', 'admin/help/node', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (37, 0, 'admin/help/system', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 205, 206, 0, '0,37', 3, 0, 0, 'system', 't', '', 'admin/help/system', 4, '', '', '', 'admin/help/system', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (38, 0, 'admin/help/taxonomy', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 207, 208, 0, '0,38', 3, 0, 0, 'taxonomy', 't', '', 'admin/help/taxonomy', 4, '', '', '', 'admin/help/taxonomy', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (39, 0, 'admin/help/user', '', '', '1', 'a:0:{}', 'help_page', 'a:0:{}', 7, 3, 209, 210, 0, '0,39', 3, 0, 0, 'user', 't', '', 'admin/help/user', 4, '', '', '', 'admin/help/user', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (60, 0, 'node/%/delete', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:6:"delete";i:1;i:1;}', 'drupal_get_form', 'a:2:{i:0;s:19:"node_delete_confirm";i:1;i:1;}', 5, 3, 211, 212, 0, '0,60', 3, 0, 0, 'Delete', 't', '', 'node/%/delete', 4, '', '', '', 'node/%/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (59, 0, 'node/%/edit', 'a:1:{i:1;s:9:"node_load";}', '', 'node_access', 'a:2:{i:0;s:6:"update";i:1;i:1;}', 'node_page_edit', 'a:1:{i:0;i:1;}', 5, 3, 213, 214, 0, '0,59', 3, 0, 1, 'Edit', 't', '', 'node/%', 64, '', '', '', 'node/%/edit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (61, 0, 'node/%/revisions', 'a:1:{i:1;s:9:"node_load";}', '', '_node_revision_access', 'a:1:{i:0;i:1;}', 'node_revisions', 'a:0:{}', 5, 3, 215, 216, 0, '0,61', 3, 0, 1, 'Revisions', 't', '', 'node/%', 64, '', '', '', 'node/%/revisions', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (91, 90, 'admin/logs/status', '', '', 'user_access', 'a:1:{i:0;s:29:"administer site configuration";}', 'system_status', 'a:0:{}', 7, 3, 151, 152, 1, '0,63,90,91', 3, 0, 0, 'Status report', 't', '', 'admin/logs/status', 22, '', 'Get a status report about your site''s operation and any detected problems.', '', 'admin/logs/status', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (2, 1, 'admin/build/block/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"block_admin_display";}', 15, 4, 58, 59, 0, '0,63,68,1,2', 4, 0, 1, 'List', 't', '', 'admin/build/block', 320, '', '', '', 'admin/build/block/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (8, 7, 'admin/content/comment/list', '', '', '1', 'a:0:{}', 'comment_admin', 'a:0:{}', 15, 4, 32, 33, 0, '0,63,40,7,8', 4, 0, 1, 'List', 't', '', 'admin/content/comment', 320, '', '', '', 'admin/content/comment/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (42, 41, 'admin/content/node/overview', '', '', '1', 'a:0:{}', 'node_admin_content', 'a:0:{}', 15, 4, 42, 43, 0, '0,63,40,41,42', 4, 0, 1, 'List', 't', '', 'admin/content/node', 320, '', '', '', 'admin/content/node/overview', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (96, 95, 'admin/content/taxonomy/list', '', '', '1', 'a:0:{}', 'taxonomy_overview_vocabularies', 'a:0:{}', 15, 4, 22, 23, 0, '0,63,40,95,96', 4, 0, 1, 'List', 't', '', 'admin/content/taxonomy', 320, '', '', '', 'admin/content/taxonomy/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (46, 45, 'admin/content/types/list', '', '', '1', 'a:0:{}', 'node_overview_types', 'a:0:{}', 15, 4, 46, 47, 0, '0,63,40,45,46', 4, 0, 1, 'List', 't', '', 'admin/content/types', 320, '', '', '', 'admin/content/types/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (121, 120, 'admin/user/rules/list', '', '', '1', 'a:0:{}', 'user_admin_access', 'a:0:{}', 15, 4, 124, 125, 0, '0,63,112,120,121', 4, 0, 1, 'List', 't', '', 'admin/user/rules', 320, '', '', '', 'admin/user/rules/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (114, 113, 'admin/user/user/list', '', '', '1', 'a:0:{}', 'user_admin', 'a:1:{i:0;s:4:"list";}', 15, 4, 136, 137, 0, '0,63,112,113,114', 4, 0, 1, 'List', 't', '', 'admin/user/user', 320, '', '', '', 'admin/user/user/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (71, 70, 'admin/build/themes/select', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:18:"system_themes_form";}', 15, 4, 72, 73, 0, '0,63,68,70,71', 4, 0, 1, 'List', 't', '', 'admin/build/themes', 320, '', 'Select the default theme.', '', 'admin/build/themes/select', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (26, 0, 'admin/settings/filters/%', 'a:1:{i:3;s:18:"filter_format_load";}', '', 'user_access', 'a:1:{i:0;s:18:"administer filters";}', 'drupal_get_form', 'a:2:{i:0;s:24:"filter_admin_format_form";i:1;i:3;}', 14, 4, 217, 218, 0, '0,26', 4, 0, 0, '', 't', '', 'admin/settings/filters/%', 4, '', '', '', 'admin/settings/filters/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (5, 1, 'admin/build/block/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:20:"block_add_block_form";}', 15, 4, 60, 61, 0, '0,63,68,1,5', 4, 0, 1, 'Add block', 't', '', 'admin/build/block', 64, '', '', '', 'admin/build/block/add', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (47, 45, 'admin/content/types/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"node_type_form";}', 15, 4, 48, 49, 0, '0,63,40,45,47', 4, 0, 1, 'Add content type', 't', '', 'admin/content/types', 64, '', '', '', 'admin/content/types/add', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (122, 120, 'admin/user/rules/add', '', '', '1', 'a:0:{}', 'user_admin_access_add', 'a:0:{}', 15, 4, 126, 127, 0, '0,63,112,120,122', 4, 0, 1, 'Add rule', 't', '', 'admin/user/rules', 64, '', '', '', 'admin/user/rules/add', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (115, 113, 'admin/user/user/create', '', '', '1', 'a:0:{}', 'user_admin', 'a:1:{i:0;s:6:"create";}', 15, 4, 138, 139, 0, '0,63,112,113,115', 4, 0, 1, 'Add user', 't', '', 'admin/user/user', 64, '', '', '', 'admin/user/user/create', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (123, 120, 'admin/user/rules/check', '', '', '1', 'a:0:{}', 'user_admin_access_check', 'a:0:{}', 15, 4, 128, 129, 0, '0,63,112,120,123', 4, 0, 1, 'Check rules', 't', '', 'admin/user/rules', 64, '', '', '', 'admin/user/rules/check', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (72, 70, 'admin/build/themes/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"system_theme_settings";}', 15, 4, 74, 75, 0, '0,63,68,70,72', 4, 0, 1, 'Configure', 't', '', 'admin/build/themes', 64, '', '', '', 'admin/build/themes/settings', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (3, 0, 'admin/build/block/configure', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"block_admin_configure";}', 15, 4, 219, 220, 0, '0,3', 4, 0, 0, 'Configure block', 't', '', 'admin/build/block/configure', 4, '', '', '', 'admin/build/block/configure', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (16, 82, 'admin/settings/logging/dblog', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:20:"dblog_admin_settings";}', 15, 4, 108, 109, 1, '0,63,67,82,16', 4, 0, 0, 'Database logging', 't', '', 'admin/settings/logging/dblog', 22, '', 'Settings for logging to the Drupal database logs. This is the most common method for small to medium sites on shared hosting. The logs are viewable from the admin pages.', '', 'admin/settings/logging/dblog', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (4, 0, 'admin/build/block/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:16:"block_box_delete";}', 15, 4, 221, 222, 0, '0,4', 4, 0, 0, 'Delete block', 't', '', 'admin/build/block/delete', 4, '', '', '', 'admin/build/block/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (24, 0, 'admin/settings/filters/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:19:"filter_admin_delete";}', 15, 4, 223, 224, 0, '0,24', 4, 0, 0, 'Delete input format', 't', '', 'admin/settings/filters/delete', 4, '', '', '', 'admin/settings/filters/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (125, 0, 'admin/user/rules/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:32:"user_admin_access_delete_confirm";}', 15, 4, 225, 226, 0, '0,125', 4, 0, 0, 'Delete rule', 't', '', 'admin/user/rules/delete', 4, '', '', '', 'admin/user/rules/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (20, 0, 'admin/logs/event/%', 'a:1:{i:3;N;}', '', '1', 'a:0:{}', 'dblog_event', 'a:1:{i:0;i:3;}', 14, 4, 227, 228, 0, '0,20', 4, 0, 0, 'Details', 't', '', 'admin/logs/event/%', 4, '', '', '', 'admin/logs/event/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (119, 0, 'admin/user/roles/edit', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:15:"user_admin_role";}', 15, 4, 229, 230, 0, '0,119', 4, 0, 0, 'Edit role', 't', '', 'admin/user/roles/edit', 4, '', '', '', 'admin/user/roles/edit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (124, 0, 'admin/user/rules/edit', '', '', '1', 'a:0:{}', 'user_admin_access_edit', 'a:0:{}', 15, 4, 231, 232, 0, '0,124', 4, 0, 0, 'Edit rule', 't', '', 'admin/user/rules/edit', 4, '', '', '', 'admin/user/rules/edit', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (76, 75, 'admin/build/modules/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 15, 4, 66, 67, 0, '0,63,68,75,76', 4, 0, 1, 'List', 't', '', 'admin/build/modules', 320, '', '', '', 'admin/build/modules/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (22, 21, 'admin/settings/filters/list', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"filter_admin_overview";}', 15, 4, 96, 97, 0, '0,63,67,21,22', 4, 0, 1, 'List', 't', '', 'admin/settings/filters', 320, '', '', '', 'admin/settings/filters/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (102, 0, 'admin/content/taxonomy/%', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', 'user_access', 'a:1:{i:0;s:19:"administer taxonomy";}', 'taxonomy_overview_terms', 'a:1:{i:0;i:3;}', 14, 4, 233, 234, 0, '0,102', 4, 0, 0, 'List terms', 't', '', 'admin/content/taxonomy/%', 4, '', '', '', 'admin/content/taxonomy/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (93, 0, 'admin/logs/status/php', '', '', '1', 'a:0:{}', 'system_php', 'a:0:{}', 15, 4, 235, 236, 0, '0,93', 4, 0, 0, 'PHP', 't', '', 'admin/logs/status/php', 4, '', '', '', 'admin/logs/status/php', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (52, 0, 'admin/content/types/page', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:14:"node_type_form";i:1;O:8:"stdClass":14:{s:4:"type";s:4:"page";s:4:"name";s:4:"Page";s:6:"module";s:4:"node";s:11:"description";s:83:"If you want to add a static page, like a contact page or an about page, use a page.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:4:"page";}}', 15, 4, 237, 238, 0, '0,52', 4, 0, 0, 'Page', 't', '', 'admin/content/types/page', 4, '', '', '', 'admin/content/types/page', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (44, 0, 'admin/content/node-settings/rebuild', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:30:"node_configure_rebuild_confirm";}', 15, 4, 239, 240, 0, '0,44', 4, 0, 0, 'Rebuild permissions', 't', '', 'admin/content/node-settings/rebuild', 4, '', '', '', 'admin/content/node-settings/rebuild', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (92, 0, 'admin/logs/status/run-cron', '', '', '1', 'a:0:{}', 'system_run_cron', 'a:0:{}', 15, 4, 241, 242, 0, '0,92', 4, 0, 0, 'Run cron', 't', '', 'admin/logs/status/run-cron', 4, '', '', '', 'admin/logs/status/run-cron', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (94, 0, 'admin/logs/status/sql', '', '', '1', 'a:0:{}', 'system_sql', 'a:0:{}', 15, 4, 243, 244, 0, '0,94', 4, 0, 0, 'SQL', 't', '', 'admin/logs/status/sql', 4, '', '', '', 'admin/logs/status/sql', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (55, 0, 'admin/content/types/story', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:14:"node_type_form";i:1;O:8:"stdClass":14:{s:4:"type";s:5:"story";s:4:"name";s:5:"Story";s:6:"module";s:4:"node";s:11:"description";s:219:"Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:5:"story";}}', 15, 4, 245, 246, 0, '0,55', 4, 0, 0, 'Story', 't', '', 'admin/content/types/story', 4, '', '', '', 'admin/content/types/story', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (78, 75, 'admin/build/modules/uninstall', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"system_modules_uninstall";}', 15, 4, 68, 69, 0, '0,63,68,75,78', 4, 0, 1, 'Uninstall', 't', '', 'admin/build/modules', 64, '', '', '', 'admin/build/modules/uninstall', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (23, 21, 'admin/settings/filters/add', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"filter_admin_format_form";}', 15, 4, 98, 99, 0, '0,63,67,21,23', 4, 0, 1, 'Add input format', 't', '', 'admin/settings/filters', 64, '', '', '', 'admin/settings/filters/add', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (11, 7, 'admin/content/comment/settings', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:22:"comment_admin_settings";}', 15, 4, 34, 35, 0, '0,63,40,7,11', 4, 0, 1, 'Settings', 't', '', 'admin/content/comment', 64, '', '', '', 'admin/content/comment/settings', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (6, 1, 'admin/build/block/list/garland', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:19:"block_admin_display";i:1;s:7:"garland";}', 31, 5, 62, 63, 0, '0,63,68,1,6', 5, 0, 1, '!key settings', 't', 'a:1:{s:4:"!key";s:7:"Garland";}', 'admin/build/block/list', 320, '', '', '', 'admin/build/block/list/garland', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (103, 95, 'admin/content/taxonomy/%/list', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'taxonomy_overview_terms', 'a:1:{i:0;i:3;}', 29, 5, 24, 25, 0, '0,63,40,95,103', 5, 0, 1, 'List', 't', '', 'admin/content/taxonomy/%', 320, '', '', '', 'admin/content/taxonomy/%/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (9, 7, 'admin/content/comment/list/new', '', '', '1', 'a:0:{}', 'comment_admin', 'a:0:{}', 31, 5, 36, 37, 0, '0,63,40,7,9', 5, 0, 1, 'Published comments', 't', '', 'admin/content/comment/list', 320, '', '', '', 'admin/content/comment/list/new', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (73, 70, 'admin/build/themes/settings/global', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:21:"system_theme_settings";}', 31, 5, 76, 77, 0, '0,63,68,70,73', 5, 0, 1, 'Global settings', 't', '', 'admin/build/themes/settings', 320, '', '', '', 'admin/build/themes/settings/global', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (97, 95, 'admin/content/taxonomy/add/vocabulary', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"taxonomy_form_vocabulary";}', 31, 5, 26, 27, 0, '0,63,40,95,97', 4, 0, 1, 'Add vocabulary', 't', '', 'admin/content/taxonomy', 64, '', '', '', 'admin/content/taxonomy/add/vocabulary', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (10, 7, 'admin/content/comment/list/approval', '', '', '1', 'a:0:{}', 'comment_admin', 'a:1:{i:0;s:8:"approval";}', 31, 5, 38, 39, 0, '0,63,40,7,10', 5, 0, 1, 'Approval queue', 't', '', 'admin/content/comment/list', 64, '', '', '', 'admin/content/comment/list/approval', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (53, 0, 'admin/content/types/page/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"node_type_delete_confirm";i:1;O:8:"stdClass":14:{s:4:"type";s:4:"page";s:4:"name";s:4:"Page";s:6:"module";s:4:"node";s:11:"description";s:83:"If you want to add a static page, like a contact page or an about page, use a page.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:4:"page";}}', 31, 5, 247, 248, 0, '0,53', 5, 0, 0, 'Delete', 't', '', 'admin/content/types/page/delete', 4, '', '', '', 'admin/content/types/page/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (56, 0, 'admin/content/types/story/delete', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"node_type_delete_confirm";i:1;O:8:"stdClass":14:{s:4:"type";s:5:"story";s:4:"name";s:5:"Story";s:6:"module";s:4:"node";s:11:"description";s:219:"Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.";s:4:"help";s:0:"";s:9:"has_title";s:1:"1";s:11:"title_label";s:5:"Title";s:8:"has_body";s:1:"1";s:10:"body_label";s:4:"Body";s:14:"min_word_count";s:1:"0";s:6:"custom";s:1:"1";s:8:"modified";s:1:"1";s:6:"locked";s:1:"0";s:9:"orig_type";s:5:"story";}}', 31, 5, 249, 250, 0, '0,56', 5, 0, 0, 'Delete', 't', '', 'admin/content/types/story/delete', 4, '', '', '', 'admin/content/types/story/delete', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (99, 0, 'admin/content/taxonomy/edit/term', '', '', '1', 'a:0:{}', 'taxonomy_admin_term_edit', 'a:0:{}', 31, 5, 251, 252, 0, '0,99', 5, 0, 0, 'Edit term', 't', '', 'admin/content/taxonomy/edit/term', 4, '', '', '', 'admin/content/taxonomy/edit/term', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (74, 70, 'admin/build/themes/settings/garland', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:7:"garland";}', 31, 5, 78, 79, 0, '0,63,68,70,74', 5, 0, 1, 'Garland', 't', '', 'admin/build/themes/settings', 64, '', '', '', 'admin/build/themes/settings/garland', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (77, 0, 'admin/build/modules/list/confirm', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:14:"system_modules";}', 31, 5, 253, 254, 0, '0,77', 5, 0, 0, 'List', 't', '', 'admin/build/modules/list/confirm', 4, '', '', '', 'admin/build/modules/list/confirm', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (110, 0, 'user/reset/%/%/%', 'a:3:{i:2;N;i:3;N;i:4;N;}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:4:{i:0;s:15:"user_pass_reset";i:1;i:2;i:2;i:3;i:3;i:4;}', 24, 5, 255, 256, 0, '0,110', 5, 0, 0, 'Reset password', 't', '', 'user/reset/%/%/%', 4, '', '', '', 'user/reset/%/%/%', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (79, 0, 'admin/build/modules/uninstall/confirm', '', '', '1', 'a:0:{}', 'drupal_get_form', 'a:1:{i:0;s:24:"system_modules_uninstall";}', 31, 5, 257, 258, 0, '0,79', 5, 0, 0, 'Uninstall', 't', '', 'admin/build/modules/uninstall/confirm', 4, '', '', '', 'admin/build/modules/uninstall/confirm', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (27, 21, 'admin/settings/filters/%/list', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:24:"filter_admin_format_form";i:1;i:3;}', 29, 5, 100, 101, 0, '0,63,67,21,27', 5, 0, 1, 'View', 't', '', 'admin/settings/filters/%', 320, '', '', '', 'admin/settings/filters/%/list', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (28, 21, 'admin/settings/filters/%/configure', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:22:"filter_admin_configure";i:1;i:3;}', 29, 5, 102, 103, 0, '0,63,67,21,28', 5, 0, 1, 'Configure', 't', '', 'admin/settings/filters/%', 64, '', '', '', 'admin/settings/filters/%/configure', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (29, 21, 'admin/settings/filters/%/order', 'a:1:{i:3;s:18:"filter_format_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:18:"filter_admin_order";i:1;i:3;}', 29, 5, 104, 105, 0, '0,63,67,21,29', 5, 0, 1, 'Rearrange', 't', '', 'admin/settings/filters/%', 64, '', '', '', 'admin/settings/filters/%/order', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (104, 95, 'admin/content/taxonomy/%/add/term', 'a:1:{i:3;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'drupal_get_form', 'a:2:{i:0;s:18:"taxonomy_form_term";i:1;i:3;}', 59, 6, 28, 29, 0, '0,63,40,95,104', 5, 0, 1, 'Add term', 't', '', 'admin/content/taxonomy/%', 64, '', '', '', 'admin/content/taxonomy/%/add/term', '', '', '', 0, 0);
+INSERT INTO &&prefix.menu VALUES (98, 0, 'admin/content/taxonomy/edit/vocabulary/%', 'a:1:{i:5;s:24:"taxonomy_vocabulary_load";}', '', '1', 'a:0:{}', 'taxonomy_admin_vocabulary_edit', 'a:1:{i:0;i:5;}', 62, 6, 259, 260, 0, '0,98', 6, 0, 0, 'Edit vocabulary', 't', '', 'admin/content/taxonomy/edit/vocabulary/%', 4, '', '', '', 'admin/content/taxonomy/edit/vocabulary/%', '', '', '', 0, 0);
+
+----------------------------------
+-- node_type patch
+----------------------------------
+
+INSERT INTO &&prefix.node_type VALUES ('page', 'Page', 'node', 'If you want to add a static page, like a contact page or an about page, use a page.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'page');
+
+INSERT INTO &&prefix.node_type VALUES ('story', 'Story', 'node', 'Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.', '', 1, 'Title', 1, 'Body', 0, 1, 1, 0, 'story');
+
+COMMIT;
+
+SHOW ERRORS
+
diff -urN drupal-6.x-dev/includes/database.oracle.inc drupal-6.x-dev-souvent22/drupal-6.x-dev/includes/database.oracle.inc
--- drupal-6.x-dev/includes/database.oracle.inc	1970-01-01 08:00:00.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/includes/database.oracle.inc	2007-05-14 16:42:58.000000000 +0800
@@ -0,0 +1,1280 @@
+<?php
+/**
+ * @file
+ * Database interface code for Oracle database servers.
+ */
+
+/**
+ * @ingroup database
+ * @{
+ */
+
+/**
+ * Report database status.
+ */
+function db_status_report($phase) {
+  $t = get_t();
+
+  $version = db_version();
+
+  $form['oracle'] = array(
+    'title' => $t('Oracle database'),
+    'value' => ($phase == 'runtime') ? l($version, 'admin/logs/status/sql') : $version,
+  );
+
+  // -- checkpoint 01: no checking for Oracle server
+  //            TODO
+  //            $version : from system.install
+  //  if (version_compare($version, DRUPAL_MINIMUM_MYSQL) < 0) {
+  //    $form['oracle']['severity'] = REQUIREMENT_ERROR;
+  //    $form['oracle']['description'] = $t('Your MySQL Server is too old. Drupal requires at least MySQL %version.', array('%version' => DRUPAL_MINIMUM_MYSQL));
+  //  }
+  // -- end 01
+
+  return $form;
+}
+
+/**
+ * Returns the version of the database server currently in use.
+ *
+ * @return Database server version
+ */
+function db_version() {
+  return db_result(db_query('SELECT banner FROM sys.V_$VERSION'));
+}
+
+/**
+ * Initialize a database connection.
+ */
+function db_connect($url) {
+  	
+  // Check if Oracle support is present in PHP 4 or 5
+  if (!(function_exists('oci_connect'))) {
+    drupal_maintenance_theme();
+    drupal_set_title('PHP Oracle support not enabled');
+    print theme('maintenance_page', '<p>We were unable to use the Oracle database because the Oracle extension for PHP is not installed. Check your <code>PHP.ini</code> to see how you can enable it.</p>');
+    //create a book page about Oracle support.
+    exit;
+  }
+
+  $url = parse_url($url);
+  
+  //print_r($url);	
+  //die(); 
+  // Decode url-encoded information in the db connection string
+  $url['user'] = urldecode($url['user']);
+  $url['pass'] = urldecode($url['pass']);
+  $url['host'] = urldecode($url['host']);
+  $url['path'] = urldecode($url['path']);
+
+  // Allow for non-standard Oracle port.
+  if (isset($url['port'])) {
+     $url['host'] = $url['host'] .':'. $url['port'];
+  }
+
+  // -- checkpoint 02 : extract charset from path
+  // $db_url = 'oracle://user:pass@host/SID/charset';
+  $tmp_path = explode('/', substr($url['path'], 1));
+  $url['charset'] = $tmp_path[1];
+  $url['path'] = "/" . $tmp_path[0];
+  // -- end 02
+  $string_db = '//'.$url['host'].'/'.substr($url['path'], 1);
+  
+  //TODO: investigate for the use of charset parameter.
+  //TODO: Currently, this requires that the $url['path'] value be 
+  //      set in the TNSNAMES.ora file on the local system. Investigate
+  //      how to specify server, port and DB Instance. 
+  
+  /*
+  Re: TODO above, using a connection string like this might work
+  $db="(DESCRIPTION =
+     (ADDRESS_LIST =
+         (ADDRESS =
+           (COMMUNITY = xxx)
+           (PROTOCOL = TCP)
+           (Host = xxx)
+           (Port = xxx)
+         )
+     )
+     (CONNECT_DATA = (SID = xxx)
+     )
+   )"; 
+   */
+
+// -- checkpoint 03
+//    Add connection charset parameter
+//    use string_db instead of substr
+//    as 'Can't find listenser before
+//  $connection = @oci_connect($url['user'], $url['pass'], substr($url['path'], 1));
+  if ($url['charset']) {
+    $connection = @oci_connect($url['user'], $url['pass'], $string_db, $url['charset']);
+  } else {
+    $connection = @oci_connect($url['user'], $url['pass'], $string_db);
+  }
+// -- end 03
+  
+  if (!$connection) {
+  	
+    drupal_maintenance_theme();
+    drupal_set_title('Unable to connect to database server');
+    $error = ocierror();
+    print theme('maintenance_page', '<p>This either means that the username and password information in your <code>settings.php</code> file is incorrect or we can\'t contact the Oracle database server. This could mean your hosting provider\'s database server is down.</p>
+<p>The Oracle error was: '. theme('placeholder', $error['message']) .'.</p>
+<p>Currently, the username is '. theme('placeholder', $url['user']) .' and the database server is '. theme('placeholder', $url['host']) .'.</p>
+<ul>
+  <li>Are you sure you have the correct username and password?</li>
+  <li>Are you sure that you have typed the correct hostname?</li>
+  <li>Are you sure that the database server is running?</li>
+</ul>
+<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>');
+    exit;
+  }  
+  
+  return $connection;
+}
+ /**
+ * Sanitize query adding "" around Oracle SQL reserved column names.
+ */
+
+function _db_reserved_words($part) {
+  $part = " " . $part . " "; //hack to get around the fact that the column name might be at the front or at the end of the string
+  $db_reserved_words = array ('access', 'comment', 'mode', 'session', 'uid');
+  foreach ($db_reserved_words as $word) {
+    $part = eregi_replace('([[:space:],\.\(<>\+-=!*])'.$word.'([[:space:],\.\)<>\+-=!*])','\\1"'.$word.'"\\2', $part);
+  }
+  return substr($part,1,-1);
+}
+
+  /**
+   *  _db_query_rewrite_select() : rewrite SELECT query quote reserved word and handle CLOB comparison
+   *  @param string query : SELECT query string
+   *  @param integer debug : debug mode ON/OFF to print message(OFF)
+   *  @return string : query string with reserved words quoted
+   */
+// Isolated function to rewrite select query
+// planned for INSERT INTO ... SELECT
+function _db_query_rewrite_select($query, $debug = 0) {
+  
+  global $active_db, $last_result, $_query_rc_result, $queries;
+
+  // Parsing SELECT query, because we need to manage CLOB and BLOBs in WHERE clause
+  // This is only for simple queries
+  // TODO: think of better $re to handle complex queries (JOINS)
+  	
+  if (strpos($query, 'JOIN') || strpos($query, 'ORDER') || strpos($query, 'GROUP') || strpos($query, 'LIKE') || !strpos($query, 'WHERE')) {
+
+    $newSQL = _db_reserved_words($query);
+    return $newSQL;
+
+  } else { 
+
+    //$re = "/select\\s*(.*)\\s*from\\s*(.*)\\s*where\\s*(.*)/si";  		
+    $re = "/\sfrom\s*(\w+)/si";
+    preg_match($re, $query, $tmpArr);		
+    $tablename = trim($tmpArr[1]);		
+    // -- checkpoint 04
+    //    for query select only constant
+    //    give it virtual table 'dual'
+    if (!$tablename) {
+      $query .= " FROM DUAL";
+    }
+    // -- end 04
+    
+    /*
+     * Determine whether or not each column is a LOB (CLOB or BLOB) and 
+     * substitute a bind variable. If the column list is not provided, 
+     * we'll need to obtain it from the DB.
+     */
+    //TODO: Augment this query with some sort of caching system, so it knows
+    //       which columns are LOBs without having to ask the DB every time.
+    $col_query = "SELECT column_name, data_type, column_id
+                FROM USER_TAB_COLUMNS
+                WHERE table_name = '" . strtoupper($tablename) . "'
+                ORDER BY column_id";
+	    
+    $col_result = oci_parse($active_db, $col_query);
+    oci_execute($col_result , OCI_DEFAULT);
+    oci_fetch_all($col_result, $ora_cols, 0, -1, OCI_ASSOC);
+	    	    	    
+    for ($i=0; $i<sizeof($ora_cols["DATA_TYPE"]); $i++) {
+      if ($ora_cols["DATA_TYPE"][$i] == 'CLOB') {
+    	$CLOB_vars[] = $ora_cols["COLUMN_NAME"][$i];
+      }
+    }
+	    
+    $newSQL = _db_reserved_words($query);
+    if (sizeof($CLOB_vars)) {
+      $CLOB_str = implode("|", $CLOB_vars);   
+      $sql = str_replace("\'", chr(0), $query);
+      $pattern = "/(" . $CLOB_str . ")\s*(=|!=)\s*('.*?')/si";
+      //$pattern = "/(" . $CLOB_str . ")\s*(=|!=)\s*('(?:\\'|[^'])*')/si";
+      $containerArr = array();
+      preg_match_all($pattern, $sql, $containerArr);
+      
+      for ($j=0; $j<sizeof($containerArr[0]); $j++) {
+        $sql = str_replace($containerArr[0][$j], " dbms_lob.instr(" . $containerArr[1][$j] . ", " . $containerArr[3][$j] . ") > 0 ", $sql);
+      }
+
+      $newSQL = str_replace(chr(0), "\'", $sql);
+      $newSQL = _db_reserved_words($newSQL);
+    }
+    return $newSQL;
+
+  }
+}
+
+// -- checkpoint 24: Parsing implementation
+// -- Try to handle queries without bucket '()'
+//    JOIN:   is in FROM part,
+//            seems can be handled in it.
+//    GROUP:  not tested
+// SELECT A FROM B WHERE C ORDER BY D
+function _regexp_select_easy($query) {
+  $hasWhere = 0;
+  $hasOrder = 0;
+  $hasIn = 0;
+  $argOrder = array();
+  $regexp_select = "/^select (.*) from (.*)";
+  $i = 3;
+  if (strpos($query, " WHERE ")) {
+    $hasWhere = 1;
+    $argOrder['where'] = $i;
+    $i++;
+    $regexp_select .= " where (.*)";
+    if (strpos($query, " IN ")) {
+      $hasIn = 1;
+      $argOrder['in'] = $i;
+      $i++;
+      $regexp_select .= " in (\(.*\))";
+    }
+  }
+  if (strpos($query, " ORDER ")) {
+    $hasOrder = 1;
+    $argOrder['order'] = $i;
+    $i++;
+    $regexp_select .= " order by (.*)";
+  }
+  $regexp_select .= "/Dsi";
+  preg_match($regexp_select, $query, $matches2);
+//  drupal_set_message($regexp_select);
+
+  if (isset($matches2[1]) && $matches2[1]) {
+    $returnSQL  = "SELECT "._db_reserved_words($matches2[1]);
+    $returnSQL .= " FROM "._db_reserved_words($matches2[2]);
+    if ($hasWhere) {
+      $returnSQL .= " WHERE "._db_reserved_words($matches2[($argOrder['where'])]);
+    }
+    if ($hasIn) {
+      $returnSQL .= " IN ".$matches2[($argOrder['in'])];
+    }
+    if ($hasOrder) {
+      $returnSQL .= " ORDER BY "._db_reserved_words($matches2[($argOrder['order'])]);
+    }
+  } else {
+    // not a query, just field names
+    $returnSQL = $query;
+  }
+  return $returnSQL;
+}
+// -- end 24
+
+// -- checkpoint 23: parsing query with recursive function
+//                    break bucket until no bucket.
+//                    at the same time do complete parsing to remaining SQL segment
+function _regexp_select_recur($query) {
+  $regexp_bucket = "/\((.*)\)/Dsi";
+  preg_match($regexp_bucket, $query, $matches);
+  if (isset($matches[1]) && $matches[1]) {
+//    drupal_set_message("Matches: ".$matches[1]);
+    $return_str = _regexp_select_recur($matches[1]);
+    // replace query in bucket with some string
+    // prevent re-parsing
+    $new_query = str_replace($matches[1],"a1", $query);
+
+    $new_query = _regexp_select_easy($new_query);
+
+    // restore the query
+    $return_query = str_replace("a1", $return_str, $new_query);
+    return $return_query;
+  } else {
+    // end of recursive: no bucket found
+    $return_query = _regexp_select_easy($query);
+
+    return $return_query;
+  }
+}
+// -- end 23
+
+/**
+ * Helper function for db_query().
+ */
+function _db_query($query, $debug = 0) {
+	global $counterS;
+        $counterS++;
+        $dbug = 0;
+        global $active_db, $last_result, $_query_rc_result, $queries;
+        $CLOB_vars = array();
+
+  if (variable_get('dev_query', 0)) {
+    list($usec, $sec) = explode(' ', microtime());
+    $timer = (float)$usec + (float)$sec;
+  }
+  
+  if (!isset($_query_rc_result)) {
+    $_query_rc_result = array();
+  }
+  
+  //Rewrite all INSERT/UPDATE statements to check and handle LOBs since Oracle
+  //  cannot handle them as just strings of text delimited by single quote 
+  //  marks (') once they go over 4000 charecters (common in Drupal).
+  if (eregi('^(INSERT INTO )', $query)) {
+    //Rewrite INSERT INTO statement
+    //$query = "INSERT INTO boxes (title, body, info, format) VALUES ('', '', 'a', 1)";
+    
+  	//echo "<br />------------------------------------<br />Step $counterS <br />";
+  	//echo $query . "<br />";
+    /* 
+     * Split statement into three groups - the table name, the field list 
+     * (if provided) and "VALUES" and the value list. Then, further split
+     * the column list and value/ list into arrays. 
+     */
+
+    // -- checkpoint 05 : Handle "INSERT INTO .. SELECT .. " query
+    //$query = "INSERT INTO node_data_field_cck0101
+    //          (vid, nid, field_cck0101_value)
+    //          SELECT vid, nid, field_cck0101_value 
+    //          FROM node_content_cck01";
+    // CCK: content_admin.inc
+    // TODO: do data type validation between INSERT fields and SELECT fields
+    
+    $re = "/[\s)]values\s*(\(.*\))/si";
+    preg_match($re, $query, $tmpArr);	
+    if (!trim($tmpArr[0])) {
+      //drupal_set_message("The INSERT query does not contain VALUES, function not yet DONE, checking is skipped");
+      $re = "/^insert into ([a-z0-9_\"]+)(?:\s*\((.*)\))? (select .*)$/Dsi";
+      preg_match($re, $query, $parts);
+
+      $tablename = _db_reserved_words($parts[1]);
+      $col_list = _db_reserved_words($parts[2]);
+      $val_list = _db_query_rewrite_select($parts[3]);
+
+      $query = "INSERT INTO " . $tablename . " (" . $col_list . ") " . $val_list;
+      $result = OCIParse($active_db, $query);
+      OCIExecute($result, OCI_DEFAULT) or die($query);
+      OCICommit($active_db);
+      return true;
+    }
+    // -- end 05
+
+    //$re = "/^insert into ([a-z0-9_\"]+)(?:\s*\((.*)\))? values \((.*)\)$/Dsi";
+    //$re = "/^insert into ([a-z0-9_\"]+)(?:\s*\((.*)\))? values\s+\((.*)\)$/Dsi";
+    // checkpoint 20 : break INSERT statement into parts
+    $re = "/^insert into ([a-zA-Z0-9_\"]+)\s+\((.*)\)\s+values\s+\((.*)\)/Dsi";
+    // -- end 20
+    
+    preg_match($re, $query, $parts);
+//    print_r($parts); echo "<br />";
+//  die();
+    $tablename = _db_reserved_words($parts[1]);
+    $col_list = _db_reserved_words($parts[2]);
+    $val_list = $parts[3];
+    $col_arr = explode(",",$col_list); //the column list is strictly delimited by ","
+    
+    //However, the value list is not strictly delimited by ",", use a regex to break it up
+    $re="/,(?=(?:[^']*'[^']*')*(?![^']*'))/";
+    $results=preg_split($re, trim($val_list));
+    $val_arr = preg_replace("/^\"(.*)\"$/","$1", $results);
+    
+    /*
+     * Determine whether or not each column is a LOB (CLOB or BLOB) and 
+     * substitute a bind variable. If the column list is not provided, 
+     * we'll need to obtain it from the DB.
+     */
+    //TODO: Augment this query with some sort of caching system, so it knows
+    //       which columns are LOBs without having to ask the DB every time.
+    $col_query = "select column_name, data_type, column_id
+                from USER_TAB_COLUMNS
+                where table_name = '" . strtoupper($tablename) . "'
+                order by column_id";
+    $col_result = ociparse($active_db, $col_query);
+    OCIExecute($col_result , OCI_DEFAULT);
+    ocifetchstatement($col_result, $ora_cols, 0, -1, OCI_ASSOC);
+    
+    // Check + Build $col_arr
+    if (! is_array($col_arr)) {
+      //populate $col_list
+      $col_arr = $ora_cols['COLUMN_NAME'];
+      for($i=0; $i < count($col_arr);$i++) {
+        // If column name is in lower case, it needs to have "" around it since its a reserved word
+        if ($col_arr[$i] == strtolower($col_arr[$i])){
+          $col_arr[$i] = "\"" . $col_arr[$i] . "\"";
+        }
+      }
+      array_change_key_case($col_arr, CASE_LOWER);
+    }
+    
+    //Clean $col_arr and $val_arr
+    foreach ($col_arr as $key => $value) {
+      $col_arr[$key] = trim($value);
+    }
+    foreach ($val_arr as $key => $value) {
+      $val_arr[$key] = trim($value);
+    }
+    
+    // $lob_cols[n] => [0] Column Name, [1] Value to be stored
+    $lob_cols = array();
+    
+    // Check for CLOB/BLOB
+    for($i=0; $i < count($col_arr);$i++) {
+      $query_col = trim(str_replace("\"", "", strtolower($col_arr[$i])));
+      for($j=0; $j < count($ora_cols['COLUMN_NAME']);$j++) {
+        $ora_col = trim(strtolower($ora_cols['COLUMN_NAME'][$j]));  
+        if ($query_col == $ora_col) {
+          if ($ora_cols['DATA_TYPE'][$j] == "CLOB" || $ora_cols['DATA_TYPE'][$j] == "BLOB") {
+            // Replace that value with a bind variable if the data is not ''
+            if ($val_arr[$i] != "''") {
+              $lob_cols[] = array($col_arr[$i], $val_arr[$i]);
+            } 
+            $val_arr[$i] = "EMPTY_" . $ora_cols['DATA_TYPE'][$j] . "()";
+          }
+          break;
+        }
+      }
+    }
+    //Rebuild Query
+    $newquery = "INSERT INTO " . $tablename . " (" . implode(",", $col_arr) . ") ";
+    $newquery .= "VALUES (" .  implode(",", $val_arr) . ")";
+
+    //Build RETURNING string
+    if (count($lob_cols) > 0) {
+      $lobcollist = null;
+      $bindvarlist = null;
+      for($i=0;$i < count($lob_cols);$i++) {
+        $lobcollist .=  "," . $lob_cols[$i][0];
+        $bindvarlist .= "," . ":" . $lob_cols[$i][0];
+      }
+      $lobcollist = substr($lobcollist,1);
+      $bindvarlist = substr($bindvarlist,1);
+      $newquery .= " RETURNING " . $lobcollist . " INTO " . $bindvarlist;
+    }
+    
+    $result = OCIParse($active_db, $newquery);
+    $clobs = array();
+    
+    //Create bind variables
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = ocinewdescriptor($active_db, OCI_D_LOB);
+        ocibindbyname($result, ':' . $lob_cols[$i][0], $clob, -1, OCI_B_CLOB);
+        $clobs[] = $clob;
+      }
+    }
+    
+    OCIExecute($result, OCI_DEFAULT) or die($newquery);
+    
+    //Bind CLOB data
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = $clobs[$i];
+        $data = $lob_cols[$i][1];
+        //Strip ' from the beginning and end of the string (since they'll be 
+        //  interpreted literally and not as string encapsulators)
+        if (substr($data,0,1) == "'" && substr($data,-1,1) == "'") {
+          $data = substr($data,1,-1);
+          // -- checkpoint 06 : remove duplicated quote for further steps
+          $tmp_str = str_replace("''", "'", $data);
+          $data = $tmp_str;
+          // -- end 06
+        }
+        // In order to update the table, a row must have been found in the where clause!
+        if (ocirowcount($result) > 0) {
+          $clob->save($data);
+        }
+      }
+    }
+    
+    OCICommit($active_db);
+    
+    //Free CLOBs
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = $clobs[$i];
+        $clob->free();
+      }
+    }
+  
+  } // end (eregi('^(INSERT INTO )', $query))
+  else if (eregi('^(UPDATE )', $query)) {
+    //Rewrite UPDATE statement
+    
+    /* 
+     * Split statement into three groups - the table name, the field and 
+     * value list, and the WHERE clause (if provided). Then, further split
+     * the column list and value list into arrays. 
+     */
+    $re = "/update\\s*([a-z0-9_\"]+)\\s*set\\s*(.*)\\s*where\\s*(.*)/si";
+    preg_match($re, $query, $parts);
+    $tablename = _db_reserved_words($parts[1]);
+    $item_list = $parts[2];
+    $whereclause = _db_reserved_words($parts[3]);
+    
+    $re="/,(?=(?:[^']*'[^']*')*(?![^']*'))/";
+    $results=preg_split($re, trim($item_list));
+    $item_arr = preg_replace("/^\"(.*)\"$/","$1", $results);
+
+    //Split item array into column and value arrays
+    $col_arr = array();
+    $val_arr = array();
+    
+    for($i=0; $i < count($item_arr);$i++) {
+      $pos = strpos($item_arr[$i], "=");
+      $col_arr[] = trim(substr($item_arr[$i],0,$pos-1));
+      $val_arr[] = trim(substr($item_arr[$i],$pos+1));
+    }
+    
+    $col_arr = explode(",",_db_reserved_words(implode(",", $col_arr)));
+    
+    /*
+     * Determine whether or not each column is a LOB (CLOB or BLOB) and 
+     * substitute a bind variable. If the column list is not provided, 
+     * we'll need to obtain it from the DB.
+     */
+    //TODO: Augment this query with some sort of caching system, so it knows
+    //       which columns are LOBs without having to ask the DB every time.
+    $col_query = "select column_name, data_type, column_id
+                from USER_TAB_COLUMNS
+                where table_name = '" . strtoupper($tablename) . "'
+                order by column_id";
+    $col_result = OCIParse($active_db, $col_query);
+    OCIExecute($col_result , OCI_DEFAULT);
+    ocifetchstatement($col_result, $ora_cols, 0, -1, OCI_ASSOC);
+    
+    // Check + Build $col_arr
+    if (! is_array($col_arr)) {
+      //populate $col_list
+      $col_arr = $ora_cols['COLUMN_NAME'];
+      for($i=0; $i < count($col_arr);$i++) {
+        // If column name is in lower case, it needs to have "" around it since its a reserved word
+        if ($col_arr[$i] == strtolower($col_arr[$i])){
+          $col_arr[$i] = "\"" . $col_arr[$i] . "\"";
+        }
+      }
+      array_change_key_case($col_arr, CASE_LOWER);
+    }
+    
+    //Clean $col_arr and $val_arr
+    foreach ($col_arr as $key => $value) {
+      $col_arr[$key] = trim($value);
+    }
+    foreach ($val_arr as $key => $value) {
+      $val_arr[$key] = trim($value);
+    }
+    
+    //array of arrays, the items below are defined as... 
+    // $lob_cols[n] => [0] Column Name, [1] Value to be stored
+    $lob_cols = array();
+    
+    // Check for CLOB/BLOB
+    for($i=0; $i < count($col_arr);$i++) {
+      $query_col = trim(str_replace("\"", "", strtolower($col_arr[$i])));
+      for($j=0; $j < count($ora_cols['COLUMN_NAME']);$j++) {
+        $ora_col = trim(strtolower($ora_cols['COLUMN_NAME'][$j]));  
+        if ($query_col == $ora_col) {
+          if ($ora_cols['DATA_TYPE'][$j] == "CLOB" || $ora_cols['DATA_TYPE'][$j] == "BLOB") {
+            // Replace that value with a bind variable if the data is not ''
+            if ($val_arr[$i] != "''") {
+              $lob_cols[] = array($col_arr[$i], $val_arr[$i]);
+            }
+            $val_arr[$i] = "EMPTY_" . $ora_cols['DATA_TYPE'][$j] . "()";
+          }
+          break;
+        }
+      }
+    }
+    
+    //Rebuild Query
+    $newquery = "UPDATE " . $tablename . " SET ";
+    for($i=0; $i < count($col_arr); $i++) {
+      $newquery .= $col_arr[$i] . " = " . $val_arr[$i];
+      if ($i < (count($col_arr)-1)) $newquery .= ", ";
+    }
+    if ($whereclause != "") {
+      $newquery .= " where " . $whereclause;
+    }
+    
+    //Build RETURNING string
+    if (count($lob_cols) > 0) {
+      $lobcollist = null;
+      $bindvarlist = null;
+      for($i=0;$i < count($lob_cols);$i++) {
+        $lobcollist .=  "," . $lob_cols[$i][0];
+        $bindvarlist .= "," . ":" . $lob_cols[$i][0];
+      }
+      $lobcollist = substr($lobcollist,1);
+      $bindvarlist = substr($bindvarlist,1);
+      $newquery .= " RETURNING " . $lobcollist . " INTO " . $bindvarlist;
+    }
+        
+    $result = OCIParse($active_db, $newquery);
+    $clobs = array();
+    
+    //Create bind variables
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = ocinewdescriptor($active_db, OCI_D_LOB);
+        ocibindbyname($result, ':' . $lob_cols[$i][0], $clob, -1, OCI_B_CLOB);
+        $clobs[] = $clob;
+      }
+    }
+    OCIExecute($result, OCI_DEFAULT) or die($newquery);
+    
+    //Bind CLOB data
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = $clobs[$i];
+        $data = $lob_cols[$i][1];
+        //Strip ' from the beginning and end of the string (since they'll be 
+        //  interpreted literally and not as string encapsulators)
+        if (substr($data,0,1) == "'" && substr($data,-1,1) == "'") {
+          $data = substr($data,1,-1);
+          // -- checkpoint 07 : remove duplicated quote for further steps
+          $tmp_str = str_replace("''", "'", $data);
+          $data = $tmp_str;
+          // -- end 07
+        }
+
+        // In order to update the table, a row must have been found in the where clause!
+        if (ocirowcount($result) > 0) {
+          $clob->save($data);
+        }
+      }
+    }
+    
+    OCICommit($active_db);
+    
+    //Free CLOBs
+    if (count($lob_cols) > 0) {
+      for($i=0;$i < count($lob_cols);$i++) {
+        $clob = $clobs[$i];
+        $clob->free();
+      }
+    }
+  } // end (eregi('^(UPDATE )', $query))
+  else if (ereg('^(SELECT DISTINCT)', $query)) {
+    // Oracle cannot SELECT DISTINCT(clob_field) ... 
+    $query = str_replace("DISTINCT", "", $query);
+    $query = _db_reserved_words($query);
+    $result = OCIParse($active_db, $query);
+    OCIExecute($result, OCI_DEFAULT) or die($query);
+    //Re-execute query for when the app requests a rowcount (so it wont disturb the cursor of the real result set)
+    $result_rc = OCIParse($active_db, $query);
+    OCIExecute($result_rc, OCI_DEFAULT) or die($query);
+    // -- checkpoint 08: $_query_rc_result stores numrow number instead
+//    $_query_rc_result[$result] = $result_rc;
+    db_set_num_rows($result, $result_rc);
+  }
+  else if (ereg('^(LOCK TABLE)', $query)) {
+//    drupal_set_message("QUERY(LOCK): ". $query);
+    //Lock Table has a keyword thats in the reserved word list, we don't want it in ""s
+    //echo $query . "<br/>";
+
+    $re = "/^(lock table\s+)([a-z0-9_]+)(\\s+.*)$/si";
+    preg_match($re, $query, $parts);
+    $parts[2] = _db_reserved_words($parts[2]);
+    array_shift($parts); //shift off the entire string
+    $query = implode("",$parts);
+    $result = OCIParse($active_db, $query);
+    OCIExecute($result, OCI_DEFAULT);
+  }
+  else if (ereg('^(SELECT)', $query)) {
+    //Limit double query for row count to SELECT statements
+    //echo $query . "<br/>";
+    //$query = _db_reserved_words($query);
+    
+    	// Parsing SELECT query, because we need to manage CLOB and BLOBs in WHERE clause
+  	// This is only for simple queries
+  	// TODO: think of better $re to handle complex queries (JOINS)
+  	
+//            drupal_set_message("Unvised: ".$query);
+  	if (strpos($query, 'JOIN') || strpos($query, 'ORDER') || strpos($query, 'GROUP') || strpos($query, 'LIKE') || !strpos($query, 'WHERE')) {
+          //$query = _db_reserved_words($query);
+          $query = _regexp_select_recur($query);
+//            drupal_set_message("Revised: ".$query);
+            $result = OCIParse($active_db, $query);
+	    OCIExecute($result, OCI_DEFAULT);
+	    //Re-execute query for when the app requests a rowcount (so it wont disturb the cursor of the real result set)
+	    $result_rc = OCIParse($active_db, $query);
+	    OCIExecute($result_rc, OCI_DEFAULT);
+            // -- checkpoint 09: $_query_rc_result stores numrow number instead
+//            $_query_rc_result[$result] = $result_rc;
+            db_set_num_rows($result, $result_rc);
+            // -- end 09
+  	}
+  	else { 
+  	    //$re = "/select\\s*(.*)\\s*from\\s*(.*)\\s*where\\s*(.*)/si";  		
+            $re = "/\sfrom\s*(\w+)/si";
+            preg_match($re, $query, $tmpArr);		
+            $tablename = trim($tmpArr[1]);		
+            // -- checkpoint 10
+            if (!$tablename) {
+              $query .= " FROM DUAL";
+            }
+            // -- end 10
+
+            /*
+	     * Determine whether or not each column is a LOB (CLOB or BLOB) and 
+	     * substitute a bind variable. If the column list is not provided, 
+	     * we'll need to obtain it from the DB.
+	     */
+	    //TODO: Augment this query with some sort of caching system, so it knows
+	    //       which columns are LOBs without having to ask the DB every time.
+	    $col_query = "select column_name, data_type, column_id
+	                from USER_TAB_COLUMNS
+	                where table_name = '" . strtoupper($tablename) . "'
+	                order by column_id";
+            
+	    $col_result = oci_parse($active_db, $col_query);
+	    oci_execute($col_result , OCI_DEFAULT);
+	    oci_fetch_all($col_result, $ora_cols, 0, -1, OCI_ASSOC);
+	    	    	    
+	    for ($i=0; $i<sizeof($ora_cols["DATA_TYPE"]); $i++) {
+	    	if ($ora_cols["DATA_TYPE"][$i] == 'CLOB') {
+	    		$CLOB_vars[] = $ora_cols["COLUMN_NAME"][$i];
+	    	}
+	    }
+
+            // -- checkpoint 22: write deeper parsing for nested SELECT query
+            //$newSQL = _db_reserved_words($query);
+            $newSQL = _regexp_select_recur($query);
+            // end 22
+	    if (sizeof($CLOB_vars)) {
+		    $CLOB_str = implode("|", $CLOB_vars);   
+		    $sql = str_replace("\'", chr(0), $query);
+		    $pattern = "/(" . $CLOB_str . ")\s*(=|!=)\s*('.*?')/si";
+		    //$pattern = "/(" . $CLOB_str . ")\s*(=|!=)\s*('(?:\\'|[^'])*')/si";
+		    $containerArr = array();
+			preg_match_all($pattern, $sql, $containerArr);
+			
+			for ($j=0; $j<sizeof($containerArr[0]); $j++) {
+				$sql = str_replace($containerArr[0][$j], " dbms_lob.instr(" . $containerArr[1][$j] . ", " . $containerArr[3][$j] . ") > 0 ", $sql);
+			}
+			$newSQL = str_replace(chr(0), "\'", $sql);
+			$newSQL = _db_reserved_words($newSQL);
+            }
+            $result = OCIParse($active_db, $newSQL) or die($newSQL);
+            OCIExecute($result, OCI_DEFAULT) or die($newSQL);	    	
+	    //Re-execute query for when the app requests a rowcount (so it wont disturb the cursor of the real result set)
+	    $result_rc = OCIParse($active_db, $newSQL);
+	    OCIExecute($result_rc, OCI_DEFAULT);
+            // -- checkpoint 11: $_query_rc_result stores numrow number instead
+//            $_query_rc_result[$result] = $result_rc;
+            db_set_num_rows($result, $result_rc);
+            // -- end 11
+  	}
+  }
+  else {
+    $query = _db_reserved_words($query);
+    $result = OCIParse($active_db, $query);
+    OCIExecute($result, OCI_DEFAULT) or die($query);
+  }
+  
+  $last_result = $result;
+  
+  $error = ocierror($result);
+
+  if (variable_get('dev_query', 0)) {
+    $bt = debug_backtrace();
+    $query = $bt[2]['function'] . "\n" . $query;
+    list($usec, $sec) = explode(' ', microtime());
+    $stop = (float)$usec + (float)$sec;
+    $diff = $stop - $timer;
+    $queries[] = array($query, $diff);
+  }
+
+  if ($debug) {
+    print '<p>query: '. $query .'<br />error:'. $error['message'] .'</p>';
+  }
+
+  if ($last_result !== FALSE) {
+    return $result;
+  }
+  else {
+    trigger_error(check_plain($error['message']."\nquery: ". $error['sqltext']), E_USER_WARNING);
+    return FALSE;
+  }
+}
+
+
+/*
+// For debugging purposes only
+function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
+{
+  echo "<div style=\"border:1px solid black\">";
+  echo "ERR: ";
+  echo $errmsg . " | ";
+  echo $filename . " | ";
+  echo $errmsg . " | ";
+  echo $linenum . " | ";
+  print_r($vars);
+  echo "</div>";
+}
+*/
+
+
+/**
+ * Fetch one result row from the previous query as an object.
+ *
+ * @param $result
+ *   A database query result resource, as returned from db_query().
+ * @return
+ *   An object representing the next row of the result. The attributes of this
+ *   object are the table fields selected by the query.
+ *   
+ * NOTE: - Oracle returns table fields in uppercase, so we convert them into lowercase.
+ *       - Oracle will return the " marks around reserved column names - remove then or 
+ *         it will break other items down the line. 
+ *       - Oracle Clob are Objects, so we read their value.
+ *       - To maintain compatibility with PHP4 as well as PHP5, OCI_FETCH_OBJECT is 
+ *         not used (it does not exist in PHP4), instead OCIFETCHINTO is used.
+ */
+function db_fetch_object($result, $debug = 0) {
+  
+  if ($result) {
+    $new_obj = null;
+    //ocifetchinto($result, $arr, OCI_ASSOC+OCI_RETURN_NULLS+OCI_RETURN_LOBS); // To return LOBs as strings of text automatically
+    @ocifetchinto($result, $arr, OCI_ASSOC+OCI_RETURN_NULLS);
+    if ($myerr = ocierror($result)) {
+      // -- checkpoint 21: Use soft alert...
+      //print_r($myerr);
+      if ($debug)
+        drupal_set_message($myerr['message']."<br />".$myerr['sqltext']);
+    }
+    /*if ($debug) {
+      print_r($arr);
+    }*/
+    if (is_array($arr)) {
+      foreach ($arr as $key => $value) {
+        //if ($debug) print 'key:'.$key.'-value:'.$value.'<br>';
+        $lower_key = str_replace("\"","",strtolower($key));
+        
+        //Return LOB value.
+        if (is_object($value)) {
+          //TODO: use OCI-Lob->load instead ?
+          $new_obj->$lower_key = $value->load();
+          /*if ($debug) {
+            print 'name:'.$lower_key.'-value:'.$value->read($value->size()).'<br/>';
+          }*/
+        }
+        else {
+          $new_obj->$lower_key = $value;
+          ///if ($debug) print 'key:'.$lower_key.'-value:'.$value.'<br>';
+        }
+      }
+    }
+    /*if ($debug) {
+      print_r($new_obj);
+    }*/
+    return $new_obj;
+  }
+}
+
+/**
+ * Fetch one result row from the previous query as an array.
+ *
+ * @param $result
+ *   A database query result resource, as returned from db_query().
+ * @return
+ *   An associative array representing the next row of the result. The keys of
+ *   this object are the names of the table fields selected by the query, and
+ *   the values are the field values for this result row.
+ * 
+ * NOTE: - Oracle returns table fields in uppercase, so we convert them into lowercase.
+ */
+function db_fetch_array($result) {
+  if ($result) { 
+    ocifetchinto($result, $array_result, OCI_ASSOC + OCI_RETURN_NULLS + OCI_RETURN_LOBS);
+    if (is_array($array_result)) {
+      return array_change_key_case($array_result, CASE_LOWER);
+    }
+    else {
+      return FALSE;
+    }
+  }
+}
+
+/**
+ * Determine how many result rows were found by the preceding query.
+ *
+ * @param $result
+ *   A database query result resource, as returned from db_query().
+ * @return
+ *   The number of result rows.
+ * 
+ * NOTE: ocirowcount doesn't return the number of lines selected in a SELECT query. It
+ *       cannot be used here. Further, there is no way to implement this function cleanly 
+ *       with an Oracle DB. Oracle stores its query results on the server side, therefore
+ *       the client does not have to download the entire result set when the query is
+ *       executed. However, since the client can not see the entire result set, it cant 
+ *       (from within the client only) determine how many rows were selected. 
+ *
+ *       Unfortunately, the cleanest possible way I could figure out was to have two
+ *       result resources for SELECT statements, one for retrieving data and the other 
+ *       for counting rows. The alternate resource is set above in _db_query. 
+ */
+/*
+function db_num_rows($result) {
+  global $_query_rc_result;
+  $result_rc = $_query_rc_result[$result];
+  if ($result_rc) {
+    // Reset result cursor and count
+    ociexecute($result_rc, OCI_COMMIT_ON_SUCCESS);
+    ocifetchstatement($result_rc,$rows, 0, 1, OCI_FETCHSTATEMENT_BY_ROW);
+    $num_rows = count($rows);
+    return $num_rows;
+  }
+  else {
+    //Just test $result with OCIROWCOUNT (this is appropriate for INSERT/UPDATE/DELETE statements)
+    return ocirowcount($result);
+  }
+}
+ */
+
+/*  db_set_num_rows($result, $result_rc, $mode = 0)
+ *    store number of result row in global array, let db_num_rows() to query
+ *  @param $result
+ *    A database query result resource, as returned from OCIParse().
+ *    Just for array indexing
+ *  @param $result_rc
+ *    A database query result resource, returned from OCIParse()
+ *    The result resource to be counted
+ *  @param $mode
+ *    mode 0 : For SELECT statement
+ *    mode x : For INSERT/UPDATE/DELETE (not used, just placed)
+ *
+ *  NOTE: As the previous version store the entire resource into array,
+ *        in some heavy query page(?q=admin/build/menu)
+ *        it exceeds the limit of maximum cursor in Oracle.
+ *        Instead of adjusting the limit,
+ *        here just store the num_rows of each query,
+ *        instead of the resource itself
+ */
+  
+// -- checkpoint 12 : "helper" function for db_num_rows()
+function db_set_num_rows($result, $result_rc, $mode = 0) {
+  global $_query_rc_result;
+  if (!$mode) {
+    // Reset result cursor and count
+    ociexecute($result_rc, OCI_COMMIT_ON_SUCCESS);
+    // Simply use OCIFetchStatement() to get num_rows
+    $num_rows = OCIFetchStatement($result_rc, $rows);
+//    ocifetchstatement($result_rc, $rows, 0, 1, OCI_FETCHSTATEMENT_BY_ROW);
+//    $num_rows = count($rows);
+    $_query_rc_result[$result] = $num_rows;
+    return $num_rows;
+  } else {
+    //Just test $result with OCIROWCOUNT (this is appropriate for INSERT/UPDATE/DELETE statements)
+    $num_rows = ocirowcount($result_rc);
+    $_query_rc_result[$result] = $num_rows;
+    return $num_rows;
+  }
+}
+// -- end 12
+
+// -- checkpoint 13 : Re-implement num_rows counting
+function db_num_rows($result) {
+  global $_query_rc_result;
+  $num_rows = $_query_rc_result[$result];
+  if ($num_rows) {
+    //-- checkpoint :  numrow for SELECT query is already stored in global array 
+    //                instead of storing resultset
+    return $num_rows;
+  }
+  else {
+    //Just test $result with OCIROWCOUNT (this is appropriate for INSERT/UPDATE/DELETE statements)
+    return ocirowcount($result);
+  }
+}
+// -- end 13
+
+
+/**
+ * Return an individual result field from the previous query.
+ *
+ * Only use this function if exactly one field is being selected; otherwise,
+ * use db_fetch_object() or db_fetch_array().
+ *
+ * @param $result
+ *   A database query result resource, as returned from db_query().
+ * @param $row
+ *   The index of the row whose result is needed.
+ * @return
+ *   The resulting field.
+ */
+function db_result($result, $row = 0) {
+    //First we have to fetch the first row then we return the first column.
+    //TODO: validate the number of rows ? This would generate problems for
+    //      db_next_id query as we need to run query one time to get the number
+    //      of rows, and then run it a second time to get the result, so we will
+    //      "jumped" some id.
+//  while ($row = db_fetch_object($result)) {
+//    print_r($row);
+  //  }
+  // checkpoint 17: ocifetch only fetch the resource link of CLOB
+  //                Use OCIFetchInto to get content instead 
+  //ocifetch($result);
+  //  return ociresult($result, 1);
+  if (OCIFetchInto($result, $result_row, OCI_NUM+OCI_RETURN_LOBS)) {
+    //var_dump($row);
+    return $result_row[0];
+  }
+    return False;
+}
+
+/**
+ * Determine whether the previous query caused an error.
+ */
+function db_error() {
+  $error = ocierror();
+  return $error['message'];
+}
+
+/**
+ * Return a new unique ID in the given sequence.
+ *
+ * For compatibility reasons, Drupal does not use auto-numbered fields in its
+ * database tables. Instead, this function is used to return a new unique ID
+ * of the type requested. With the Oracle DB implementation, all sequences 
+ * must be created at the time of Oracle scema creation. 
+ */
+function db_next_id($name) {
+  global $active_db;
+  // checkpoint 18: cant use db_query(),
+  //                seq num additionally +2 for each call..
+  //                not know the reason
+//  $id = db_result(db_query("SELECT %s_seq.nextval FROM DUAL", db_prefix_tables($name)));
+  $name = db_prefix_tables($name);
+  $result = OCIParse($active_db, "SELECT ".$name."_seq.nextval FROM DUAL");
+  OCIExecute($result, OCI_DEFAULT);
+  $id = db_result($result);
+  return $id;
+}
+
+/**
+ * Determine the number of rows changed by the preceding query.
+ */
+function db_affected_rows() {
+  global $last_result;
+  return ocirowcount($last_result);
+}
+
+/**
+ * Runs a limited-range query in the active database.
+ *
+ * Use this as a substitute for db_query() when a subset of the query is to be
+ * returned.
+ * User-supplied arguments to the query should be passed in as separate parameters
+ * so that they can be properly escaped to avoid SQL injection attacks.
+ *
+ * Note that if you need to know how many results were returned, you should do
+ * a SELECT COUNT(*) on the temporary table afterwards. db_num_rows() and
+ * db_affected_rows() do not give consistent result across different database
+ * types in this case.
+ *
+ * @param $query
+ *   A string containing an SQL query.
+ * @param ...
+ *   A variable number of arguments which are substituted into the query
+ *   using printf() syntax. The query arguments can be enclosed in one
+ *   array instead.
+ *   Valid %-modifiers are: %s, %d, %f, %b (binary data, do not enclose
+ *   in '') and %%.
+ *
+ *   NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
+ *   and TRUE values to decimal 1.
+ *
+ * @param $from
+ *   The first result row to return.
+ * @param $count
+ *   The maximum number of result rows to return.
+ * @return
+ *   A database query result resource, or FALSE if the query was not executed
+ *   correctly.
+ */
+function db_query_range($query) {
+  $args = func_get_args();
+  $count = (int) array_pop($args);
+  $from = (int) array_pop($args);
+  array_shift($args);
+
+  $query = db_prefix_tables($query);
+  if (isset($args[0]) and is_array($args[0])) { // 'All arguments in one array' syntax
+    $args = $args[0];
+  }
+  _db_query_callback($args, TRUE);
+  $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query);
+  $query = 'SELECT * FROM (SELECT sub.*, rownum AS line FROM ('. $query .') sub) WHERE line BETWEEN '. ($from + 1) .' AND '. ($from + $count);
+  return _db_query($query);
+}
+
+/**
+ * Runs a SELECT query and stores its results in a temporary table.
+ *
+ * Use this as a substitute for db_query() when the results need to stored
+ * in a temporary table. Temporary tables exist for the duration of the page
+ * request.
+ * User-supplied arguments to the query should be passed in as separate parameters
+ * so that they can be properly escaped to avoid SQL injection attacks.
+ *
+ * Note that if you need to know how many results were returned, you should do
+ * a SELECT COUNT(*) on the temporary table afterwards. db_num_rows() and
+ * db_affected_rows() do not give consistent result across different database
+ * types in this case.
+ *
+ * @param $query
+ *   A string containing a normal SELECT SQL query.
+ * @param ...
+ *   A variable number of arguments which are substituted into the query
+ *   using printf() syntax. The query arguments can be enclosed in one
+ *   array instead.
+ *   Valid %-modifiers are: %s, %d, %f, %b (binary data, do not enclose
+ *   in '') and %%.
+ *
+ *   NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
+ *   and TRUE values to decimal 1.
+ *
+ * @param $table
+ *   The name of the temporary table to select into. This name will not be
+ *   prefixed as there is no risk of collision.
+ * @return
+ *   A database query result resource, or FALSE if the query was not executed
+ *   correctly.
+ */
+function db_query_temporary($query) {
+  $args = func_get_args();
+  $tablename = array_pop($args);
+  array_shift($args);
+  _check_table_existance($tablename);
+  $query = preg_replace('/^SELECT/i', 'CREATE GLOBAL TEMPORARY TABLE '. $tablename .' ON COMMIT PRESERVE ROWS AS SELECT ', db_prefix_tables($query));
+  
+  if (isset($args[0]) and is_array($args[0])) { // 'All arguments in one array' syntax
+    $args = $args[0];
+  }
+  _db_query_callback($args, TRUE);
+  $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query);
+  return _db_query($query);
+}
+
+/**
+ * Returns a properly formatted Binary Large OBject value.
+ *
+ * @param $data
+ *   Data to encode.
+ * @return
+ *  Encoded data.
+ */
+function db_encode_blob($data) {
+  //No processing is needed here, since LOBs in Oracle are input via LOB->Save() and 
+  // dont need any escaping of charecters like \ or '
+  // -- checkpoint 14: Move the modification from
+  //            database.inc to here
+  //            keep database.inc original
+//  return "'" . $data . "'";
+  return "'" . db_escape_string($data) . "'";
+  // -- end 11
+}
+
+/**
+ * Returns text from a Binary Large Object value.
+ *
+ * @param $data
+ *   Data to decode.
+ * @return
+ *  Decoded data.
+ */
+function db_decode_blob($data) {
+  //No processing is needed here, since LOBs in Oracle are read via LOB->Load()
+  return $data;
+}
+
+/**
+ * Prepare user input for use in a database query, preventing SQL injection attacks.
+ */
+function db_escape_string($text) {
+  // Replace any single ' with two ' 
+  return str_replace("'", "''",$text);
+}
+
+/**
+ * Lock a table.
+ */
+function db_lock_table($table) {
+  //TODO: should we put a NOWAIT clause ?
+  db_query('LOCK TABLE {%s} IN EXCLUSIVE MODE', $table);
+}
+
+/**
+ * Unlock all locked tables.
+ */
+function db_unlock_tables() {
+  db_query('COMMIT');
+}
+
+/**
+ * Checks if table exists and if so, drops it
+ */
+function _check_table_existance($tableName) {
+	$tableName = strtoupper($tableName);
+	$sql = 'SELECT table_name FROM user_tables WHERE table_name = \'' . $tableName . '\' ';
+	$result = db_query($sql);
+	$check = db_fetch_object($result);
+	if ($check->table_name == $tableName) {
+		$sql = 'DROP TABLE ' . $tableName;
+		_db_query($sql);
+	}
+}
+
+// -- checkpoint 15 : Oracle version
+/**
+ * Check if a table exists.
+ */
+function db_table_exists($table) {
+  return db_num_rows(db_query("SELECT table_name FROM user_tables WHERE table_name LIKE UPPER('{" . db_escape_table($table) . "}')"));
+}
+// -- end 15
+
+// -- checkpoint 19 : drupal 6 func
+/**
+ * Check if a column exists in the given table.
+ */
+function db_column_exists($table, $column) {
+  return db_num_rows(db_query("SELECT column_name FROM user_tab_cols WHERE table_name LIKE UPPER('{". db_escape_table($table) ."}') AND column_name LIKE UPPER(TRIM('$column'))"));
+}
+// -- end 19
+
+// -- checkpoint 16 : Just copy the func from MySQL
+/**
+ * Wraps the given table.field entry with a DISTINCT(). The wrapper is added to
+ * the SELECT list entry of the given query and the resulting query is returned.
+ * This function only applies the wrapper if a DISTINCT doesn't already exist in
+ * the query.
+ *
+ * @param $table Table containing the field to set as DISTINCT
+ * @param $field Field to set as DISTINCT
+ * @param $query Query to apply the wrapper to
+ * @return SQL query with the DISTINCT wrapper surrounding the given table.field.
+ */
+function db_distinct_field($table, $field, $query) {
+  $field_to_select = 'DISTINCT('. $table .'.'. $field .')';
+  // (?<!text) is a negative look-behind (no need to rewrite queries that already use DISTINCT).
+  return preg_replace('/(SELECT.*)(?:'. $table .'\.|\s)(?<!DISTINCT\()(?<!DISTINCT\('. $table .'\.)'. $field .'(.*FROM )/AUsi', '\1 '. $field_to_select .'\2', $query);
+}
+// -- end 16
+
+/**
+ * @} End of "ingroup database".
+ */
+
+
+
+
+
diff -urN drupal-6.x-dev/modules/aggregator/aggregator.module drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/aggregator/aggregator.module
--- drupal-6.x-dev/modules/aggregator/aggregator.module	2007-05-14 16:43:44.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/aggregator/aggregator.module	2007-05-14 16:40:41.000000000 +0800
@@ -996,7 +996,10 @@
 }
 
 function aggregator_view() {
-  $result = db_query('SELECT f.*, COUNT(i.iid) AS items FROM {aggregator_feed} f LEFT JOIN {aggregator_item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.description, f.etag, f.modified, f.image, f.block ORDER BY f.title');
+  // -- checkpoint 01: GROUP BY error, no LOB item
+  $result = db_query('SELECT f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.etag, f.modified, f.block, COUNT(i.iid) AS items FROM {aggregator_feed} f LEFT JOIN {aggregator_item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.etag, f.modified, f.block ORDER BY f.title');
+//  $result = db_query('SELECT f.*, COUNT(i.iid) AS items FROM {aggregator_feed} f LEFT JOIN {aggregator_item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.description, f.etag, f.modified, f.image, f.block ORDER BY f.title');
+  // -- end 01
 
   $output = '<h3>'. t('Feed overview') .'</h3>';
 
diff -urN drupal-6.x-dev/modules/block/block.module drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/block/block.module
--- drupal-6.x-dev/modules/block/block.module	2007-05-14 16:43:44.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/block/block.module	2007-05-14 16:40:42.000000000 +0800
@@ -295,7 +295,13 @@
 function block_admin_display_submit($form_id, $form_values) {
   foreach ($form_values as $block) {
     $block['status'] = $block['region'] != BLOCK_REGION_NONE;
-    $block['region'] = $block['status'] ? $block['region'] : '';
+    // -- checkpoint 01: need a 'left' for Oracle query
+    if ($GLOBALS['db_type'] == 'oracle') {
+      $block['region'] = $block['status'] ? $block['region'] : 'left';
+    } else {
+      $block['region'] = $block['status'] ? $block['region'] : '';
+    }
+    // -- end 01
     db_query("UPDATE {blocks} SET status = %d, weight = %d, region = '%s', throttle = %d WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $block['status'], $block['weight'], $block['region'], $block['throttle'], $block['module'], $block['delta'], $block['theme']);
   }
   drupal_set_message(t('The block settings have been updated.'));
diff -urN drupal-6.x-dev/modules/dblog/dblog.module drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/dblog/dblog.module
--- drupal-6.x-dev/modules/dblog/dblog.module	2007-05-14 16:43:51.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/dblog/dblog.module	2007-05-14 16:40:48.000000000 +0800
@@ -195,8 +195,10 @@
     array('data' => t('Count'), 'field' => 'count', 'sort' => 'desc'),
     array('data' => t('Message'), 'field' => 'message')
   );
-
-  $result = pager_query("SELECT COUNT(wid) AS count, message, variables FROM {watchdog} WHERE type = '%s' GROUP BY message ". tablesort_sql($header), 30, 0, "SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'", $type);
+  // -- checkpoint 01: SELECT variable without GROUP BY it
+//  $result = pager_query("SELECT COUNT(wid) AS count, message, variables FROM {watchdog} WHERE type = '%s' GROUP BY message ". tablesort_sql($header), 30, 0, "SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'", $type);
+  $result = pager_query("SELECT COUNT(wid) AS count, message, variables FROM {watchdog} WHERE type = '%s' GROUP BY (message, variables) ". tablesort_sql($header), 30, 0, "SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'", $type);
+  // -- end 01
 
   $rows = array();
   while ($dblog = db_fetch_object($result)) {
diff -urN drupal-6.x-dev/modules/node/node.module drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/node/node.module
--- drupal-6.x-dev/modules/node/node.module	2007-05-14 16:43:57.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/node/node.module	2007-05-14 16:40:52.000000000 +0800
@@ -1581,7 +1581,10 @@
 function node_admin_nodes() {
   $filter = node_build_filter_query();
 
-  $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n '. $filter['join'] .' INNER JOIN {users} u ON n.uid = u.uid '. $filter['where'] .' ORDER BY n.changed DESC', 50, 0, NULL, $filter['args']);
+  // -- checkpoint 01: no need select u.uid
+  $result = pager_query('SELECT n.*, u.name FROM {node} n '. $filter['join'] .' INNER JOIN {users} u ON n.uid = u.uid '. $filter['where'] .' ORDER BY n.changed DESC', 50, 0, NULL, $filter['args']);
+//  $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n '. $filter['join'] .' INNER JOIN {users} u ON n.uid = u.uid '. $filter['where'] .' ORDER BY n.changed DESC', 50, 0, NULL, $filter['args']);
+  // -- end 01
 
   // Enable language column if locale is enabled or if we have any node with language
   $count = db_result(db_query("SELECT COUNT(*) FROM {node} n WHERE language != ''"));
diff -urN drupal-6.x-dev/modules/user/user.module drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/user/user.module
--- drupal-6.x-dev/modules/user/user.module	2007-05-14 16:44:09.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/modules/user/user.module	2007-05-14 16:41:04.000000000 +0800
@@ -1154,6 +1154,11 @@
 
   // Load the anonymous user
   $user = drupal_anonymous_user();
+  // -- checkpoint 01 : commit to make logout works?
+  if ($GLOBALS['db_type'] == 'oracle') {
+    OCICommit($active_db);
+  }
+  // -- end 01
 
   drupal_goto();
 }
diff -urN drupal-6.x-dev/sites/default/settings.php drupal-6.x-dev-souvent22/drupal-6.x-dev/sites/default/settings.php
--- drupal-6.x-dev/sites/default/settings.php	2007-05-14 16:44:11.000000000 +0800
+++ drupal-6.x-dev-souvent22/drupal-6.x-dev/sites/default/settings.php	2007-05-14 16:41:06.000000000 +0800
@@ -89,6 +89,7 @@
  *   $db_url = 'mysql://username:password@localhost/databasename';
  *   $db_url = 'mysqli://username:password@localhost/databasename';
  *   $db_url = 'pgsql://username:password@localhost/databasename';
+ *   $db_url = 'oracle://username:password@localhost/databasename/charset';
  */
 $db_url = 'mysql://username:password@localhost/databasename';
 $db_prefix = '';
