From cd9c46207d125f2e3ee5f6c938194a4e39c46df1 Mon Sep 17 00:00:00 2001 From: Tony Levi Date: Wed, 27 Mar 2013 11:21:36 +1030 Subject: [PATCH] MDL-38734: Automated backup failure causing all course to fail --- backup/moodle2/backup_stepslib.php | 1 + backup/util/dbops/backup_controller_dbops.class.php | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/backup/moodle2/backup_stepslib.php b/backup/moodle2/backup_stepslib.php index c65a45e920b..474005b9349 100644 --- a/backup/moodle2/backup_stepslib.php +++ b/backup/moodle2/backup_stepslib.php @@ -37,6 +37,7 @@ class create_and_clean_temp_stuff extends backup_execution_step { backup_helper::check_and_create_backup_dir($this->get_backupid());// Create backup temp dir backup_helper::clear_backup_dir($this->get_backupid()); // Empty temp dir, just in case backup_helper::delete_old_backup_dirs(time() - (4 * 60 * 60)); // Delete > 4 hours temp dirs + backup_controller_dbops::drop_backup_ids_temp_table($this->get_backupid()); // Drop ids temp table backup_controller_dbops::create_backup_ids_temp_table($this->get_backupid()); // Create ids temp table } } diff --git a/backup/util/dbops/backup_controller_dbops.class.php b/backup/util/dbops/backup_controller_dbops.class.php index 70bc626eac2..03de43b1b74 100644 --- a/backup/util/dbops/backup_controller_dbops.class.php +++ b/backup/util/dbops/backup_controller_dbops.class.php @@ -164,8 +164,10 @@ abstract class backup_controller_dbops extends backup_dbops { $dbman = $DB->get_manager(); // We are going to use database_manager services $targettablename = 'backup_ids_temp'; - $table = new xmldb_table($targettablename); - $dbman->drop_table($table); // And drop it + if ($dbman->table_exists($targettablename)) { + $table = new xmldb_table($targettablename); + $dbman->drop_table($table); // And drop it + } } /**