Index: .htaccess
===================================================================
RCS file: /cvs/drupal/drupal/.htaccess,v
retrieving revision 1.89
diff -u -p -r1.89 .htaccess
--- .htaccess	2 Oct 2007 16:03:17 -0000	1.89
+++ .htaccess	4 Oct 2007 21:03:34 -0000
@@ -3,7 +3,7 @@
 #
 
 # Protect files and directories from prying eyes.
-<FilesMatch "\.(engine|inc|info|install|module|profile|po|schema|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
+<FilesMatch "\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
   Order allow,deny
 </FilesMatch>
 
Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.694
diff -u -p -r1.694 common.inc
--- includes/common.inc	4 Oct 2007 19:20:39 -0000	1.694
+++ includes/common.inc	4 Oct 2007 21:03:34 -0000
@@ -2869,8 +2869,8 @@ function drupal_get_schema($name = NULL,
     }
     // Otherwise, rebuild the schema cache.
     else {
-      // Load the .schema files.
-      module_load_all_includes('schema');
+      // Load the .install files to get hook_schema.
+      module_load_all_includes('install');
 
       // Invoke hook_schema for all modules.
       foreach (module_implements('schema') as $module) {
@@ -2960,8 +2960,8 @@ function drupal_uninstall_schema($module
  *   is returned.
  */
 function drupal_get_schema_unprocessed($module, $table = NULL) {
-  // Load the .schema file.
-  module_load_include('schema', $module);
+  // Load the .install file to get hook_schema.
+  module_load_include('install', $module);
   $schema = module_invoke($module, 'schema');
 
   if (!is_null($table) && isset($schema[$table])) {
Index: includes/database.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database.inc,v
retrieving revision 1.82
diff -u -p -r1.82 database.inc
--- includes/database.inc	2 Oct 2007 16:15:56 -0000	1.82
+++ includes/database.inc	4 Oct 2007 21:03:34 -0000
@@ -331,7 +331,7 @@ function db_escape_table($string) {
  *
  * A Drupal schema definition is an array structure representing one or
  * more tables and their related keys and indexes. A schema is defined by
- * hook_schema(), which usually lives in a modulename.schema file.
+ * hook_schema(), which usually lives in a modulename.install file.
  *
  * By implementing hook_schema() and specifying the tables your module
  * declares, you can easily create and drop these tables on all
Index: modules/aggregator/aggregator.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.install,v
retrieving revision 1.9
diff -u -p -r1.9 aggregator.install
--- modules/aggregator/aggregator.install	25 May 2007 12:46:43 -0000	1.9
+++ modules/aggregator/aggregator.install	4 Oct 2007 21:03:35 -0000
@@ -21,3 +21,74 @@ function aggregator_uninstall() {
   variable_del('aggregator_clear');
   variable_del('aggregator_category_selector');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function aggregator_schema() {
+  $schema['aggregator_category'] = array(
+    'fields' => array(
+      'cid'         => array('type' => 'serial', 'not null' => TRUE),
+      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'block'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('cid'),
+    'unique keys' => array('title' => array('title')),
+  );
+
+  $schema['aggregator_category_feed'] = array(
+    'fields' => array(
+      'fid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('fid', 'cid'),
+  );
+
+  $schema['aggregator_category_item'] = array(
+    'fields' => array(
+      'iid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('iid', 'cid'),
+  );
+
+  $schema['aggregator_feed'] = array(
+    'fields' => array(
+      'fid'         => array('type' => 'serial', 'not null' => TRUE),
+      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'url'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'refresh'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'checked'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'link'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'image'       => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'etag'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'modified'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'block'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'unique keys' => array(
+      'url'  => array('url'),
+      'title' => array('title')
+    ),
+    'primary key' => array('fid'),
+  );
+
+  $schema['aggregator_item'] = array(
+    'fields' => array(
+      'iid'         => array('type' => 'serial', 'not null' => TRUE),
+      'fid'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'link'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'author'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'timestamp'   => array('type' => 'int', 'not null' => FALSE),
+      'guid'        => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
+    ),
+    'indexes' => array('fid' => array('fid')),
+    'primary key' => array('iid'),
+  );
+
+  return $schema;
+}
+
Index: modules/aggregator/aggregator.schema
===================================================================
RCS file: modules/aggregator/aggregator.schema
diff -N modules/aggregator/aggregator.schema
--- modules/aggregator/aggregator.schema	15 Jul 2007 10:09:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-<?php
-// $Id: aggregator.schema,v 1.3 2007/07/15 10:09:21 dries Exp $
-
-function aggregator_schema() {
-  $schema['aggregator_category'] = array(
-    'fields' => array(
-      'cid'         => array('type' => 'serial', 'not null' => TRUE),
-      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'block'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('cid'),
-    'unique keys' => array('title' => array('title')),
-  );
-
-  $schema['aggregator_category_feed'] = array(
-    'fields' => array(
-      'fid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('fid', 'cid'),
-  );
-
-  $schema['aggregator_category_item'] = array(
-    'fields' => array(
-      'iid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('iid', 'cid'),
-  );
-
-  $schema['aggregator_feed'] = array(
-    'fields' => array(
-      'fid'         => array('type' => 'serial', 'not null' => TRUE),
-      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'url'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'refresh'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'checked'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'link'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'image'       => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'etag'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'modified'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'block'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'unique keys' => array(
-      'url'  => array('url'),
-      'title' => array('title')
-    ),
-    'primary key' => array('fid'),
-  );
-
-  $schema['aggregator_item'] = array(
-    'fields' => array(
-      'iid'         => array('type' => 'serial', 'not null' => TRUE),
-      'fid'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'link'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'author'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'timestamp'   => array('type' => 'int', 'not null' => FALSE),
-      'guid'        => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
-    ),
-    'indexes' => array('fid' => array('fid')),
-    'primary key' => array('iid'),
-  );
-
-  return $schema;
-}
-
Index: modules/block/block.install
===================================================================
RCS file: modules/block/block.install
diff -N modules/block/block.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/block/block.install	4 Oct 2007 21:03:35 -0000
@@ -0,0 +1,55 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_schema().
+ */
+function block_schema() {
+  $schema['blocks'] = array(
+    'fields' => array(
+      'bid'        => array('type' => 'serial', 'not null' => TRUE),
+      'module'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'delta'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '0'),
+      'theme'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'status'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'region'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => 'left'),
+      'custom'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'throttle'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'visibility' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'pages'      => array('type' => 'text', 'not null' => TRUE),
+      'title'      => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'cache'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+    ),
+    'primary key' => array('bid'),
+  );
+
+  $schema['blocks_roles'] = array(
+    'fields' => array(
+      'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE),
+      'delta'  => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
+      'rid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE)
+    ),
+    'primary key' => array(
+      'module',
+      'delta',
+      'rid'
+    ),
+  );
+
+  $schema['boxes'] = array(
+    'fields' => array(
+      'bid'    => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'body'   => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
+      'info'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'format' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
+    ),
+    'unique keys' => array('info' => array('info')),
+    'primary key' => array('bid'),
+  );
+
+  $schema['cache_block'] = drupal_get_schema_unprocessed('system', 'cache');
+
+  return $schema;
+}
+
Index: modules/block/block.schema
===================================================================
RCS file: modules/block/block.schema
diff -N modules/block/block.schema
--- modules/block/block.schema	14 Sep 2007 17:46:32 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-<?php
-// $Id: block.schema,v 1.3 2007/09/14 17:46:32 goba Exp $
-
-function block_schema() {
-  $schema['blocks'] = array(
-    'fields' => array(
-      'bid'        => array('type' => 'serial', 'not null' => TRUE),
-      'module'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'delta'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '0'),
-      'theme'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'status'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'region'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => 'left'),
-      'custom'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'throttle'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'visibility' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'pages'      => array('type' => 'text', 'not null' => TRUE),
-      'title'      => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'cache'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-    ),
-    'primary key' => array('bid'),
-  );
-
-  $schema['blocks_roles'] = array(
-    'fields' => array(
-      'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE),
-      'delta'  => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
-      'rid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE)
-    ),
-    'primary key' => array(
-      'module',
-      'delta',
-      'rid'
-    ),
-  );
-
-  $schema['boxes'] = array(
-    'fields' => array(
-      'bid'    => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'body'   => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
-      'info'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'format' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
-    ),
-    'unique keys' => array('info' => array('info')),
-    'primary key' => array('bid'),
-  );
-
-  $schema['cache_block'] = drupal_get_schema_unprocessed('system', 'cache');
-
-  return $schema;
-}
-
Index: modules/book/book.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.install,v
retrieving revision 1.9
diff -u -p -r1.9 book.install
--- modules/book/book.install	26 Aug 2007 07:20:07 -0000	1.9
+++ modules/book/book.install	4 Oct 2007 21:03:35 -0000
@@ -244,3 +244,24 @@ function book_update_6000() {
   return $ret;
 }
 
+/**
+ * Implementation of hook_schema().
+ */
+function book_schema() {
+  $schema['book'] = array(
+    'fields' => array(
+      'mlid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'bid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+    ),
+    'indexes' => array(
+      'nid'     => array('nid'),
+      'bid' => array('bid')
+    ),
+    'primary key' => array('mlid'),
+  );
+
+  return $schema;
+}
+
+
Index: modules/book/book.schema
===================================================================
RCS file: modules/book/book.schema
diff -N modules/book/book.schema
--- modules/book/book.schema	30 Jul 2007 18:20:21 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-<?php
-// $Id: book.schema,v 1.2 2007/07/30 18:20:21 dries Exp $
-
-function book_schema() {
-  $schema['book'] = array(
-    'fields' => array(
-      'mlid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'bid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-    ),
-    'indexes' => array(
-      'nid'     => array('nid'),
-      'bid' => array('bid')
-    ),
-    'primary key' => array('mlid'),
-  );
-
-  return $schema;
-}
-
Index: modules/comment/comment.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.install,v
retrieving revision 1.4
diff -u -p -r1.4 comment.install
--- modules/comment/comment.install	30 Jul 2007 21:27:34 -0000	1.4
+++ modules/comment/comment.install	4 Oct 2007 21:03:35 -0000
@@ -30,3 +30,47 @@ function comment_update_6001() {
   $ret[] = update_sql("ALTER TABLE {comments} DROP users");
   return $ret;
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function comment_schema() {
+  $schema['comments'] = array(
+    'fields' => array(
+      'cid'       => array('type' => 'serial', 'not null' => TRUE),
+      'pid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'nid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'subject'   => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'comment'   => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'status'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'format'    => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0),
+      'thread'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
+      'name'      => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
+      'mail'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE),
+      'homepage'  => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
+    ),
+    'indexes' => array(
+      'nid'    => array('nid'),
+      'status' => array('status')
+    ),
+    'primary key' => array('cid'),
+  );
+
+  $schema['node_comment_statistics'] = array(
+    'fields' => array(
+      'nid'                    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'last_comment_timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'last_comment_name'      => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
+      'last_comment_uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'comment_count'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array('node_comment_timestamp' => array('last_comment_timestamp')),
+    'primary key' => array('nid'),
+  );
+
+  return $schema;
+}
+
Index: modules/comment/comment.schema
===================================================================
RCS file: modules/comment/comment.schema
diff -N modules/comment/comment.schema
--- modules/comment/comment.schema	26 Sep 2007 18:31:34 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-<?php
-// $Id: comment.schema,v 1.5 2007/09/26 18:31:34 dries Exp $
-
-function comment_schema() {
-  $schema['comments'] = array(
-    'fields' => array(
-      'cid'       => array('type' => 'serial', 'not null' => TRUE),
-      'pid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'nid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'subject'   => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'comment'   => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'status'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'format'    => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0),
-      'thread'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
-      'name'      => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
-      'mail'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE),
-      'homepage'  => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
-    ),
-    'indexes' => array(
-      'nid'    => array('nid'),
-      'status' => array('status')
-    ),
-    'primary key' => array('cid'),
-  );
-
-  $schema['node_comment_statistics'] = array(
-    'fields' => array(
-      'nid'                    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'last_comment_timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'last_comment_name'      => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
-      'last_comment_uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'comment_count'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array('node_comment_timestamp' => array('last_comment_timestamp')),
-    'primary key' => array('nid'),
-  );
-
-  return $schema;
-}
Index: modules/contact/contact.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.install,v
retrieving revision 1.7
diff -u -p -r1.7 contact.install
--- modules/contact/contact.install	25 May 2007 12:46:44 -0000	1.7
+++ modules/contact/contact.install	4 Oct 2007 21:03:35 -0000
@@ -20,3 +20,24 @@ function contact_uninstall() {
   variable_del('contact_form_information');
   variable_del('contact_hourly_threshold');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function contact_schema() {
+  $schema['contact'] = array(
+    'fields' => array(
+      'cid'        => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'category'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'recipients' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'reply'      => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'selected'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'unique keys' => array('category' => array('category')),
+    'primary key' => array('cid'),
+  );
+
+  return $schema;
+}
+
Index: modules/contact/contact.schema
===================================================================
RCS file: modules/contact/contact.schema
diff -N modules/contact/contact.schema
--- modules/contact/contact.schema	15 Jul 2007 10:09:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-<?php
-// $Id: contact.schema,v 1.3 2007/07/15 10:09:21 dries Exp $
-
-function contact_schema() {
-  $schema['contact'] = array(
-    'fields' => array(
-      'cid'        => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'category'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'recipients' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'reply'      => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'selected'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'unique keys' => array('category' => array('category')),
-    'primary key' => array('cid'),
-  );
-
-  return $schema;
-}
-
Index: modules/dblog/dblog.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.install,v
retrieving revision 1.3
diff -u -p -r1.3 dblog.install
--- modules/dblog/dblog.install	25 May 2007 12:46:44 -0000	1.3
+++ modules/dblog/dblog.install	4 Oct 2007 21:03:35 -0000
@@ -16,3 +16,29 @@ function dblog_uninstall() {
   // Remove tables.
   drupal_uninstall_schema('dblog');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function dblog_schema() {
+  $schema['watchdog'] = array(
+    'fields' => array(
+      'wid'       => array('type' => 'serial', 'not null' => TRUE),
+      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'type'      => array('type' => 'varchar', 'length' => 16, 'not null' => TRUE, 'default' => ''),
+      'message'   => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'variables' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'severity'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'link'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'location'  => array('type' => 'text', 'not null' => TRUE),
+      'referer'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('wid'),
+    'indexes' => array('type' => array('type')),
+  );
+
+  return $schema;
+}
+
Index: modules/dblog/dblog.schema
===================================================================
RCS file: modules/dblog/dblog.schema
diff -N modules/dblog/dblog.schema
--- modules/dblog/dblog.schema	28 Jul 2007 07:11:14 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-<?php
-// $Id: dblog.schema,v 1.3 2007/07/28 07:11:14 dries Exp $
-
-function dblog_schema() {
-  $schema['watchdog'] = array(
-    'fields' => array(
-      'wid'       => array('type' => 'serial', 'not null' => TRUE),
-      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'type'      => array('type' => 'varchar', 'length' => 16, 'not null' => TRUE, 'default' => ''),
-      'message'   => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'variables' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'severity'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'link'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'location'  => array('type' => 'text', 'not null' => TRUE),
-      'referer'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('wid'),
-    'indexes' => array('type' => array('type')),
-  );
-
-  return $schema;
-}
-
Index: modules/drupal/drupal.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/drupal/drupal.install,v
retrieving revision 1.6
diff -u -p -r1.6 drupal.install
--- modules/drupal/drupal.install	25 May 2007 12:46:44 -0000	1.6
+++ modules/drupal/drupal.install	4 Oct 2007 21:03:35 -0000
@@ -26,3 +26,37 @@ function drupal_uninstall() {
   variable_del('drupal_default_da_server');
   variable_del('drupal_default_da_server_only');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function drupal_schema() {
+  $schema['client'] = array(
+    'fields' => array(
+      'cid'     => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'link'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'name'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'mail'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'slogan'  => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'mission' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'users'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'nodes'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'version' => array('type' => 'varchar', 'length' => 35, 'not null' => TRUE, 'default' => ''),
+      'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'changed' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('cid'),
+  );
+
+  $schema['client_system'] = array(
+    'fields' => array(
+      'cid'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'type' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
+    ),
+    'primary key' => array('cid', 'name'),
+  );
+
+  return $schema;
+}
+
Index: modules/drupal/drupal.schema
===================================================================
RCS file: modules/drupal/drupal.schema
diff -N modules/drupal/drupal.schema
--- modules/drupal/drupal.schema	25 May 2007 12:46:44 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-<?php
-// $Id: drupal.schema,v 1.1 2007/05/25 12:46:44 dries Exp $
-
-function drupal_schema() {
-  $schema['client'] = array(
-    'fields' => array(
-      'cid'     => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'link'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'name'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'mail'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'slogan'  => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'mission' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'users'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'nodes'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'version' => array('type' => 'varchar', 'length' => 35, 'not null' => TRUE, 'default' => ''),
-      'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'changed' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('cid'),
-  );
-
-  $schema['client_system'] = array(
-    'fields' => array(
-      'cid'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'type' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
-    ),
-    'primary key' => array('cid', 'name'),
-  );
-
-  return $schema;
-}
-
Index: modules/filter/filter.install
===================================================================
RCS file: modules/filter/filter.install
diff -N modules/filter/filter.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/filter/filter.install	4 Oct 2007 21:03:35 -0000
@@ -0,0 +1,34 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_schema().
+ */
+function filter_schema() {
+  $schema['filters'] = array(
+    'fields' => array(
+      'fid'    => array('type' => 'serial', 'not null' => TRUE),
+      'format' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'delta'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('fid'),
+    'indexes' => array('weight' => array('weight')),
+  );
+  $schema['filter_formats'] = array(
+    'fields' => array(
+      'format' => array('type' => 'serial', 'not null' => TRUE),
+      'name'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'roles'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'cache'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'unique keys' => array('name' => array('name')),
+    'primary key' => array('format'),
+  );
+
+  $schema['cache_filter'] = drupal_get_schema_unprocessed('system', 'cache');
+
+  return $schema;
+}
+
Index: modules/filter/filter.schema
===================================================================
RCS file: modules/filter/filter.schema
diff -N modules/filter/filter.schema
--- modules/filter/filter.schema	25 May 2007 12:46:44 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-<?php
-// $Id: filter.schema,v 1.1 2007/05/25 12:46:44 dries Exp $
-
-function filter_schema() {
-  $schema['filters'] = array(
-    'fields' => array(
-      'fid'    => array('type' => 'serial', 'not null' => TRUE),
-      'format' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'delta'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('fid'),
-    'indexes' => array('weight' => array('weight')),
-  );
-  $schema['filter_formats'] = array(
-    'fields' => array(
-      'format' => array('type' => 'serial', 'not null' => TRUE),
-      'name'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'roles'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'cache'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'unique keys' => array('name' => array('name')),
-    'primary key' => array('format'),
-  );
-
-  $schema['cache_filter'] = drupal_get_schema_unprocessed('system', 'cache');
-
-  return $schema;
-}
-
Index: modules/forum/forum.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.install,v
retrieving revision 1.9
diff -u -p -r1.9 forum.install
--- modules/forum/forum.install	5 Sep 2007 08:27:57 -0000	1.9
+++ modules/forum/forum.install	4 Oct 2007 21:03:35 -0000
@@ -50,3 +50,24 @@ function forum_uninstall() {
   variable_del('forum_block_num_0');
   variable_del('forum_block_num_1');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function forum_schema() {
+  $schema['forum'] = array(
+    'fields' => array(
+      'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'nid' => array('nid'),
+      'tid' => array('tid')
+    ),
+    'primary key' => array('vid'),
+  );
+
+  return $schema;
+}
+
Index: modules/forum/forum.schema
===================================================================
RCS file: modules/forum/forum.schema
diff -N modules/forum/forum.schema
--- modules/forum/forum.schema	5 Sep 2007 08:27:57 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-<?php
-
-function forum_schema() {
-  $schema['forum'] = array(
-    'fields' => array(
-      'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'nid' => array('nid'),
-      'tid' => array('tid')
-    ),
-    'primary key' => array('vid'),
-  );
-
-  return $schema;
-}
Index: modules/locale/locale.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.install,v
retrieving revision 1.16
diff -u -p -r1.16 locale.install
--- modules/locale/locale.install	2 Sep 2007 15:19:16 -0000	1.16
+++ modules/locale/locale.install	4 Oct 2007 21:03:36 -0000
@@ -133,3 +133,78 @@ function locale_uninstall() {
   // Remove tables.
   drupal_uninstall_schema('locale');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function locale_schema() {
+  $schema['languages'] = array(
+    'fields' => array(
+      // Language code, eg 'de' or 'en-US'.
+      'language'   => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
+      // Language name in English.
+      'name'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      // Native language name.
+      'native'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      // LANGUAGE_RTL or LANGUAGE_LTR
+      'direction'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Enabled flag.
+      'enabled'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Number of plural indexes in this language.
+      'plurals'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Plural formula in PHP code to evaluate to get plural indexes.
+      'formula'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      // Domain to use for this language.
+      'domain'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      // Path prefix to use for this language.
+      'prefix'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      // Weight, used in lists of languages.
+      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Location of JavaScript translation file.
+      'javascript' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+    ),
+    'primary key' => array('language'),
+  );
+
+  $schema['locales_source'] = array(
+    'fields' => array(
+      // Unique identifier of this string.
+      'lid'       => array('type' => 'serial', 'not null' => TRUE),
+      // Drupal path in case of online discovered translations or file path in case of imported strings.
+      'location'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      // A module defined group of translations, see hook_locale().
+      'textgroup' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'default'),
+      // The original string in English.
+      'source'    => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
+      // Drupal core version, which last used the string.
+      'version'   => array('type' => 'varchar', 'length' => 20, 'not null' => TRUE, 'default' => 'none'),
+    ),
+    'primary key' => array('lid'),
+    'indexes' => array
+        ('source' => array(array('source', 30))),
+  );
+
+  $schema['locales_target'] = array(
+    'fields' => array(
+      // References locales_source.
+      'lid'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Translation string value in this language.
+      'translation' => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
+      // Language code referencing the languages table.
+      'language'    => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
+      // Parent lid (lid of the previous string in the plural chain) in case of plural strings.
+      'plid'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      // Plural index number in case of plural strings.
+      'plural'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'language'   => array('language'),
+      'lid'    => array('lid'),
+      'plid'   => array('plid'),
+      'plural' => array('plural')
+    ),
+  );
+
+  return $schema;
+}
+
Index: modules/locale/locale.schema
===================================================================
RCS file: modules/locale/locale.schema
diff -N modules/locale/locale.schema
--- modules/locale/locale.schema	2 Sep 2007 15:19:16 -0000	1.7
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-<?php
-// $Id: locale.schema,v 1.7 2007/09/02 15:19:16 goba Exp $
-
-function locale_schema() {
-  $schema['languages'] = array(
-    'fields' => array(
-      // Language code, eg 'de' or 'en-US'.
-      'language'   => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
-      // Language name in English.
-      'name'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      // Native language name.
-      'native'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      // LANGUAGE_RTL or LANGUAGE_LTR
-      'direction'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Enabled flag.
-      'enabled'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Number of plural indexes in this language.
-      'plurals'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Plural formula in PHP code to evaluate to get plural indexes.
-      'formula'    => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      // Domain to use for this language.
-      'domain'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      // Path prefix to use for this language.
-      'prefix'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      // Weight, used in lists of languages.
-      'weight'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Location of JavaScript translation file.
-      'javascript' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-    ),
-    'primary key' => array('language'),
-  );
-
-  $schema['locales_source'] = array(
-    'fields' => array(
-      // Unique identifier of this string.
-      'lid'       => array('type' => 'serial', 'not null' => TRUE),
-      // Drupal path in case of online discovered translations or file path in case of imported strings.
-      'location'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      // A module defined group of translations, see hook_locale().
-      'textgroup' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'default'),
-      // The original string in English.
-      'source'    => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
-      // Drupal core version, which last used the string.
-      'version'   => array('type' => 'varchar', 'length' => 20, 'not null' => TRUE, 'default' => 'none'),
-    ),
-    'primary key' => array('lid'),
-    'indexes' => array
-        ('source' => array(array('source', 30))),
-  );
-
-  $schema['locales_target'] = array(
-    'fields' => array(
-      // References locales_source.
-      'lid'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Translation string value in this language.
-      'translation' => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
-      // Language code referencing the languages table.
-      'language'    => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
-      // Parent lid (lid of the previous string in the plural chain) in case of plural strings.
-      'plid'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      // Plural index number in case of plural strings.
-      'plural'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'language'   => array('language'),
-      'lid'    => array('lid'),
-      'plid'   => array('plid'),
-      'plural' => array('plural')
-    ),
-  );
-
-  return $schema;
-}
-
Index: modules/menu/menu.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.install,v
retrieving revision 1.6
diff -u -p -r1.6 menu.install
--- modules/menu/menu.install	20 Aug 2007 18:18:15 -0000	1.6
+++ modules/menu/menu.install	4 Oct 2007 21:03:36 -0000
@@ -20,3 +20,22 @@ function menu_uninstall() {
   drupal_uninstall_schema('menu');
   menu_rebuild();
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function menu_schema() {
+  $schema['menu_custom'] = array(
+    'fields' => array(
+      // This is used as a block delta so length is 32.
+      'menu_name'   => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => FALSE),
+    ),
+    'primary key' => array('menu_name'),
+  );
+
+  return $schema;
+}
+
+
Index: modules/menu/menu.schema
===================================================================
RCS file: modules/menu/menu.schema
diff -N modules/menu/menu.schema
--- modules/menu/menu.schema	29 Aug 2007 20:46:18 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-<?php
-// $Id: menu.schema,v 1.4 2007/08/29 20:46:18 goba Exp $
-
-function menu_schema() {
-  $schema['menu_custom'] = array(
-    'fields' => array(
-      // This is used as a block delta so length is 32.
-      'menu_name'   => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'title'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => FALSE),
-    ),
-    'primary key' => array('menu_name'),
-  );
-
-  return $schema;
-}
-
Index: modules/node/node.install
===================================================================
RCS file: modules/node/node.install
diff -N modules/node/node.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/node/node.install	4 Oct 2007 21:03:36 -0000
@@ -0,0 +1,113 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_schema().
+ */
+function node_schema() {
+  $schema['node'] = array(
+    'fields' => array(
+      'nid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'vid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'type'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'language'  => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
+      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 1),
+      'created'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'changed'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'comment'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'promote'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'moderate'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'sticky'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'tnid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'translate' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+    ),
+    'indexes' => array(
+      'node_changed'        => array('changed'),
+      'node_created'        => array('created'),
+      'node_moderate'       => array('moderate'),
+      'node_promote_status' => array('promote', 'status'),
+      'node_status_type'    => array('status', 'type', 'nid'),
+      'node_title_type'     => array('title', array('type', 4)),
+      'node_type'           => array(array('type', 4)),
+      'status'              => array('status'),
+      'uid'                 => array('uid'),
+      'tnid'                => array('tnid'),
+      'translate'           => array('translate'),
+    ),
+    'unique keys' => array(
+      'nid_vid' => array('nid', 'vid'),
+      'vid'     => array('vid')
+    ),
+    'primary key' => array('nid'),
+  );
+
+  $schema['node_access'] = array(
+    'fields' => array(
+      'nid'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'gid'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'realm'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'grant_view'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'grant_update' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'grant_delete' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array(
+      'nid',
+      'gid',
+      'realm'
+    ),
+  );
+
+  $schema['node_counter'] = array(
+    'fields' => array(
+      'nid'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'totalcount' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'big'),
+      'daycount'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'medium'),
+      'timestamp'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('nid'),
+  );
+
+  $schema['node_revisions'] = array(
+    'fields' => array(
+      'nid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'vid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'body'      => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'teaser'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'log'       => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'format'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'nid' => array('nid'),
+      'uid' => array('uid')
+    ),
+    'primary key' => array('vid'),
+  );
+
+  $schema['node_type'] = array(
+    'fields' => array(
+      'type'           => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
+      'name'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'module'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
+      'description'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
+      'help'           => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
+      'has_title'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
+      'title_label'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'has_body'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
+      'body_label'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'min_word_count' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'small'),
+      'custom'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'modified'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'locked'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'orig_type'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
+    ),
+    'primary key' => array('type'),
+  );
+
+  return $schema;
+}
+
Index: modules/node/node.schema
===================================================================
RCS file: modules/node/node.schema
diff -N modules/node/node.schema
--- modules/node/node.schema	30 Aug 2007 15:31:46 -0000	1.7
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,109 +0,0 @@
-<?php
-// $Id: node.schema,v 1.7 2007/08/30 15:31:46 goba Exp $
-
-function node_schema() {
-  $schema['node'] = array(
-    'fields' => array(
-      'nid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'vid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'type'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'language'  => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
-      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 1),
-      'created'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'changed'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'comment'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'promote'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'moderate'  => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'sticky'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'tnid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'translate' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-    ),
-    'indexes' => array(
-      'node_changed'        => array('changed'),
-      'node_created'        => array('created'),
-      'node_moderate'       => array('moderate'),
-      'node_promote_status' => array('promote', 'status'),
-      'node_status_type'    => array('status', 'type', 'nid'),
-      'node_title_type'     => array('title', array('type', 4)),
-      'node_type'           => array(array('type', 4)),
-      'status'              => array('status'),
-      'uid'                 => array('uid'),
-      'tnid'                => array('tnid'),
-      'translate'           => array('translate'),
-    ),
-    'unique keys' => array(
-      'nid_vid' => array('nid', 'vid'),
-      'vid'     => array('vid')
-    ),
-    'primary key' => array('nid'),
-  );
-
-  $schema['node_access'] = array(
-    'fields' => array(
-      'nid'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'gid'          => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'realm'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'grant_view'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'grant_update' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'grant_delete' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array(
-      'nid',
-      'gid',
-      'realm'
-    ),
-  );
-
-  $schema['node_counter'] = array(
-    'fields' => array(
-      'nid'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'totalcount' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'big'),
-      'daycount'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'medium'),
-      'timestamp'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('nid'),
-  );
-
-  $schema['node_revisions'] = array(
-    'fields' => array(
-      'nid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'vid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'body'      => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'teaser'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'log'       => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'format'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'nid' => array('nid'),
-      'uid' => array('uid')
-    ),
-    'primary key' => array('vid'),
-  );
-
-  $schema['node_type'] = array(
-    'fields' => array(
-      'type'           => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
-      'name'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'module'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
-      'description'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
-      'help'           => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
-      'has_title'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
-      'title_label'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'has_body'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
-      'body_label'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'min_word_count' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'small'),
-      'custom'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'modified'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'locked'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'orig_type'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
-    ),
-    'primary key' => array('type'),
-  );
-
-  return $schema;
-}
Index: modules/openid/openid.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/openid/openid.install,v
retrieving revision 1.1
diff -u -p -r1.1 openid.install
--- modules/openid/openid.install	18 Jun 2007 16:09:39 -0000	1.1
+++ modules/openid/openid.install	4 Oct 2007 21:03:36 -0000
@@ -16,3 +16,24 @@ function openid_uninstall() {
   // Remove table.
   drupal_uninstall_schema('openid');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function openid_schema() {
+  $schema['openid_association'] = array(
+    'fields' => array(
+      'idp_endpoint_uri' => array('type' => 'varchar', 'length' => 255),
+      'assoc_handle' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
+      'assoc_type' => array('type' => 'varchar', 'length' => 32),
+      'session_type' => array('type' => 'varchar', 'length' => 32),
+      'mac_key' => array('type' => 'varchar', 'length' => 255),
+      'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'expires_in' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+    ),
+    'primary key' => array('assoc_handle'),
+  );
+
+  return $schema;
+}
+
Index: modules/openid/openid.schema
===================================================================
RCS file: modules/openid/openid.schema
diff -N modules/openid/openid.schema
--- modules/openid/openid.schema	4 Jul 2007 15:52:06 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-<?php
-// $Id: openid.schema,v 1.2 2007/07/04 15:52:06 dries Exp $
-
-function openid_schema() {
-  $schema['openid_association'] = array(
-    'fields' => array(
-      'idp_endpoint_uri' => array('type' => 'varchar', 'length' => 255),
-      'assoc_handle' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
-      'assoc_type' => array('type' => 'varchar', 'length' => 32),
-      'session_type' => array('type' => 'varchar', 'length' => 32),
-      'mac_key' => array('type' => 'varchar', 'length' => 255),
-      'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'expires_in' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-    ),
-    'primary key' => array('assoc_handle'),
-  );
-
-  return $schema;
-}
\ No newline at end of file
Index: modules/poll/poll.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.install,v
retrieving revision 1.8
diff -u -p -r1.8 poll.install
--- modules/poll/poll.install	25 May 2007 12:46:45 -0000	1.8
+++ modules/poll/poll.install	4 Oct 2007 21:03:36 -0000
@@ -16,3 +16,46 @@ function poll_uninstall() {
   // Remove tables.
   drupal_uninstall_schema('poll');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function poll_schema() {
+  $schema['poll'] = array(
+    'fields' => array(
+      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'runtime' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'active'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('nid'),
+  );
+
+  $schema['poll_choices'] = array(
+    'fields' => array(
+      'chid'    => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'chtext'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'chvotes' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'chorder' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array('nid' => array('nid')),
+    'primary key' => array('chid'),
+  );
+
+  $schema['poll_votes'] = array(
+    'fields' => array(
+      'nid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
+      'uid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'chorder'  => array('type' => 'int', 'not null' => TRUE, 'default' => -1),
+      'hostname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')
+    ),
+    'indexes' => array(
+      'hostname' => array('hostname'),
+      'nid'      => array('nid'),
+      'uid'      => array('uid')
+    ),
+  );
+
+  return $schema;
+}
+
Index: modules/poll/poll.schema
===================================================================
RCS file: modules/poll/poll.schema
diff -N modules/poll/poll.schema
--- modules/poll/poll.schema	25 May 2007 12:46:45 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-<?php
-// $Id: poll.schema,v 1.1 2007/05/25 12:46:45 dries Exp $
-
-function poll_schema() {
-  $schema['poll'] = array(
-    'fields' => array(
-      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'runtime' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'active'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('nid'),
-  );
-
-  $schema['poll_choices'] = array(
-    'fields' => array(
-      'chid'    => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'nid'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'chtext'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'chvotes' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'chorder' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array('nid' => array('nid')),
-    'primary key' => array('chid'),
-  );
-
-  $schema['poll_votes'] = array(
-    'fields' => array(
-      'nid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
-      'uid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'chorder'  => array('type' => 'int', 'not null' => TRUE, 'default' => -1),
-      'hostname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')
-    ),
-    'indexes' => array(
-      'hostname' => array('hostname'),
-      'nid'      => array('nid'),
-      'uid'      => array('uid')
-    ),
-  );
-
-  return $schema;
-}
-
Index: modules/profile/profile.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.install,v
retrieving revision 1.9
diff -u -p -r1.9 profile.install
--- modules/profile/profile.install	25 May 2007 12:46:45 -0000	1.9
+++ modules/profile/profile.install	4 Oct 2007 21:03:36 -0000
@@ -18,3 +18,44 @@ function profile_uninstall() {
 
   variable_del('profile_block_author_fields');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function profile_schema() {
+  $schema['profile_fields'] = array(
+    'fields' => array(
+      'fid'          => array('type' => 'serial', 'not null' => TRUE),
+      'title'        => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'name'         => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'explanation'  => array('type' => 'text', 'not null' => FALSE),
+      'category'     => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'page'         => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'type'         => array('type' => 'varchar', 'length' => 128, 'not null' => FALSE),
+      'weight'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'required'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'register'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'visibility'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'autocomplete' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'options'      => array('type' => 'text', 'not null' => FALSE)
+    ),
+    'indexes' => array('category' => array('category')),
+    'unique keys' => array('name' => array('name')),
+    'primary key' => array('fid'),
+  );
+
+  $schema['profile_values'] = array(
+    'fields' => array(
+      'fid'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
+      'uid'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
+      'value' => array('type' => 'text', 'not null' => FALSE)
+    ),
+    'indexes' => array(
+      'fid' => array('fid'),
+      'uid' => array('uid')
+    ),
+  );
+
+  return $schema;
+}
+
Index: modules/profile/profile.schema
===================================================================
RCS file: modules/profile/profile.schema
diff -N modules/profile/profile.schema
--- modules/profile/profile.schema	9 Aug 2007 11:05:40 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-<?php
-// $Id: profile.schema,v 1.2 2007/08/09 11:05:40 goba Exp $
-
-function profile_schema() {
-  $schema['profile_fields'] = array(
-    'fields' => array(
-      'fid'          => array('type' => 'serial', 'not null' => TRUE),
-      'title'        => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'name'         => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'explanation'  => array('type' => 'text', 'not null' => FALSE),
-      'category'     => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'page'         => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'type'         => array('type' => 'varchar', 'length' => 128, 'not null' => FALSE),
-      'weight'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'required'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'register'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'visibility'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'autocomplete' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'options'      => array('type' => 'text', 'not null' => FALSE)
-    ),
-    'indexes' => array('category' => array('category')),
-    'unique keys' => array('name' => array('name')),
-    'primary key' => array('fid'),
-  );
-
-  $schema['profile_values'] = array(
-    'fields' => array(
-      'fid'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
-      'uid'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
-      'value' => array('type' => 'text', 'not null' => FALSE)
-    ),
-    'indexes' => array(
-      'fid' => array('fid'),
-      'uid' => array('uid')
-    ),
-  );
-
-  return $schema;
-}
-
Index: modules/search/search.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.install,v
retrieving revision 1.8
diff -u -p -r1.8 search.install
--- modules/search/search.install	29 Sep 2007 08:08:59 -0000	1.8
+++ modules/search/search.install	4 Oct 2007 21:03:36 -0000
@@ -20,3 +20,44 @@ function search_uninstall() {
   variable_del('overlap_cjk');
   variable_del('search_cron_limit');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function search_schema() {
+  $schema['search_dataset'] = array(
+    'fields' => array(
+      'sid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'type' => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
+      'data' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big')
+    ),
+    'indexes' => array('sid_type' => array('sid', 'type')),
+  );
+
+  $schema['search_index'] = array(
+    'fields' => array(
+      'word'     => array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''),
+      'sid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'type'     => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
+      'fromsid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'fromtype' => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
+      'score'    => array('type' => 'float', 'not null' => FALSE)
+    ),
+    'indexes' => array(
+      'from_sid_type' => array('fromsid', 'fromtype'),
+      'sid_type'      => array('sid', 'type'),
+      'word'          => array('word')
+    ),
+  );
+
+  $schema['search_total'] = array(
+    'fields' => array(
+      'word'  => array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''),
+      'count' => array('type' => 'float', 'not null' => FALSE)
+    ),
+    'primary key' => array('word'),
+  );
+
+  return $schema;
+}
+
Index: modules/search/search.schema
===================================================================
RCS file: modules/search/search.schema
diff -N modules/search/search.schema
--- modules/search/search.schema	15 Jul 2007 10:09:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-<?php
-// $Id: search.schema,v 1.3 2007/07/15 10:09:21 dries Exp $
-
-function search_schema() {
-  $schema['search_dataset'] = array(
-    'fields' => array(
-      'sid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'type' => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
-      'data' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big')
-    ),
-    'indexes' => array('sid_type' => array('sid', 'type')),
-  );
-
-  $schema['search_index'] = array(
-    'fields' => array(
-      'word'     => array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''),
-      'sid'      => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'type'     => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
-      'fromsid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'fromtype' => array('type' => 'varchar', 'length' => 16, 'not null' => FALSE),
-      'score'    => array('type' => 'float', 'not null' => FALSE)
-    ),
-    'indexes' => array(
-      'from_sid_type' => array('fromsid', 'fromtype'),
-      'sid_type'      => array('sid', 'type'),
-      'word'          => array('word')
-    ),
-  );
-
-  $schema['search_total'] = array(
-    'fields' => array(
-      'word'  => array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''),
-      'count' => array('type' => 'float', 'not null' => FALSE)
-    ),
-    'primary key' => array('word'),
-  );
-
-  return $schema;
-}
-
Index: modules/statistics/statistics.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/statistics/statistics.install,v
retrieving revision 1.8
diff -u -p -r1.8 statistics.install
--- modules/statistics/statistics.install	25 May 2007 12:46:45 -0000	1.8
+++ modules/statistics/statistics.install	4 Oct 2007 21:03:36 -0000
@@ -43,3 +43,27 @@ function statistics_uninstall() {
   variable_del('statistics_block_top_all_num');
   variable_del('statistics_block_top_last_num');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function statistics_schema() {
+  $schema['accesslog'] = array(
+    'fields' => array(
+      'aid'       => array('type' => 'serial', 'not null' => TRUE),
+      'sid'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'path'      => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'url'       => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
+      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => FALSE),
+      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
+      'timer'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array('accesslog_timestamp' => array('timestamp')),
+    'primary key' => array('aid'),
+  );
+
+  return $schema;
+}
+
Index: modules/statistics/statistics.schema
===================================================================
RCS file: modules/statistics/statistics.schema
diff -N modules/statistics/statistics.schema
--- modules/statistics/statistics.schema	25 May 2007 12:46:45 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-<?php
-// $Id: statistics.schema,v 1.1 2007/05/25 12:46:45 dries Exp $
-
-function statistics_schema() {
-  $schema['accesslog'] = array(
-    'fields' => array(
-      'aid'       => array('type' => 'serial', 'not null' => TRUE),
-      'sid'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'title'     => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'path'      => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'url'       => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE),
-      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => FALSE),
-      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => 0),
-      'timer'     => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array('accesslog_timestamp' => array('timestamp')),
-    'primary key' => array('aid'),
-  );
-
-  return $schema;
-}
-
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.158
diff -u -p -r1.158 system.install
--- modules/system/system.install	3 Oct 2007 13:19:19 -0000	1.158
+++ modules/system/system.install	4 Oct 2007 21:03:36 -0000
@@ -298,6 +298,220 @@ function system_install() {
   db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", 'node_options_forum', 'a:1:{i:0;s:6:"status";}');
 }
 
+/**
+ * Implementation of hook_schema().
+ */
+function system_schema() {
+  // NOTE: {variable} needs to be created before all other tables, as
+  // some database drivers, e.g. Oracle and DB2, will require variable_get()
+  // and variable_set() for overcoming some database specific limitations.
+  $schema['variable'] = array(
+    'fields' => array(
+      'name'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'value'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+    ),
+    'primary key' => array('name'),
+  );
+
+  $schema['actions'] = array(
+    'fields' => array(
+      'aid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '0'),
+      'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'parameters' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
+      'description' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '0'),
+    ),
+    'primary key' => array('aid'),
+  );
+
+  $schema['actions_aid'] = array(
+    'fields' => array(
+      'aid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+    ),
+    'primary key' => array('aid'),
+  );
+
+  $schema['batch'] = array(
+    'fields' => array(
+      'bid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'token'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE),
+      'batch'     => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
+    ),
+    'primary key' => array('bid'),
+    'indexes' => array('token' => array('token')),
+  );
+
+  $schema['cache'] = array(
+    'fields' => array(
+      'cid'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'data'       => array('type' => 'blob', 'not null' => FALSE, 'size' => 'big'),
+      'expire'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'created'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'headers'    => array('type' => 'text', 'not null' => FALSE),
+      'serialized' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array('expire' => array('expire')),
+    'primary key' => array('cid'),
+  );
+
+  $schema['cache_form'] = $schema['cache'];
+  $schema['cache_page'] = $schema['cache'];
+  $schema['cache_menu'] = $schema['cache'];
+
+  $schema['files'] = array(
+    'fields' => array(
+      'fid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'filename'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'filepath'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'filemime'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'filesize'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+    ),
+    'indexes' => array(
+      'uid'       => array('uid'),
+      'status'    => array('status'),
+      'timestamp' => array('timestamp'),
+    ),
+    'primary key' => array('fid'),
+  );
+
+  $schema['flood'] = array(
+    'fields' => array(
+      'fid'       => array('type' => 'serial', 'not null' => TRUE),
+      'event'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('fid'),
+  );
+
+  $schema['history'] = array(
+    'fields' => array(
+      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'nid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('uid', 'nid'),
+  );
+  $schema['menu_router'] = array(
+    'fields' => array(
+      'path'             => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'load_functions'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'to_arg_functions' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'access_callback'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'access_arguments' => array('type' => 'text', 'not null' => FALSE),
+      'page_callback'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'page_arguments'   => array('type' => 'text', 'not null' => FALSE),
+      'fit'              => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'number_parts'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'tab_parent'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'tab_root'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'title'            => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'title_callback'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'title_arguments'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'type'             => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'block_callback'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description'      => array('type' => 'text', 'not null' => TRUE),
+      'position'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'weight'           => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'file'             => array('type' => 'text', 'size' => 'medium')
+    ),
+    'indexes' => array(
+      'fit'        => array('fit'),
+      'tab_parent' => array('tab_parent')
+    ),
+    'primary key' => array('path'),
+  );
+
+  $schema['menu_links'] = array(
+    'fields' => array(
+      'menu_name'    => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'mlid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'plid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'link_path'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'router_path'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'link_title'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'options'      => array('type' => 'text', 'not null' => FALSE),
+      'module'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'system'),
+      'hidden'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'external'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'has_children' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'expanded'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'weight'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'depth'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'customized'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+      'p1'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p2'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p3'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p4'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p5'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p6'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p7'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p8'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'p9'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'updated'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
+    ),
+    'indexes' => array(
+      'path_menu'              => array(array('link_path', 128), 'menu_name'),
+      'menu_plid_expand_child' => array('menu_name', 'plid', 'expanded', 'has_children'),
+      'menu_parents'           => array('menu_name', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9'),
+      'router_path'            => array(array('router_path', 128)),
+    ),
+    'primary key' => array('mlid'),
+  );
+
+  $schema['sessions'] = array(
+    'fields' => array(
+      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
+      'sid'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
+      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'cache'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'session'   => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
+    ),
+    'primary key' => array('sid'),
+    'indexes' => array(
+      'timestamp' => array('timestamp'),
+      'uid'       => array('uid')
+    ),
+  );
+
+  $schema['system'] = array(
+    'fields' => array(
+      'filename'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'name'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'type'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'owner'          => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'status'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'throttle'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'bootstrap'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'schema_version' => array('type' => 'int', 'not null' => TRUE, 'default' => -1, 'size' => 'small'),
+      'weight'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'info'           => array('type' => 'text', 'not null' => FALSE)
+    ),
+    'primary key' => array('filename'),
+    'indexes' => array('weight' => array('weight')),
+  );
+
+  $schema['url_alias'] = array(
+    'fields' => array(
+      'pid'      => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'src'      => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'dst'      => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'language' => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => '')
+    ),
+    'unique keys' => array('dst_language' => array('dst', 'language')),
+    'primary key' => array('pid'),
+    'indexes' => array('src' => array('src')),
+  );
+
+  return $schema;
+}
+
+
 // Updates for core
 
 function system_update_110() {
Index: modules/system/system.schema
===================================================================
RCS file: modules/system/system.schema
diff -N modules/system/system.schema
--- modules/system/system.schema	11 Sep 2007 19:14:34 -0000	1.13
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,212 +0,0 @@
-<?php
-// $Id: system.schema,v 1.13 2007/09/11 19:14:34 goba Exp $
-
-function system_schema() {
-  // NOTE: {variable} needs to be created before all other tables, as
-  // some database drivers, e.g. Oracle and DB2, will require variable_get()
-  // and variable_set() for overcoming some database specific limitations.
-  $schema['variable'] = array(
-    'fields' => array(
-      'name'     => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'value'    => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-    ),
-    'primary key' => array('name'),
-  );
-
-  $schema['actions'] = array(
-    'fields' => array(
-      'aid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '0'),
-      'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'parameters' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
-      'description' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '0'),
-    ),
-    'primary key' => array('aid'),
-  );
-
-  $schema['actions_aid'] = array(
-    'fields' => array(
-      'aid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-    ),
-    'primary key' => array('aid'),
-  );
-
-  $schema['batch'] = array(
-    'fields' => array(
-      'bid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'token'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE),
-      'batch'     => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
-    ),
-    'primary key' => array('bid'),
-    'indexes' => array('token' => array('token')),
-  );
-
-  $schema['cache'] = array(
-    'fields' => array(
-      'cid'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'data'       => array('type' => 'blob', 'not null' => FALSE, 'size' => 'big'),
-      'expire'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'created'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'headers'    => array('type' => 'text', 'not null' => FALSE),
-      'serialized' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array('expire' => array('expire')),
-    'primary key' => array('cid'),
-  );
-
-  $schema['cache_form'] = $schema['cache'];
-  $schema['cache_page'] = $schema['cache'];
-  $schema['cache_menu'] = $schema['cache'];
-
-  $schema['files'] = array(
-    'fields' => array(
-      'fid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'filename'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'filepath'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'filemime'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'filesize'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-    ),
-    'indexes' => array(
-      'uid'       => array('uid'),
-      'status'    => array('status'),
-      'timestamp' => array('timestamp'),
-    ),
-    'primary key' => array('fid'),
-  );
-
-  $schema['flood'] = array(
-    'fields' => array(
-      'fid'       => array('type' => 'serial', 'not null' => TRUE),
-      'event'     => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('fid'),
-  );
-
-  $schema['history'] = array(
-    'fields' => array(
-      'uid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'nid'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('uid', 'nid'),
-  );
-  $schema['menu_router'] = array(
-    'fields' => array(
-      'path'             => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'load_functions'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'to_arg_functions' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'access_callback'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'access_arguments' => array('type' => 'text', 'not null' => FALSE),
-      'page_callback'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'page_arguments'   => array('type' => 'text', 'not null' => FALSE),
-      'fit'              => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'number_parts'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'tab_parent'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'tab_root'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'title'            => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'title_callback'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'title_arguments'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'type'             => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'block_callback'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description'      => array('type' => 'text', 'not null' => TRUE),
-      'position'         => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'weight'           => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'file'             => array('type' => 'text', 'size' => 'medium')
-    ),
-    'indexes' => array(
-      'fit'        => array('fit'),
-      'tab_parent' => array('tab_parent')
-    ),
-    'primary key' => array('path'),
-  );
-
-  $schema['menu_links'] = array(
-    'fields' => array(
-      'menu_name'    => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'mlid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'plid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'link_path'    => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'router_path'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'link_title'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'options'      => array('type' => 'text', 'not null' => FALSE),
-      'module'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'system'),
-      'hidden'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'external'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'has_children' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'expanded'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'weight'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'depth'        => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'customized'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-      'p1'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p2'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p3'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p4'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p5'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p6'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p7'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p8'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'p9'           => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'updated'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
-    ),
-    'indexes' => array(
-      'path_menu'              => array(array('link_path', 128), 'menu_name'),
-      'menu_plid_expand_child' => array('menu_name', 'plid', 'expanded', 'has_children'),
-      'menu_parents'           => array('menu_name', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9'),
-      'router_path'            => array(array('router_path', 128)),
-    ),
-    'primary key' => array('mlid'),
-  );
-
-  $schema['sessions'] = array(
-    'fields' => array(
-      'uid'       => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
-      'sid'       => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
-      'hostname'  => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'cache'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'session'   => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
-    ),
-    'primary key' => array('sid'),
-    'indexes' => array(
-      'timestamp' => array('timestamp'),
-      'uid'       => array('uid')
-    ),
-  );
-
-  $schema['system'] = array(
-    'fields' => array(
-      'filename'       => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'name'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'type'           => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'owner'          => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'status'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'throttle'       => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'bootstrap'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'schema_version' => array('type' => 'int', 'not null' => TRUE, 'default' => -1, 'size' => 'small'),
-      'weight'         => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'info'           => array('type' => 'text', 'not null' => FALSE)
-    ),
-    'primary key' => array('filename'),
-    'indexes' => array('weight' => array('weight')),
-  );
-
-  $schema['url_alias'] = array(
-    'fields' => array(
-      'pid'      => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'src'      => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'dst'      => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'language' => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => '')
-    ),
-    'unique keys' => array('dst_language' => array('dst', 'language')),
-    'primary key' => array('pid'),
-    'indexes' => array('src' => array('src')),
-  );
-
-  return $schema;
-}
Index: modules/taxonomy/taxonomy.install
===================================================================
RCS file: modules/taxonomy/taxonomy.install
diff -N modules/taxonomy/taxonomy.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/taxonomy/taxonomy.install	4 Oct 2007 21:03:36 -0000
@@ -0,0 +1,103 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_schema().
+ */
+function taxonomy_schema() {
+  $schema['term_data'] = array(
+    'fields' => array(
+      'tid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'vid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
+      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('tid'),
+    'indexes' => array('vid' => array('vid')),
+  );
+
+  $schema['term_hierarchy'] = array(
+    'fields' => array(
+      'tid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'parent' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'parent' => array('parent'),
+      'tid'    => array('tid')
+    ),
+    'primary key' => array('tid', 'parent'),
+  );
+
+  $schema['term_node'] = array(
+    'fields' => array(
+      'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'nid' => array('nid'),
+      'tid' => array('tid'),
+      'vid' => array('vid')
+    ),
+    'primary key' => array(
+      'vid',
+      'tid',
+      'nid'
+    ),
+  );
+
+  $schema['term_relation'] = array(
+    'fields' => array(
+      'trid' => array('type' => 'serial', 'not null' => TRUE),
+      'tid1' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'tid2' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'indexes' => array(
+      'tid1' => array('tid1'),
+      'tid2' => array('tid2')
+    ),
+    'primary key' => array('trid'),
+  );
+
+  $schema['term_synonym'] = array(
+    'fields' => array(
+      'tsid' => array('type' => 'serial', 'not null' => TRUE),
+      'tid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
+    ),
+    'indexes' => array(
+      'name' => array(array('name', 3)),
+      'tid'  => array('tid')
+    ),
+    'primary key' => array('tsid'),
+  );
+
+  $schema['vocabulary'] = array(
+    'fields' => array(
+      'vid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
+      'help'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'relations'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'hierarchy'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'multiple'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'required'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'tags'        => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'module'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('vid'),
+  );
+
+  $schema['vocabulary_node_types'] = array(
+    'fields' => array(
+      'vid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '')
+    ),
+    'primary key' => array('vid', 'type'),
+  );
+
+  return $schema;
+}
+
Index: modules/taxonomy/taxonomy.schema
===================================================================
RCS file: modules/taxonomy/taxonomy.schema
diff -N modules/taxonomy/taxonomy.schema
--- modules/taxonomy/taxonomy.schema	25 May 2007 12:46:46 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,100 +0,0 @@
-<?php
-// $Id: taxonomy.schema,v 1.1 2007/05/25 12:46:46 dries Exp $
-
-function taxonomy_schema() {
-  $schema['term_data'] = array(
-    'fields' => array(
-      'tid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'vid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
-      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('tid'),
-    'indexes' => array('vid' => array('vid')),
-  );
-
-  $schema['term_hierarchy'] = array(
-    'fields' => array(
-      'tid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'parent' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'parent' => array('parent'),
-      'tid'    => array('tid')
-    ),
-    'primary key' => array('tid', 'parent'),
-  );
-
-  $schema['term_node'] = array(
-    'fields' => array(
-      'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'nid' => array('nid'),
-      'tid' => array('tid'),
-      'vid' => array('vid')
-    ),
-    'primary key' => array(
-      'vid',
-      'tid',
-      'nid'
-    ),
-  );
-
-  $schema['term_relation'] = array(
-    'fields' => array(
-      'trid' => array('type' => 'serial', 'not null' => TRUE),
-      'tid1' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'tid2' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'indexes' => array(
-      'tid1' => array('tid1'),
-      'tid2' => array('tid2')
-    ),
-    'primary key' => array('trid'),
-  );
-
-  $schema['term_synonym'] = array(
-    'fields' => array(
-      'tsid' => array('type' => 'serial', 'not null' => TRUE),
-      'tid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
-    ),
-    'indexes' => array(
-      'name' => array(array('name', 3)),
-      'tid'  => array('tid')
-    ),
-    'primary key' => array('tsid'),
-  );
-
-  $schema['vocabulary'] = array(
-    'fields' => array(
-      'vid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
-      'help'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'relations'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'hierarchy'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'multiple'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'required'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'tags'        => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'module'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('vid'),
-  );
-
-  $schema['vocabulary_node_types'] = array(
-    'fields' => array(
-      'vid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '')
-    ),
-    'primary key' => array('vid', 'type'),
-  );
-
-  return $schema;
-}
-
Index: modules/trigger/trigger.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.install,v
retrieving revision 1.1
diff -u -p -r1.1 trigger.install
--- modules/trigger/trigger.install	11 Sep 2007 14:50:05 -0000	1.1
+++ modules/trigger/trigger.install	4 Oct 2007 21:03:36 -0000
@@ -19,3 +19,20 @@ function trigger_uninstall() {
   // Remove tables.
   drupal_uninstall_schema('trigger');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function trigger_schema() {
+  $schema['trigger_assignments'] = array(
+    'fields' => array(
+      'hook' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'op' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'aid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+    ),
+    'primary key' => array('hook', 'op', 'aid'),
+  );
+  return $schema;
+}
+
Index: modules/trigger/trigger.schema
===================================================================
RCS file: modules/trigger/trigger.schema
diff -N modules/trigger/trigger.schema
--- modules/trigger/trigger.schema	26 Sep 2007 18:19:22 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-<?php
-// $Id: trigger.schema,v 1.2 2007/09/26 18:19:22 dries Exp $
-
-function trigger_schema() {
-  $schema['trigger_assignments'] = array(
-    'fields' => array(
-      'hook' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'op' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'aid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-    ),
-    'primary key' => array('hook', 'op', 'aid'),
-  );
-  return $schema;
-}
Index: modules/update/update.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/update/update.install,v
retrieving revision 1.1
diff -u -p -r1.1 update.install
--- modules/update/update.install	11 Jul 2007 15:15:40 -0000	1.1
+++ modules/update/update.install	4 Oct 2007 21:03:36 -0000
@@ -28,3 +28,12 @@ function update_uninstall() {
   }
   menu_rebuild();
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function update_schema() {
+  $schema['cache_update'] = drupal_get_schema_unprocessed('system', 'cache');
+  return $schema;
+}
+
Index: modules/update/update.schema
===================================================================
RCS file: modules/update/update.schema
diff -N modules/update/update.schema
--- modules/update/update.schema	11 Jul 2007 15:15:40 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,7 +0,0 @@
-<?php
-// $Id: update.schema,v 1.1 2007/07/11 15:15:40 dries Exp $
-
-function update_schema() {
-  $schema['cache_update'] = drupal_get_schema_unprocessed('system', 'cache');
-  return $schema;
-}
Index: modules/upload/upload.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/upload/upload.install,v
retrieving revision 1.1
diff -u -p -r1.1 upload.install
--- modules/upload/upload.install	30 May 2007 08:08:59 -0000	1.1
+++ modules/upload/upload.install	4 Oct 2007 21:03:36 -0000
@@ -16,3 +16,23 @@ function upload_uninstall() {
   // Remove tables.
   drupal_uninstall_schema('upload');
 }
+
+/**
+ * Implementation of hook_schema().
+ */
+function upload_schema() {
+  $schema['upload'] = array(
+    'fields' => array(
+      'fid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'nid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'vid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'description' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'list'        => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('fid', 'vid'),
+    'indexes' => array('vid' => array('vid'), 'nid' => array('nid')),
+  );
+
+  return $schema;
+}
+
Index: modules/upload/upload.schema
===================================================================
RCS file: modules/upload/upload.schema
diff -N modules/upload/upload.schema
--- modules/upload/upload.schema	30 May 2007 08:08:59 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-<?php
-// $Id: upload.schema,v 1.1 2007/05/30 08:08:59 dries Exp $
-
-function upload_schema() {
-  $schema['upload'] = array(
-    'fields' => array(
-      'fid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'nid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'vid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'description' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'list'        => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('fid', 'vid'),
-    'indexes' => array('vid' => array('vid'), 'nid' => array('nid')),
-  );
-
-  return $schema;
-}
-
Index: modules/user/user.install
===================================================================
RCS file: modules/user/user.install
diff -N modules/user/user.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/user/user.install	4 Oct 2007 21:03:36 -0000
@@ -0,0 +1,88 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_schema().
+ */
+function user_schema() {
+  $schema['access'] = array(
+    'fields' => array(
+      'aid'    => array('type' => 'serial', 'not null' => TRUE),
+      'mask'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'type'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'status' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+    ),
+    'primary key' => array('aid'),
+  );
+
+  $schema['authmap'] = array(
+    'fields' => array(
+      'aid'      => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'uid'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'authname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
+      'module'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')
+    ),
+    'unique keys' => array('authname' => array('authname')),
+    'primary key' => array('aid'),
+  );
+
+  $schema['permission'] = array(
+    'fields' => array(
+      'pid'  => array('type' => 'serial', 'not null' => TRUE),
+      'rid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'perm' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
+      'tid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('pid'),
+    'indexes' => array('rid' => array('rid')),
+  );
+
+  $schema['role'] = array(
+    'fields' => array(
+      'rid'  => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'name' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => '')
+    ),
+    'unique keys' => array('name' => array('name')),
+    'primary key' => array('rid'),
+  );
+
+  $schema['users'] = array(
+    'fields' => array(
+      'uid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
+      'name'      => array('type' => 'varchar', 'length' => 60, 'not null' => TRUE, 'default' => ''),
+      'pass'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+      'mail'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE, 'default' => ''),
+      'mode'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'sort'      => array('type' => 'int', 'not null' => FALSE, 'default' => 0, 'size' => 'tiny'),
+      'threshold' => array('type' => 'int', 'not null' => FALSE, 'default' => 0, 'size' => 'tiny'),
+      'theme'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'signature' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'created'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'access'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'login'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+      'timezone'  => array('type' => 'varchar', 'length' => 8, 'not null' => FALSE),
+      'language'  => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
+      'picture'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
+      'init'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE, 'default' => ''),
+      'data'      => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
+    ),
+    'indexes' => array(
+      'access'  => array('access'),
+      'created' => array('created')
+    ),
+    'unique keys' => array('name' => array('name')),
+    'primary key' => array('uid'),
+  );
+
+  $schema['users_roles'] = array(
+    'fields' => array(
+      'uid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+      'rid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+    ),
+    'primary key' => array('uid', 'rid'),
+  );
+
+  return $schema;
+}
+
Index: modules/user/user.schema
===================================================================
RCS file: modules/user/user.schema
diff -N modules/user/user.schema
--- modules/user/user.schema	15 Jul 2007 10:09:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,85 +0,0 @@
-<?php
-// $Id: user.schema,v 1.3 2007/07/15 10:09:21 dries Exp $
-
-function user_schema() {
-  $schema['access'] = array(
-    'fields' => array(
-      'aid'    => array('type' => 'serial', 'not null' => TRUE),
-      'mask'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'type'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'status' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
-    ),
-    'primary key' => array('aid'),
-  );
-
-  $schema['authmap'] = array(
-    'fields' => array(
-      'aid'      => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'uid'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'authname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
-      'module'   => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')
-    ),
-    'unique keys' => array('authname' => array('authname')),
-    'primary key' => array('aid'),
-  );
-
-  $schema['permission'] = array(
-    'fields' => array(
-      'pid'  => array('type' => 'serial', 'not null' => TRUE),
-      'rid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'perm' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
-      'tid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('pid'),
-    'indexes' => array('rid' => array('rid')),
-  );
-
-  $schema['role'] = array(
-    'fields' => array(
-      'rid'  => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'name' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => '')
-    ),
-    'unique keys' => array('name' => array('name')),
-    'primary key' => array('rid'),
-  );
-
-  $schema['users'] = array(
-    'fields' => array(
-      'uid'       => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
-      'name'      => array('type' => 'varchar', 'length' => 60, 'not null' => TRUE, 'default' => ''),
-      'pass'      => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
-      'mail'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE, 'default' => ''),
-      'mode'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'sort'      => array('type' => 'int', 'not null' => FALSE, 'default' => 0, 'size' => 'tiny'),
-      'threshold' => array('type' => 'int', 'not null' => FALSE, 'default' => 0, 'size' => 'tiny'),
-      'theme'     => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'signature' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'created'   => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'access'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'login'     => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'status'    => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
-      'timezone'  => array('type' => 'varchar', 'length' => 8, 'not null' => FALSE),
-      'language'  => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
-      'picture'   => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
-      'init'      => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE, 'default' => ''),
-      'data'      => array('type' => 'text', 'not null' => FALSE, 'size' => 'big')
-    ),
-    'indexes' => array(
-      'access'  => array('access'),
-      'created' => array('created')
-    ),
-    'unique keys' => array('name' => array('name')),
-    'primary key' => array('uid'),
-  );
-
-  $schema['users_roles'] = array(
-    'fields' => array(
-      'uid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
-      'rid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
-    ),
-    'primary key' => array('uid', 'rid'),
-  );
-
-  return $schema;
-}
-
