summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorCedric Snauwaert <csn@openerp.com>2016-01-12 17:58:14 +0100
committerOlivier Dony <odo@openerp.com>2016-02-04 17:10:08 +0100
commit4de3f4c4baa45b6bc5d0d2ede158d29ca4f99d57 (patch)
tree7dec0c672774e2b2592ccc403311f95983d26982 /addons
parent5b4d303d05a95eae7cc52f66386c9bc7a45518f1 (diff)
[FIX] expression: fix search for o2m with non existing id
The result of searching on a o2m field for a missing ID was the whole set of records which do not have any lines in the o2m fields. This is definitely not the desired behavior, and could lead to disatrous performance, because the returned set could be extremely large. One example of such behavior is for recomputing fields in the env cache in 8.0+. When a o2m line gets deleted, it triggers the recompute of any dependent fields. In order to locate the records to recompute, the ORM searches for the 'parent' records in the comodel table. When this operation is done by 2 users concurrently the o2m line may not exist anymore, and the bug is triggered: dependent fields are recomputed on a possibly very large set of records that did not need any recompute!
Diffstat (limited to 'addons')
0 files changed, 0 insertions, 0 deletions