Index: update.php =================================================================== RCS file: /cvs/drupal/drupal/update.php,v retrieving revision 1.247 diff -u -p -r1.247 update.php --- update.php 7 Jan 2008 19:43:28 -0000 1.247 +++ update.php 11 Jan 2008 02:20:54 -0000 @@ -158,9 +158,11 @@ function update_do_one($module, $number, if (!isset($context['results'][$module][$number])) { $context['results'][$module][$number] = array(); } - $context['results'][$module][$number] = array_merge($context['results'][$module][$number], $ret);; - - if ($context['finished'] == 1) { + $context['results'][$module][$number] = array_merge($context['results'][$module][$number], $ret); + // To abort the update so the schema version is not incremented, and also display + // a message, an update function should return an array with a value like: + // $ret['#update_failed'] = array('success' => FALSE, 'query' => "Why I failed") + if ($context['finished'] == 1 && empty($ret['#update_failed'])) { // Update the installed version drupal_set_installed_schema_version($module, $number); }