Merge lp:~openerp-commiter/openobject-server/read_group_NULL_value-nch into lp:openobject-server/6.0

Proposed by Naresh(OpenERP)
Status: Merged
Merged at revision: 3565
Proposed branch: lp:~openerp-commiter/openobject-server/read_group_NULL_value-nch
Merge into: lp:openobject-server/6.0
Diff against target: 21 lines (+7/-4)
1 file modified
bin/osv/orm.py (+7/-4)
To merge this branch: bzr merge lp:~openerp-commiter/openobject-server/read_group_NULL_value-nch
Reviewer Review Type Date Requested Status
Olivier Laurent (Open ERP) Pending
Review via email: mp+88345@code.launchpad.net

Description of the change

[FIX] backported from trunk revision:3900 read_group: NULL->False for grouped boolean fields We need to coalesce NULLs to False when grouping boolean fields, otherwise we get duplicate groups sharing the same rows.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/osv/orm.py'
2--- bin/osv/orm.py 2011-12-15 12:10:30 +0000
3+++ bin/osv/orm.py 2012-01-12 11:14:25 +0000
4@@ -2179,10 +2179,13 @@
5 group_count = group_by = groupby
6 if groupby:
7 if fget.get(groupby):
8- if fget[groupby]['type'] in ('date', 'datetime'):
9- flist = "to_char(%s,'yyyy-mm') as %s " % (qualified_groupby_field, groupby)
10- groupby = "to_char(%s,'yyyy-mm')" % (qualified_groupby_field)
11- qualified_groupby_field = groupby
12+ groupby_type = fget[groupby]['type']
13+ if groupby_type in ('date', 'datetime'):
14+ qualified_groupby_field = "to_char(%s,'yyyy-mm')" % qualified_groupby_field
15+ flist = "%s as %s " % (qualified_groupby_field, groupby)
16+ elif groupby_type == 'boolean':
17+ qualified_groupby_field = "coalesce(%s,false)" % qualified_groupby_field
18+ flist = "%s as %s " % (qualified_groupby_field, groupby)
19 else:
20 flist = qualified_groupby_field
21 else: