diff -urp --strip-trailing-cr ../drupal-6.x-dev/modules/locale/locale.install ./modules/locale/locale.install --- ../drupal-6.x-dev/modules/locale/locale.install 2007-10-21 20:59:02.000000000 +0200 +++ ./modules/locale/locale.install 2007-11-14 22:58:41.000000000 +0100 @@ -110,7 +110,24 @@ function locale_update_6004() { */ function locale_update_6005() { $ret = array(); - $ret[] = update_sql("DELETE s FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid WHERE t.lid IS NULL"); + $ret[] = update_sql("DELETE FROM {locales_source} WHERE lid NOT IN (SELECT lid FROM {locales_target})"); + return $ret; +} + +/** + * Fix remaining inconsistent indexes. + */ +function locale_update_6006() { + $ret = array(); + db_add_index($ret, 'locales_target', 'language', array('language')); + + switch ($GLOBALS['db_type']) { + case 'pgsql': + db_drop_index($ret, 'locales_source', 'source'); + db_add_index($ret, 'locales_source', 'source', array(array('source', 30))); + break; + } + return $ret; }