]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-8248 savepoints in main upgrade.php
authorskodak <skodak>
Wed, 10 Oct 2007 13:14:56 +0000 (13:14 +0000)
committerskodak <skodak>
Wed, 10 Oct 2007 13:14:56 +0000 (13:14 +0000)
lib/adminlib.php
lib/db/upgrade.php

index 45f39fde7836afca7eb50f4ca612fd11a398e58f..789732a78fb54e313d8165cdcd6f7c23f23e22d4 100644 (file)
@@ -9,6 +9,36 @@
  * @package moodlecore
  */
 
+function upgrade_main_savepoint($result, $version) {
+    global $CFG;
+
+    if ($result) {
+        if ($CFG->version >= $version) {
+            // something really wrong is going on in main upgrade script
+            error("Upgrade savepoint: Can not upgrade main version from $CFG->version to $version.");  
+        }
+        set_config('version', $version);
+    } else {
+        notify ("Upgrade savepoint: Error during main upgrade to version $version");
+    }
+}
+
+function upgrade_mod_savepoint($result, $version, $type) {
+    //TODO
+}
+
+function upgrade_plugin_savepoint($result, $version, $type, $dir) {
+    //TODO
+}
+
+function upgrade_backup_savepoint($result, $version) {
+    //TODO
+}
+
+function upgrade_blocks_savepoint($result, $version, $type) {
+    //TODO
+}
+
 /**
  * Upgrade plugins
  *
index ac8c0bd0859a5d175f2f5688e12ba7920ab8a512..dcd11c46809bf15a917fde76a611f966f83f71f3 100644 (file)
@@ -31,6 +31,8 @@ function xmldb_main_upgrade($oldversion=0) {
             drop_table(new XMLDBTable('user_coursecreators'));
             drop_table(new XMLDBTable('user_admins'));
         }
+
+        upgrade_main_savepoint($result, 2006100401);
     }
 
     if ($oldversion < 2006100601) {         /// Disable the exercise module because it's unmaintained
@@ -48,12 +50,16 @@ function xmldb_main_upgrade($oldversion=0) {
                 rebuild_course_cache();  // Rebuld cache for all modules because they might have changed
             }
         }
+
+        upgrade_main_savepoint($result, 2006100601);
     }
 
     if ($oldversion < 2006101001) {         /// Disable the LAMS module by default (if it is installed)
         if (count_records('modules', 'name', 'lams') && !count_records('lams')) {
             set_field('modules', 'visible', 0, 'name', 'lams');  // Disable it by default
         }
+
+        upgrade_main_savepoint($result, 2006101001);
     }
 
     if ($result && $oldversion < 2006102600) {
@@ -80,6 +86,8 @@ function xmldb_main_upgrade($oldversion=0) {
         $result = $result && add_field($table, $field3);
         $result = $result && add_field($table, $field4);
         $result = $result && add_field($table, $field5);
+
+        upgrade_main_savepoint($result, 2006102600);
     }
 
     if ($result && $oldversion < 2006112000) {
@@ -91,6 +99,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field attachment
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2006112000);
     }
 
     if ($result && $oldversion < 2006112200) {
@@ -109,6 +119,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field screenreader
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2006112200);
     }
 
     if ($oldversion < 2006120300) {    /// Delete guest course section settings
@@ -116,10 +128,14 @@ function xmldb_main_upgrade($oldversion=0) {
         if ($guest = get_record('user', 'username', 'guest')) {
             execute_sql("DELETE FROM {$CFG->prefix}course_display where userid=$guest->id", true);
         }
+
+        upgrade_main_savepoint($result, 2006120300);
     }
 
     if ($oldversion < 2006120400) {    /// Remove secureforms config setting
         execute_sql("DELETE FROM {$CFG->prefix}config where name='secureforms'", true);
+
+        upgrade_main_savepoint($result, 2006120400);
     }
 
     if (!empty($CFG->rolesactive) && $oldversion < 2006120700) { // add moodle/user:viewdetails to all roles!
@@ -130,6 +146,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 assign_capability('moodle/user:viewdetails', CAP_ALLOW, $roleid, $context->id);
             }
         }
+
+        upgrade_main_savepoint($result, 2006120700);
     }
 
     // Move the auth plugin settings into the config_plugin table
@@ -166,6 +184,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 break; // don't check the rest of the auth plugin names
             }
         }
+
+        upgrade_main_savepoint($result, 2007010300);
     }
 
     if ($oldversion < 2007010301) {
@@ -475,6 +495,7 @@ function xmldb_main_upgrade($oldversion=0) {
         // Create the table
         $result = $result && create_table($table);
 
+        upgrade_main_savepoint($result, 2007010301);
     }
 
     if ($result && $oldversion < 2007010404) {
@@ -502,6 +523,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 $result && update_record('user_info_field', $field);
             }
         }
+
+        upgrade_main_savepoint($result, 2007010404);
     }
 
     if ($result && $oldversion < 2007011501) {
@@ -515,6 +538,8 @@ function xmldb_main_upgrade($oldversion=0) {
             unset_config('enablerecordcache');
             unset($CFG->enablerecordcache);
         }
+
+        upgrade_main_savepoint($result, 2007011501);
     }
 
     if ($result && $oldversion < 2007012100) {
@@ -550,6 +575,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 }
             }
         }
+
+        upgrade_main_savepoint($result, 2007012100);
     }
 
     if ($result && $oldversion < 2007012101) {
@@ -569,6 +596,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch change of precision for field user->lang
         $result = $result && change_field_precision($table, $field);
+
+        upgrade_main_savepoint($result, 2007012101);
     }
 
     if ($result && $oldversion < 2007012400) {
@@ -580,10 +609,14 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch rename field accessctrl
         $result = $result && rename_field($table, $field, 'accessctrl');
+
+        upgrade_main_savepoint($result, 2007012400);
     }
 
     if ($result && $oldversion < 2007012500) {
         execute_sql("DELETE FROM {$CFG->prefix}user WHERE username='changeme'", true);
+
+        upgrade_main_savepoint($result, 2007012500);
     }
 
     if ($result && $oldversion < 2007020400) {
@@ -597,6 +630,8 @@ function xmldb_main_upgrade($oldversion=0) {
         /// Launch change of nullability for field ajax
             $result = $result && change_field_notnull($table, $field);
         }
+
+        upgrade_main_savepoint($result, 2007020400);
     }
 
     if (!empty($CFG->rolesactive) && $result && $oldversion < 2007021401) {
@@ -611,11 +646,15 @@ function xmldb_main_upgrade($oldversion=0) {
                 }
             }
         }
+
+        upgrade_main_savepoint($result, 2007021401);
     }
 
     if ($result && $oldversion < 2007021501) {
     /// delete removed setting from config
         unset_config('tabselectedtofront');
+
+        upgrade_main_savepoint($result, 2007021501);
     }
 
 
@@ -642,6 +681,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch create table for role_sortorder
         $result = $result && create_table($table);
+
+        upgrade_main_savepoint($result, 2007032200);
     }
 
 
@@ -667,6 +708,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add index text
         $result = $result && add_index($table, $index);
+
+        upgrade_main_savepoint($result, 2007040400);
     }
 
     if ($result && $oldversion < 2007041100) {
@@ -687,6 +730,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add index idnumber
         $result = $result && add_index($table, $index);
 
+        upgrade_main_savepoint($result, 2007041100);
     }
 
     /* Changes to the custom profile menu type - store values rather than indices.
@@ -717,6 +761,7 @@ function xmldb_main_upgrade($oldversion=0) {
             }
         }
 
+        upgrade_main_savepoint($result, 2007041600);
     }
 
     /// adding new gradebook tables
@@ -778,6 +823,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch create table for events_queue_handlers
         $result = $result && create_table($table);
 
+        upgrade_main_savepoint($result, 2007041800);
     }
 
     if ($result && $oldversion < 2007043001) {
@@ -797,6 +843,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field status
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007043001);
     }
 
     if ($result && $oldversion < 2007050201) {
@@ -808,6 +856,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field theme
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007050201);
     }
 
     if ($result && $oldversion < 2007051100) {
@@ -827,6 +877,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field signup
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007051100);
     }
 
     if (!empty($CFG->rolesactive) && $result && $oldversion < 2007051801) {
@@ -840,6 +892,8 @@ function xmldb_main_upgrade($oldversion=0) {
             $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
             assign_capability('moodle/my:manageblocks',CAP_ALLOW,$defaultroleid,$context->id);
         }
+
+        upgrade_main_savepoint($result, 2007051801);
     }
 
     if ($result && $oldversion < 2007052200) {
@@ -850,11 +904,15 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch drop field stackdump
         $result = $result && drop_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007052200);
     }
 
     if ($result && $oldversion < 2007052300) {
         require_once($CFG->dirroot . '/question/upgrade.php');
         $result = $result && question_remove_rqp_qtype();
+
+        upgrade_main_savepoint($result, 2007052300);
     }
 
     if ($result && $oldversion < 2007060500) {
@@ -874,11 +932,15 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add key usermodified
         $result = $result && add_key($table, $key);
+
+        upgrade_main_savepoint($result, 2007060500);
     }
 
     if ($result && $oldversion < 2007070603) {
         // Small update of guest user to be 100% sure it has the correct mnethostid (MDL-10375)
         set_field('user', 'mnethostid', $CFG->mnet_localhost_id, 'username', 'guest');
+
+        upgrade_main_savepoint($result, 2007070603);
     }
 
     if ($result && $oldversion < 2007071400) {
@@ -935,11 +997,14 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add key applicationid
         $result = $result && add_key($table, $key);
 
+        upgrade_main_savepoint($result, 2007071400);
     }
 
     if ($result && $oldversion < 2007071607) {
         require_once($CFG->dirroot . '/question/upgrade.php');
         $result = $result && question_remove_rqp_qtype_config_string();
+
+        upgrade_main_savepoint($result, 2007071607);
     }
 
     if ($result && $oldversion < 2007072200) {
@@ -1299,6 +1364,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 rs_close($rs);
             }
         }
+
+        upgrade_main_savepoint($result, 2007072200);
     }
 
     if ($result && $oldversion < 2007072400) {
@@ -1312,6 +1379,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch change of default for field sessdata
         $result = $result && change_field_default($table, $field);
+
+        upgrade_main_savepoint($result, 2007072400);
     }
 
 
@@ -1332,6 +1401,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch create table for grade_outcomes_courses
         $result = $result && create_table($table);
 
+        upgrade_main_savepoint($result, 2007073100);
     }
 
 
@@ -1398,6 +1468,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch create table for tag_instance
         $result = $result && create_table($table);
 
+        upgrade_main_savepoint($result, 2007073101);
     }
 
 
@@ -1410,6 +1481,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field rawname
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007073103);
     }
 
     if ($result && $oldversion < 2007073105) {
@@ -1430,6 +1503,8 @@ function xmldb_main_upgrade($oldversion=0) {
         /// Launch add field description
             $result = $result && add_field($table, $field);
         }
+
+        upgrade_main_savepoint($result, 2007073105);
     }
 
     // adding unique contraint on (courseid,shortname) of an outcome
@@ -1442,6 +1517,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add key courseid-shortname
         $result = $result && add_key($table, $key);
+
+        upgrade_main_savepoint($result, 2007080100);
     }
 
     /// originally there was supportname and supportemail upgrade code - this is handled in upgradesettings.php instead
@@ -1464,6 +1541,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add index tagiditem
         $result = $result && add_index($table, $index);
 
+        upgrade_main_savepoint($result, 2007080202);
     }
 
     if ($result && $oldversion < 2007080300) {
@@ -1487,6 +1565,8 @@ function xmldb_main_upgrade($oldversion=0) {
         /// Launch add field aggregateoutcomes
             $result = $result && add_field($table, $field);
         }
+
+        upgrade_main_savepoint($result, 2007080300);
     }
 
     if ($result && $oldversion < 2007080800) { /// Normalize course->shortname MDL-10026
@@ -1498,6 +1578,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch change of precision for field shortname
         $result = $result && change_field_precision($table, $field);
+
+        upgrade_main_savepoint($result, 2007080800);
     }
 
     if ($result && $oldversion < 2007080900) {
@@ -1519,6 +1601,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// make sure the system context has proper data
         get_system_context(false);
+
+        upgrade_main_savepoint($result, 2007080900);
     }
 
     if ($result && $oldversion < 2007080903) {
@@ -1561,11 +1645,14 @@ function xmldb_main_upgrade($oldversion=0) {
             $result = $result && add_index($table, $index);
         }
 
+        upgrade_main_savepoint($result, 2007080903);
     }
 
     if ($result && $oldversion < 2007081000) {
         require_once($CFG->dirroot . '/question/upgrade.php');
         $result = $result && question_upgrade_context_etc();
+
+        upgrade_main_savepoint($result, 2007081000);
     }
 
     if ($result && $oldversion < 2007081302) {
@@ -1617,6 +1704,7 @@ function xmldb_main_upgrade($oldversion=0) {
         $key->setAttributes(XMLDB_KEY_FOREIGN, array('groupingid'), 'groupings', array('id'));
         $result = $result && add_key($table, $key);
 
+        upgrade_main_savepoint($result, 2007081302);
     }
 
     if ($result && $oldversion < 2007082300) {
@@ -1629,6 +1717,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field rawname
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007082300);
     }
 
     if ($result && $oldversion < 2007082700) {
@@ -1640,6 +1730,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field timemodified
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007082700);
     }
 
     /// migrate all tags table to tag - this code MUST use SQL only,
@@ -1701,6 +1793,8 @@ function xmldb_main_upgrade($oldversion=0) {
         drop_table($table);
         $table = new XMLDBTable('blog_tag_instance');
         drop_table($table);
+
+        upgrade_main_savepoint($result, 2007082701);
     }
 
     /// MDL-11015, MDL-11016
@@ -1803,6 +1897,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add key tagid
         $result = $result && add_key($table, $key);
 
+        upgrade_main_savepoint($result, 2007082800);
     }
 
 
@@ -1830,6 +1925,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch create table for user_private_key
         $result = $result && create_table($table);
+
+        upgrade_main_savepoint($result, 2007082801);
     }
 
 /// Going to modify the applicationid from int(1) to int(10). Dropping and
@@ -1858,6 +1955,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add key applicationid
         $result = $result && add_key($table, $key);
 
+        upgrade_main_savepoint($result, 2007082803);
     }
 
     if ($result && $oldversion < 2007090503) {
@@ -1912,6 +2010,8 @@ function xmldb_main_upgrade($oldversion=0) {
             $sql = "UPDATE {$CFG->prefix}grade_categories SET aggregation = $i, aggregateonlygraded = 1 WHERE aggregation = $j";
             execute_sql($sql, true);
         }
+
+        upgrade_main_savepoint($result, 2007090503);
     }
 
 /// To have UNIQUE indexes over NULLable columns isn't cross-db at all
@@ -1942,6 +2042,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch add index idnumber-courseid
         $result = $result && add_index($table, $index);
 
+        upgrade_main_savepoint($result, 2007090600);
     }
 
 /// Create the permanent context_temp table to be used by build_context_path()
@@ -1975,6 +2076,8 @@ function xmldb_main_upgrade($oldversion=0) {
             // upgrade from 1.6 - build all contexts
             create_contexts(null, true, true);
         }
+
+        upgrade_main_savepoint($result, 2007092001);
     }
 
     /**
@@ -2096,6 +2199,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 }
             }
         }
+
+        upgrade_main_savepoint($result, 2007092002);
     }
 
     if ($result && $oldversion < 2007092803) {
@@ -2172,6 +2277,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// fix incorrect -1 default for grade_item->display
         execute_sql("UPDATE {$CFG->prefix}grade_items SET display=0 WHERE display=-1");
+
+        upgrade_main_savepoint($result, 2007092803);
     }
 
 /// migrade grade letters - we can not do this in normal grades upgrade becuase we need all course contexts
@@ -2189,6 +2296,8 @@ function xmldb_main_upgrade($oldversion=0) {
         if (!index_exists($table, $index)) {
             $result = $result && add_index($table, $index);
         }
+
+        upgrade_main_savepoint($result, 2007092806);
     }
 
     if ($result && $oldversion < 2007100100) {
@@ -2219,6 +2328,8 @@ function xmldb_main_upgrade($oldversion=0) {
         if (!table_exists($table)) {
             $result = $result && create_table($table);
         }
+
+        upgrade_main_savepoint($result, 2007100100);
     }
 
 
@@ -2239,6 +2350,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add field theme
         $result = $result && add_field($table, $field);
+
+        upgrade_main_savepoint($result, 2007100300);
     }
 
     if ($result && $oldversion < 2007100301) {
@@ -2263,6 +2376,8 @@ function xmldb_main_upgrade($oldversion=0) {
         if (!index_exists($table, $index)) {
             $result = $result && add_index($table, $index);
         }
+
+        upgrade_main_savepoint($result, 2007100301);
     }
 
     if ($result && $oldversion < 2007100303) {
@@ -2274,6 +2389,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch change of nullability for field summary
         $result = $result && change_field_notnull($table, $field);
+
+        upgrade_main_savepoint($result, 2007100303);
     }
 
     if ($result && $oldversion < 2007100500) {
@@ -2286,6 +2403,8 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch change of nullability for field path
         $result = $result && change_field_notnull($table, $field);
+
+        upgrade_main_savepoint($result, 2007100500);
     }
 
     if ($result && $oldversion < 2007100700) {
@@ -2340,28 +2459,7 @@ function xmldb_main_upgrade($oldversion=0) {
     /// Launch create table for grade_import_values
         $result = $result && create_table($table);
 
-    }
-
-    if ($result && $oldversion < 2007100803) {
-
-    /// Define table grade_settings to be created
-        $table = new XMLDBTable('grade_settings');
-
-    /// Adding fields to table grade_settings
-        $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
-        $table->addFieldInfo('courseid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, null);
-        $table->addFieldInfo('name', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null);
-        $table->addFieldInfo('value', XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null);
-
-    /// Adding keys to table grade_settings
-        $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
-        $table->addKeyInfo('courseid', XMLDB_KEY_FOREIGN, array('courseid'), 'course', array('id'));
-
-    /// Adding indexes to table grade_settings
-        $table->addIndexInfo('courseid-name', XMLDB_INDEX_UNIQUE, array('courseid', 'name'));
-
-    /// Launch create table for grade_settings
-        $result = $result && create_table($table);
+        upgrade_main_savepoint($result, 2007100700);
     }
 
 /// dropping context_rel table - not used anymore
@@ -2374,6 +2472,8 @@ function xmldb_main_upgrade($oldversion=0) {
         if (table_exists($table)) {
             drop_table($table);
         }
+
+        upgrade_main_savepoint($result, 2007100800);
     }
 
 /// Truncate the text_cahe table and add new index
@@ -2389,6 +2489,33 @@ function xmldb_main_upgrade($oldversion=0) {
 
     /// Launch add index timemodified
         $result = $result && add_index($table, $index);
+
+        upgrade_main_savepoint($result, 2007100802);
+    }
+
+/// newtable for gradebook settings per course
+    if ($result && $oldversion < 2007100803) {
+
+    /// Define table grade_settings to be created
+        $table = new XMLDBTable('grade_settings');
+
+    /// Adding fields to table grade_settings
+        $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
+        $table->addFieldInfo('courseid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, null);
+        $table->addFieldInfo('name', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null);
+        $table->addFieldInfo('value', XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null);
+
+    /// Adding keys to table grade_settings
+        $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
+        $table->addKeyInfo('courseid', XMLDB_KEY_FOREIGN, array('courseid'), 'course', array('id'));
+
+    /// Adding indexes to table grade_settings
+        $table->addIndexInfo('courseid-name', XMLDB_INDEX_UNIQUE, array('courseid', 'name'));
+
+    /// Launch create table for grade_settings
+        $result = $result && create_table($table);
+
+        upgrade_main_savepoint($result, 2007100803);
     }
 
 /// cleanup in user_lastaccess
@@ -2399,6 +2526,8 @@ function xmldb_main_upgrade($oldversion=0) {
                                     FROM {$CFG->prefix}course c
                                    WHERE c.id = {$CFG->prefix}user_lastaccess.courseid)"; 
         execute_sql($sql);
+
+        upgrade_main_savepoint($result, 2007100902);
     }
 
 /// drop old gradebook tables
@@ -2415,6 +2544,8 @@ function xmldb_main_upgrade($oldversion=0) {
                 drop_table($table);
             }
         }
+
+        upgrade_main_savepoint($result, 2007100903);
     }