Index: database/database.4.0.mysql
===================================================================
RCS file: /cvs/drupal/drupal/database/database.4.0.mysql,v
retrieving revision 1.1
diff -u -F^f -r1.1 database.4.0.mysql
--- database/database.4.0.mysql	10 Apr 2006 13:45:28 -0000	1.1
+++ database/database.4.0.mysql	8 May 2006 17:44:36 -0000
@@ -412,17 +412,18 @@
   promote int(2) NOT NULL default '0',
   moderate int(2) NOT NULL default '0',
   sticky int(2) NOT NULL default '0',
-  PRIMARY KEY (nid),
+  PRIMARY KEY  (nid, vid),
+  UNIQUE KEY vid (vid),
   KEY node_type (type(4)),
-  KEY node_title_type (title,type(4)),
+  KEY node_title_type (title, type(4)),
   KEY status (status),
   KEY uid (uid),
-  KEY vid (vid),
   KEY node_moderate (moderate),
   KEY node_promote_status (promote, status),
   KEY node_created (created),
   KEY node_changed (changed),
-  KEY node_status_type (status, type, nid)
+  KEY node_status_type (status, type, nid),
+  KEY nid (nid)
 );
 
 --
@@ -634,7 +635,7 @@
 --
 
 CREATE TABLE node_counter (
-  nid int(11) NOT NULL default '0',
+  nid int(10) NOT NULL default '0',
   totalcount bigint(20) unsigned NOT NULL default '0',
   daycount mediumint(8) unsigned NOT NULL default '0',
   timestamp int(11) unsigned NOT NULL default '0',
Index: database/database.4.1.mysql
===================================================================
RCS file: /cvs/drupal/drupal/database/database.4.1.mysql,v
retrieving revision 1.1
diff -u -F^f -r1.1 database.4.1.mysql
--- database/database.4.1.mysql	10 Apr 2006 13:45:28 -0000	1.1
+++ database/database.4.1.mysql	8 May 2006 17:44:37 -0000
@@ -440,17 +440,18 @@
   promote int(2) NOT NULL default '0',
   moderate int(2) NOT NULL default '0',
   sticky int(2) NOT NULL default '0',
-  PRIMARY KEY (nid),
+  PRIMARY KEY  (nid, vid),
+  UNIQUE KEY vid (vid),
   KEY node_type (type(4)),
-  KEY node_title_type (title,type(4)),
+  KEY node_title_type (title, type(4)),
   KEY status (status),
   KEY uid (uid),
-  KEY vid (vid),
   KEY node_moderate (moderate),
   KEY node_promote_status (promote, status),
   KEY node_created (created),
   KEY node_changed (changed),
-  KEY node_status_type (status, type, nid)
+  KEY node_status_type (status, type, nid),
+  KEY nid (nid)
 )
 DEFAULT CHARACTER SET utf8;
 
@@ -678,7 +679,7 @@
 --
 
 CREATE TABLE node_counter (
-  nid int(11) NOT NULL default '0',
+  nid int(10) NOT NULL default '0',
   totalcount bigint(20) unsigned NOT NULL default '0',
   daycount mediumint(8) unsigned NOT NULL default '0',
   timestamp int(11) unsigned NOT NULL default '0',
Index: database/updates.inc
===================================================================
RCS file: /cvs/drupal/drupal/database/updates.inc,v
retrieving revision 1.225
diff -u -F^f -r1.225 updates.inc
--- database/updates.inc	7 May 2006 00:08:36 -0000	1.225
+++ database/updates.inc	8 May 2006 17:44:40 -0000
@@ -1954,3 +1954,22 @@ function system_update_179() {
 
   return array();
 }
+
+function system_update_180() {
+  $ret = array();
+
+  if ($GLOBALS['db_type'] == 'mysql') {
+    $ret[] = update_sql("ALTER TABLE {node} DROP PRIMARY KEY");
+    $ret[] = update_sql("ALTER TABLE {node} ADD PRIMARY KEY (nid, vid)");
+    $ret[] = update_sql("ALTER TABLE {node} DROP INDEX vid");
+    $ret[] = update_sql("ALTER TABLE {node} ADD UNIQUE (vid)");
+    $ret[] = update_sql("ALTER TABLE {node} ADD INDEX (nid)");
+    
+    $ret[] = update_sql("ALTER TABLE {node_counter} CHANGE nid nid INT(10) NOT NULL DEFAULT '0'");
+  }
+  else { // pgsql
+    // Insert queries here.
+  }
+
+  return $ret;
+}
