4044e468617172f3aeedbdf00e116cc966997d5b
CRM install query count can vary from one execution to another, leading to difficulties when analysing performances evolution. The main reason for this is that some compute methods were called in different order. Even if compute order shouldn't have any effect on the final result, making it well defined will help finding other causes of non-determinism. The initial observation was that sorting Environment.fields_to_compute leads to a fixed number of query when installing crm. The main cause of non-determinisim is the usage of `set` impacting Field.compute_value and BaseModel._modified_triggers. Transforming all these `set` to `OrderedSet` solves the problem. The query count is now deterministic when installing a database from scratch, but not when updating a database with -i crm. OrderedSet is also slightly optimised by using a dict instead of an closes odoo/odoo#68692 Ordereddict: dict order is deterministic since python3.6 Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%