[7.0] _check_recursion gives false positive if ids include a parent/child pair
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Odoo Server (MOVED TO GITHUB) |
New
|
Undecided
|
Unassigned | |||
6.0 |
New
|
Undecided
|
OpenERP Publisher's Warranty Team | |||
OpenUpgrade Server | Status tracked in 7.0 | |||||
7.0 |
Triaged
|
High
|
Stefan Rijnhart (Opener) |
Bug Description
Here is my company parent structure:
(Pdb) self.read(cr, uid, [3, 4], ['parent_id'])
[{'id': 3, 'parent_id': False},
{'id': 4, 'parent_id': (3, u'Acme 3')}]
That is to say, record 3 is the parent of record 4. Record 3 does not have a parent itself.
When I write the same value to all records, the constraint on _check_recursion signals a recursive structure incorrectly:
(Pdb) self.check_
False
Having each record checked individually, the method gives the right results.
(Pdb) self._check_
True
(Pdb) self.check_
True
These results are inconsistent and as a result I cannot write the same field on these records simultaneously.
Related branches
- Therp: Pending requested
- OpenERP Core Team: Pending requested
-
Diff: 33 lines (+11/-7)1 file modifiedopenerp/osv/orm.py (+11/-7)
- Mohammad Alhashash (community): Needs Fixing
- Holger Brunn (Therp): Needs Fixing
-
Diff: 47 lines (+17/-8)1 file modifiedopenerp/osv/orm.py (+17/-8)
- OpenERP Core Team: Pending requested
-
Diff: 37 lines (+18/-9)1 file modifiedopenerp/osv/orm.py (+18/-9)
affects: | openobject-addons → openobject-server |
summary: |
- [7.0] _check_recursion signals non-existing recursion + [7.0] _check_recursion signals non-existing recursion when ids include a + parent/child pair |
summary: |
- [7.0] _check_recursion signals non-existing recursion when ids include a + [7.0] _check_recursion gives false positive if ids include a parent/child pair |
Changed in openupgrade-server: | |
importance: | Undecided → High |
status: | New → Triaged |
tags: | added: maintenance |
Changed in openobject-server: | |
assignee: | nobody → OpenERP Publisher's Warranty Team (openerp-opw) |
assignee: | OpenERP Publisher's Warranty Team (openerp-opw) → nobody |
Same problem concerns Server 6.0 revno 3662