Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.141
diff -u -p -r1.141 system.install
--- modules/system/system.install	28 Aug 2007 11:42:56 -0000	1.141
+++ modules/system/system.install	29 Aug 2007 12:55:25 -0000
@@ -2792,16 +2792,7 @@ function system_update_6002() {
  */
 function system_update_6003() {
   $ret = array();
-  switch ($GLOBALS['db_type']) {
-    case 'mysql':
-    case 'mysqli':
-      $ret[] = update_sql('ALTER TABLE {comments} ADD KEY status (status)');
-      break;
-
-    case 'pgsql':
-      $ret[] = update_sql("CREATE INDEX {comments}_status_idx ON {comments} (status)");
-      break;
-  }
+  db_add_index($ret, 'comments', 'status', array('status'));
   return $ret;
 }
 
@@ -2825,10 +2816,9 @@ function system_update_6004() {
  */
 function system_update_6005() {
   $ret = array();
+  db_add_field($ret, 'url_alias', 'language', array('type' => 'varchar', 'default' => '', 'not null' => TRUE));
   switch ($GLOBALS['db_type']) {
     case 'pgsql':
-      db_add_column($ret, 'url_alias', 'language', 'varchar(12)', array('default' => "''", 'not null' => TRUE));
-
       // As of system.install:1.85 (before the new language
       // subsystem), new installs got a unique key named
       // url_alias_dst_key on url_alias.dst.  Unfortunately,
@@ -2845,26 +2835,24 @@ function system_update_6005() {
       $err = error_reporting(0);
       $ret1 = update_sql('DROP INDEX {url_alias}_dst_idx');
       if ($ret1['success']) {
-	$ret[] = $ret1;
+        $ret[] = $ret1;
       }
       $ret1 = array();
       db_drop_unique_key($ret, 'url_alias', 'dst');
       foreach ($ret1 as $r) {
-	if ($r['success']) {
-	  $ret[] = $r;
-	}
+        if ($r['success']) {
+          $ret[] = $r;
+        }
       }
       error_reporting($err);
 
-      $ret[] = update_sql('CREATE UNIQUE INDEX {url_alias}_dst_language_idx ON {url_alias}(dst, language)');
       break;
     case 'mysql':
     case 'mysqli':
-      $ret[] = update_sql("ALTER TABLE {url_alias} ADD language varchar(12) NOT NULL default ''");
       $ret[] = update_sql("ALTER TABLE {url_alias} DROP INDEX dst");
-      $ret[] = update_sql("ALTER TABLE {url_alias} ADD UNIQUE dst_language (dst, language)");
       break;
   }
+  db_add_unique_key($ret, 'url_alias', 'dst_language', array('dst', 'language'));
   return $ret;
 }
 
@@ -2873,19 +2861,9 @@ function system_update_6005() {
  */
 function system_update_6006() {
   $ret = array();
-  switch ($GLOBALS['db_type']) {
-    case 'pgsql':
-      $ret[] = update_sql('DROP INDEX {node_counter}_daycount_idx');
-      $ret[] = update_sql('DROP INDEX {node_counter}_totalcount_idx');
-      $ret[] = update_sql('DROP INDEX {node_counter}_timestamp_idx');
-      break;
-    case 'mysql':
-    case 'mysqli':
-      $ret[] = update_sql("ALTER TABLE {node_counter} DROP INDEX daycount");
-      $ret[] = update_sql("ALTER TABLE {node_counter} DROP INDEX totalcount");
-      $ret[] = update_sql("ALTER TABLE {node_counter} DROP INDEX timestamp");
-      break;
-  }
+  db_drop_index($ret, 'node_counter', 'daycount');
+  db_drop_index($ret, 'node_counter', 'totalcount');
+  db_drop_index($ret, 'node_counter', 'timestamp');
   return $ret;
 }
 
@@ -2971,15 +2949,7 @@ function system_update_6010() {
  */
 function system_update_6011() {
   $ret = array();
-  switch ($GLOBALS['db_type']) {
-    case 'pgsql':
-      db_add_column($ret, 'node', 'language', 'varchar(12)', array('default' => "''", 'not null' => TRUE));
-      break;
-    case 'mysql':
-    case 'mysqli':
-      $ret[] = update_sql("ALTER TABLE {node} ADD language varchar(12) NOT NULL default ''");
-      break;
-  }
+  db_add_field($ret, 'node', 'language', array('type' => 'varchar', 'default' => "''", 'not null' => TRUE));
   return $ret;
 }
 
@@ -3017,35 +2987,21 @@ function system_update_6014() {
  */
 function system_update_6015() {
   $ret = array();
-
-  switch ($GLOBALS['db_type']) {
-    case 'pgsql':
-      $ret[] = update_sql("CREATE TABLE {cache_form} (
-        cid varchar(255) NOT NULL default '',
-        data bytea,
-        expire int NOT NULL default '0',
-        created int NOT NULL default '0',
-        headers text,
-        serialized smallint NOT NULL default '0',
-        PRIMARY KEY (cid)
-    )");
-      $ret[] = update_sql("CREATE INDEX {cache_form}_expire_idx ON {cache_form} (expire)");
-      break;
-    case 'mysql':
-    case 'mysqli':
-      $ret[] = update_sql("CREATE TABLE {cache_form} (
-        cid varchar(255) NOT NULL default '',
-        data longblob,
-        expire int NOT NULL default '0',
-        created int NOT NULL default '0',
-        headers text,
-        serialized int(1) NOT NULL default '0',
-        PRIMARY KEY (cid),
-        INDEX expire (expire)
-      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
-      break;
-  }
-
+  $schema['form_cache'] = array(
+    'fields' => array(
+      'cid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'efault' => ''),
+      'data' => array('type' => 'blob', 'size' => 'big'),
+      'expire' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
+      'headers' => array('type' => 'text', 'size' => 'normal'),
+      'serialized' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0),
+    ),
+    'indexes' => array(
+      'expire' => array('expire'),
+    ),
+    'primary key' => array('cid'),
+  );
+  db_create_table($ret, 'form_cache', $schema['form_cache']);
   return $ret;
 }
 
@@ -3055,39 +3011,21 @@ function system_update_6015() {
  */
 function system_update_6016() {
   $ret = array();
-
-  switch ($GLOBALS['db_type']) {
-    case 'pgsql':
-      $ret[] = update_sql("ALTER TABLE {node} DROP CONSTRAINT {node}_pkey");
-      $ret[] = update_sql("ALTER TABLE {node} ADD PRIMARY KEY (nid)");
-      $ret[] = update_sql("ALTER TABLE {node} ADD CONSTRAINT {node}_nid_vid_key UNIQUE (nid, vid)");
-      db_add_column($ret, 'blocks', 'bid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {blocks} ADD PRIMARY KEY (bid)");
-      db_add_column($ret, 'filters', 'fid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {filters} ADD PRIMARY KEY (fid)");
-      db_add_column($ret, 'flood', 'fid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {flood} ADD PRIMARY KEY (fid)");
-      db_add_column($ret, 'permission', 'pid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {permission} ADD PRIMARY KEY (pid)");
-      db_add_column($ret, 'term_relation', 'trid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {term_relation} ADD PRIMARY KEY (trid)");
-      db_add_column($ret, 'term_synonym', 'tsid', 'serial');
-      $ret[] = update_sql("ALTER TABLE {term_synonym} ADD PRIMARY KEY (tsid)");
-      break;
-    case 'mysql':
-    case 'mysqli':
-      $ret[] = update_sql('ALTER TABLE {node} DROP PRIMARY KEY');
-      $ret[] = update_sql('ALTER TABLE {node} ADD PRIMARY KEY (nid)');
-      $ret[] = update_sql('ALTER TABLE {node} ADD UNIQUE KEY nid_vid (nid, vid)');
-      $ret[] = update_sql("ALTER TABLE {blocks} ADD bid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      $ret[] = update_sql("ALTER TABLE {filters} ADD fid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      $ret[] = update_sql("ALTER TABLE {flood} ADD fid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      $ret[] = update_sql("ALTER TABLE {permission} ADD pid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      $ret[] = update_sql("ALTER TABLE {term_relation} ADD trid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      $ret[] = update_sql("ALTER TABLE {term_synonym} ADD tsid int NOT NULL AUTO_INCREMENT PRIMARY KEY");
-      break;
-  }
-
+  db_drop_primary_key($ret, 'node');
+  db_add_primary_key($ret, 'node', array('nid'));
+  db_add_unique_key($ret, 'node', 'nid_vid', array('nid', 'vid'));
+  db_add_field($ret, 'blocks', 'bid', array('type' => 'serial', 'not null' => TRUE));
+  db_add_primary_key($ret, 'blocks', array('bid'));
+  db_add_field($ret, 'filters', 'fid', array('type' => 'serial', 'not null' => TRUE));
+  db_add_primary_key($ret, 'filters', array('fid'));
+  db_add_field($ret, 'flood', 'fid', array('type' => 'serial', 'not null' => TRUE));
+  db_add_primary_key($ret, 'flood', array('fid'));
+  db_add_field($ret, 'permission', 'pid', array('type' => 'serial', 'not null' => TRUE));
+  db_add_primary_key($ret, 'permission', array('pid'));
+  db_add_field($ret, 'term_relation', 'trid', array('type' => 'serial', 'not null' => TRUE));
+  db_add_primary_key($ret, 'term_relation', array('trid'));
+  db_add_field($ret, 'term_synonym', 'tsid', array('type' => 'tsid', 'not null' => TRUE));
+  db_add_primary_key($ret, 'term_synonym', array('tsid'));
   return $ret;
 }
 
