Merge lp:~openerp-dev/openobject-server/6.0-xmlid-cache-problems-cto into lp:openobject-server/6.0

Proposed by Samus CTO (OpenERP)
Status: Merged
Approved by: Xavier ALT
Approved revision: 3647
Merged at revision: 3647
Proposed branch: lp:~openerp-dev/openobject-server/6.0-xmlid-cache-problems-cto
Merge into: lp:openobject-server/6.0
Diff against target: 36 lines (+8/-1)
2 files modified
bin/addons/base/ir/ir_model.py (+6/-0)
bin/tools/convert.py (+2/-1)
To merge this branch: bzr merge lp:~openerp-dev/openobject-server/6.0-xmlid-cache-problems-cto
Reviewer Review Type Date Requested Status
Xavier ALT Pending
Review via email: mp+137208@code.launchpad.net

Description of the change

Cache problem found with MSF.

To post a comment you must log in.
3647. By Xavier ALT

[FIX] merge clear_cache call within 'ir.model.data' unlink - as there is not support generic 'clear_caches()' in orm for v6.0

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/addons/base/ir/ir_model.py'
2--- bin/addons/base/ir/ir_model.py 2012-01-04 10:25:47 +0000
3+++ bin/addons/base/ir/ir_model.py 2012-12-12 11:46:21 +0000
4@@ -630,6 +630,12 @@
5 id = False
6 return id
7
8+ def unlink(self, cr, uid, ids, context=None):
9+ """ Regular unlink method, but make sure to clear the caches. """
10+ self._get_id.clear_cache(cr.dbname)
11+ self.get_object_reference.clear_cache(cr.dbname)
12+ return super(ir_model_data,self).unlink(cr, uid, ids, context=context)
13+
14 def _update(self,cr, uid, model, module, values, xml_id=False, store=True, noupdate=False, mode='init', res_id=False, context=None):
15 model_obj = self.pool.get(model)
16 if not context:
17
18=== modified file 'bin/tools/convert.py'
19--- bin/tools/convert.py 2010-12-29 10:50:04 +0000
20+++ bin/tools/convert.py 2012-12-12 11:46:21 +0000
21@@ -49,7 +49,7 @@
22 from yaml_import import convert_yaml_import
23
24 # List of etree._Element subclasses that we choose to ignore when parsing XML.
25-from tools import SKIPPED_ELEMENT_TYPES
26+from tools import SKIPPED_ELEMENT_TYPES, cache
27
28 # Import of XML records requires the unsafe eval as well,
29 # almost everywhere, which is ok because it supposedly comes
30@@ -869,6 +869,7 @@
31 rec.sourceline,
32 etree.tostring(rec).strip(), exc_info=True)
33 self.cr.rollback()
34+ cache.clean_caches_for_db(self.cr.dbname)
35 raise
36 return True
37