]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15343 mod upgrade savepoints implemented (the xmldb generator is not updated...
authorskodak <skodak>
Sun, 22 Jun 2008 23:35:52 +0000 (23:35 +0000)
committerskodak <skodak>
Sun, 22 Jun 2008 23:35:52 +0000 (23:35 +0000)
lib/adminlib.php
lib/setuplib.php
lib/weblib.php
mod/assignment/db/upgrade.php
mod/data/db/upgrade.php
mod/feedback/db/upgrade.php
mod/forum/db/upgrade.php
mod/lesson/db/upgrade.php
mod/quiz/db/upgrade.php

index ee18e82592d3c101e7ed98952f9fb81defe4da7e..a8e1d466a1268b766e6599ec6a75b2c9b68ad53a 100644 (file)
@@ -39,8 +39,23 @@ function upgrade_main_savepoint($result, $version) {
     }
 }
 
-function upgrade_mod_savepoint($result, $version, $type) {
-    //TODO
+function upgrade_mod_savepoint($result, $version, $modname) {
+    global $DB;
+
+    if (!$module = $DB->get_record('modules', array('name'=>$modname))) {
+        print_error('modulenotexist', 'debug', '', $modname);
+    }
+
+    if ($result) {
+        if ($module->version >= $version) {
+            // something really wrong is going on in upgrade script
+            print_error('cannotdowngrade', 'debug', '', array($module->version, $version));
+        }
+        $module->verions = $version;
+        $DB->update_record('modules', $module);
+    } else {
+        notify ("Upgrade savepoint: Error during mod upgrade to version $version");
+    }
 }
 
 function upgrade_plugin_savepoint($result, $version, $type, $dir) {
index 61a5220f8e06250a2162b69794232466c3ecd3c9..73bb67abcdf071d081e39d865af19a8ea3050b37 100644 (file)
@@ -48,13 +48,6 @@ class moodle_exception extends Exception {
  * Default exception handler, uncought exceptions are equivalent to using print_error()
  */
 function default_exception_handler($ex) {
-    global $DB;
-
-    if ($DB) {
-        //if you enable db debugging and exception is thrown, the print footer prints a lot of rubbish
-        $DB->set_debug(0);
-    }
-
     $backtrace = $ex->getTrace();
     $place = array('file'=>$ex->getFile(), 'line'=>$ex->getLine(), 'exception'=>get_class($ex));
     array_unshift($backtrace, $place);
index cc53ab82d5366e0f8d2e80845a24204cbd1b9be4..b23256ddd832b1f15e9a7cc6776203c45a6e0c34 100644 (file)
@@ -5651,7 +5651,12 @@ function print_error($errorcode, $module='', $link='', $a=NULL) {
  * Internal function - do not use directly!!
  */
 function _print_normal_error($errorcode, $module, $a, $link, $backtrace, $debuginfo=null, $showerrordebugwarning=false) {
-    global $CFG, $SESSION, $THEME;
+    global $CFG, $SESSION, $THEME, $DB;
+
+    if ($DB) {
+        //if you enable db debugging and exception is thrown, the print footer prints a lot of rubbish
+        $DB->set_debug(0);
+    }
 
     if ($module == 'error') {
         $modulelink = 'moodle';
index ef11ef6e72c0743f2a64867f068c05062708a9c1..ddc7df69d63f327359a8a0662de672833a9a6238 100644 (file)
@@ -33,6 +33,7 @@ function xmldb_assignment_upgrade($oldversion=0) {
         $DB->set_debug(false);
         assignment_update_grades();
         $DB->set_debug(true);
+        upgrade_mod_savepoint($result, 2007101511, 'assignment');
     }
 
     return $result;
index 69d7b7ef1ae9408d92cfd4200fc7adb25b0f45f4..730899ba066eb42740cefde862eeb93b6436ba68 100644 (file)
@@ -36,6 +36,7 @@ function xmldb_data_upgrade($oldversion=0) {
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
+        upgrade_mod_savepoint($result, 2007101512, 'data');
     }
 
     if ($result && $oldversion <  2007101513) {
@@ -50,6 +51,7 @@ function xmldb_data_upgrade($oldversion=0) {
         $dbman->change_field_notnull($table, $field);
         // Second step, Set default to 0
         $dbman->change_field_default($table, $field);
+        upgrade_mod_savepoint($result, 2007101513, 'data');
     }
 
     return $result;
index 4fd94503dd369f232d658094fa4857093909093b..c9a7c57e314001c8dabac9891d5e41ee670a4e35 100644 (file)
@@ -98,6 +98,7 @@ function xmldb_feedback_upgrade($oldversion=0) {
 
         $dbman->create_table($table);
         ////////////////////////////////////////////////////////////
+        upgrade_mod_savepoint($result, 2007012310, 'feedback');
     }
 
     if ($result && $oldversion < 2007050504) {
@@ -127,6 +128,7 @@ function xmldb_feedback_upgrade($oldversion=0) {
         $dbman->add_field($table, $field);
 
         ////////////////////////////////////////////////////////////
+        upgrade_mod_savepoint($result, 2007050504, 'feedback');
     }
 
     if ($result && $oldversion < 2007102600) {
@@ -137,6 +139,7 @@ function xmldb_feedback_upgrade($oldversion=0) {
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
+        upgrade_mod_savepoint($result, 2007102600, 'feedback');
     }
 
     if ($result && $oldversion < 2008042400) { //New version in version.php
@@ -146,6 +149,7 @@ function xmldb_feedback_upgrade($oldversion=0) {
                 $result = $result && $DB->execute($update_sql.$fb->id);
             }
         }
+        upgrade_mod_savepoint($result, 2008042400, 'feedback');
     }
 
     if ($result && $oldversion < 2008042401) { //New version in version.php
@@ -168,6 +172,7 @@ function xmldb_feedback_upgrade($oldversion=0) {
             $result = $result && $DB->execute($update_sql1);            
             $result = $result && $DB->execute($update_sql2);            
         }
+        upgrade_mod_savepoint($result, 2008042401, 'feedback');
     }
 
     if ($result && $oldversion < 2008042801) {
@@ -195,6 +200,8 @@ function xmldb_feedback_upgrade($oldversion=0) {
         $new_log_display->mtable = 'course';
         $new_log_display->field = 'shortname';
         $result = $result && $DB->insert_record('log_display', $new_log_display);
+
+        upgrade_mod_savepoint($result, 2008042801, 'feedback');
     }
 
     if ($result && $oldversion < 2008042900) {
@@ -203,6 +210,8 @@ function xmldb_feedback_upgrade($oldversion=0) {
         $field = new xmldb_field('autonumbering', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '1', 'multiple_submit');
         /// Launch add field2
         $dbman->add_field($table, $field);
+
+        upgrade_mod_savepoint($result, 2008042900, 'feedback');
     }
 
     if ($result && $oldversion < 2008050104) {
@@ -211,6 +220,8 @@ function xmldb_feedback_upgrade($oldversion=0) {
         $field = new xmldb_field('site_after_submit', XMLDB_TYPE_CHAR, '255', null, null, false, null, null, '', 'autonumbering');
         /// Launch add field2
         $dbman->add_field($table, $field);
+
+        upgrade_mod_savepoint($result, 2008050104, 'feedback');
     }
     
     if ($result && $oldversion < 2008050105) {
@@ -218,7 +229,10 @@ function xmldb_feedback_upgrade($oldversion=0) {
         $table = new xmldb_table('feedback_tracking');
         $field = new xmldb_field('count');
         $dbman->drop_field($table, $field);
+
+        upgrade_mod_savepoint($result, 2008050105, 'feedback');
     }
+
     return $result;
 }
 
index acd4cea3821b36db4b5db87856b2fbfa5fb45851..3b51e546d066dcaf9b85ca8831e71f2c33ca5b35 100644 (file)
@@ -42,6 +42,8 @@ function xmldb_forum_upgrade($oldversion=0) {
         $DB->set_debug(false);
         forum_update_grades();
         $DB->set_debug(true);
+
+        upgrade_mod_savepoint($result, 2007101511, 'forum');
     }
 
     if ($result && $oldversion < 2007101512) {
@@ -70,6 +72,8 @@ function xmldb_forum_upgrade($oldversion=0) {
             $DB->set_debug(true);
             $rs-close();
         }
+
+        upgrade_mod_savepoint($result, 2007101512, 'forum');
     }
 
 
index 98a3331e47798df899579dea430a7390a1ea0bbd..5089fecd440951ae75edf2ee7eef81379bcdd089 100644 (file)
@@ -40,6 +40,8 @@ function xmldb_lesson_upgrade($oldversion=0) {
         /// Launch rename field usegrademax to usemaxgrade
             $dbman->rename_field($table, $field, 'usemaxgrade');
         }
+
+        upgrade_mod_savepoint($result, 2007072201, 'lesson');
     }
 
     return $result;
index 796713864a8ff736336be29e8f143e2d5ce5dbc8..80fd0087611735cd9b6170210f0f32c4b1019055 100644 (file)
@@ -45,7 +45,9 @@ function xmldb_quiz_upgrade($oldversion=0) {
             $dbman->create_table($table);
         }
 
+        upgrade_mod_savepoint($result, 2008062000, 'quiz');
     }
+
     if ($result && $oldversion < 2008062001) {
         $reporttoinsert = new object();
         $reporttoinsert->name = 'overview';
@@ -71,6 +73,8 @@ function xmldb_quiz_upgrade($oldversion=0) {
         $reporttoinsert->name = 'grading';
         $reporttoinsert->displayorder = 6000;
         $result = $result && $DB->insert_record('quiz_report', $reporttoinsert);
+
+        upgrade_mod_savepoint($result, 2008062001, 'quiz');
     }