disable transaction for mysql for restore, as a failure during restore may lead to an empty database, as drop table is not transactional for mysql

This commit is contained in:
Klaus Leithoff 2014-02-17 16:18:26 +00:00
parent 9f6d14690e
commit e95d46b7bc

View File

@ -359,7 +359,7 @@ class db_backup
$system_config[] = $row;
}
}
$this->db->transaction_begin();
if (substr($this->db->Type,0,5) != 'mysql') $this->db->transaction_begin();
// drop all existing tables
foreach($this->adodb->MetaTables('TABLES') as $table)
@ -616,10 +616,13 @@ class db_backup
unlink($name);
rmdir($dir.'/database_backup');
}
if (substr($this->db->Type,0,5) != 'mysql')
{
if (!$this->db->transaction_commit())
{
return lang('Restore failed');
}
}
// flush instance cache
egw_cache::flush(egw_cache::INSTANCE);