From dd91a1c94a48034eb7552d00142cce308e3d33b4 Mon Sep 17 00:00:00 2001 From: "dle@openerp.com" <> Date: Mon, 21 Jan 2013 11:22:45 +0100 Subject: [PATCH] [FIX]Uninstall : Savepoint before unlink bzr revid: dle@openerp.com-20130121102245-dkha32uistm3hgca --- openerp/addons/base/ir/ir_model.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index ed6f843f898..5927b500a0f 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -1062,9 +1062,13 @@ class ir_model_data(osv.osv): continue _logger.info('Deleting %s@%s', res_id, model) try: + cr.execute('SAVEPOINT record_unlink_save') self.pool.get(model).unlink(cr, uid, [res_id], context=context) except Exception: _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True) + cr.execute('ROLLBACK TO SAVEPOINT record_unlink_save') + else: + cr.execute('RELEASE SAVEPOINT record_unlink_save') # Remove non-model records first, then model fields, and finish with models unlink_if_refcount((model, res_id) for model, res_id in to_unlink