Merge lp:~openerp-dev/openobject-server/6.0-reportsxw_use_cached_decimalprecison-xal into lp:openobject-server/6.0

Proposed by Xavier ALT
Status: Merged
Approved by: Xavier ALT
Approved revision: 3648
Merged at revision: 3648
Proposed branch: lp:~openerp-dev/openobject-server/6.0-reportsxw_use_cached_decimalprecison-xal
Merge into: lp:openobject-server/6.0
Diff against target: 14 lines (+1/-3)
1 file modified
bin/report/report_sxw.py (+1/-3)
To merge this branch: bzr merge lp:~openerp-dev/openobject-server/6.0-reportsxw_use_cached_decimalprecison-xal
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+139884@code.launchpad.net

Description of the change

Hi,

This improve speed of rml reports using get_digits() of formatLang(dp='...').

Regards,
Xavier

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

[FIX] report sxw: use cached decimal precision insteaf of search + browse

  This improve speed of report using get_digits() intensively
  (especially accounting report - like General Ledger)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/report/report_sxw.py'
2--- bin/report/report_sxw.py 2011-10-13 12:12:25 +0000
3+++ bin/report/report_sxw.py 2012-12-14 13:34:19 +0000
4@@ -248,9 +248,7 @@
5 d = DEFAULT_DIGITS = 2
6 if dp:
7 decimal_precision_obj = self.pool.get('decimal.precision')
8- ids = decimal_precision_obj.search(self.cr, self.uid, [('name', '=', dp)])
9- if ids:
10- d = decimal_precision_obj.browse(self.cr, self.uid, ids)[0].digits
11+ d = decimal_precision_obj.precision_get(self.cr, self.uid, dp)
12 elif obj and f:
13 res_digits = getattr(obj._columns[f], 'digits', lambda x: ((16, DEFAULT_DIGITS)))
14 if isinstance(res_digits, tuple):