=== modified file 'modules/system/system.install'
--- modules/system/system.install	2009-01-21 16:58:41 +0000
+++ modules/system/system.install	2009-01-25 12:46:02 +0000
@@ -293,7 +293,7 @@ function system_install() {
   if (db_driver() == 'pgsql') {
     // We create some functions using global names instead of prefixing them
     // like we do with table names. If this function is ever called again (for
-    // example, by the test framework when creating prefixed test databases), 
+    // example, by the test framework when creating prefixed test databases),
     // the global names will already exist. We therefore avoid trying to create
     // them again in that case.
 
@@ -1260,7 +1260,7 @@ function system_schema() {
     ),
     'primary key' => array('pid'),
     'indexes' => array(
-      'src' => array('src'),
+      'src_language' => array('src', 'language'),
     ),
   );
 
@@ -2688,6 +2688,16 @@ function system_update_6047() {
 }
 
 /**
+ * Replace src index on the {url_alias} table with src, language.
+ */
+function system_update_6048() {
+  $ret = array();
+  db_drop_index($ret, 'url_alias', 'src');
+  db_add_index($ret, 'url_alias', 'src_language', array('src', 'language'));
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-5.x-to-6.x"
  * The next series of updates should start at 7000.
  */
@@ -3140,11 +3150,11 @@ function system_update_7016() {
   $ret = array();
   // Only run these queries if the driver used is pgsql.
   if (db_driver() == 'pgsql') {
-    $result = db_query("SELECT c.relname AS table, a.attname AS field, 
-                        pg_catalog.format_type(a.atttypid, a.atttypmod) AS type 
-                        FROM pg_catalog.pg_attribute a 
-                        LEFT JOIN pg_class c ON (c.oid =  a.attrelid) 
-                        WHERE pg_catalog.pg_table_is_visible(c.oid) AND c.relkind = 'r' 
+    $result = db_query("SELECT c.relname AS table, a.attname AS field,
+                        pg_catalog.format_type(a.atttypid, a.atttypmod) AS type
+                        FROM pg_catalog.pg_attribute a
+                        LEFT JOIN pg_class c ON (c.oid =  a.attrelid)
+                        WHERE pg_catalog.pg_table_is_visible(c.oid) AND c.relkind = 'r'
                         AND pg_catalog.format_type(a.atttypid, a.atttypmod) LIKE '%unsigned%'");
     while ($row = db_fetch_object($result)) {
       switch ($row->type) {
@@ -3157,7 +3167,7 @@ function system_update_7016() {
           $datatype = 'bigint';
           break;
       }
-      $ret[] = update_sql('ALTER TABLE ' . $row->table . ' ALTER COLUMN ' . $row->field . ' TYPE ' . $datatype); 
+      $ret[] = update_sql('ALTER TABLE ' . $row->table . ' ALTER COLUMN ' . $row->field . ' TYPE ' . $datatype);
       $ret[] = update_sql('ALTER TABLE ' . $row->table . ' ADD CHECK (' . $row->field . ' >= 0)');
     }
     $ret[] = update_sql('DROP DOMAIN smallint_unsigned');

