4ac7820afb1653aaafa4b251eb1b82a921f5f2a2
* export benches for m2o * tag benches instead of requiring editing the source to enable them * dump the profiling stats intead of saving to disk (less convenient for complex analysis but way more so for simple overview) * add M2O benching in addition to the existing integer-based one in order to expose problematic behaviour when exporting significant numbers of non-shared relational records (& quantify impact of creation v read) Following odoo/odoo#22493 the performances of exporting XIDs was greatly improved by batching XIDs and avoiding the ~3 SQL queries per xid/record when no xid exists yet. *However* the batching was done per call of _export_rows and to handle relational fields _export_rows calls itself recursively leading to sub-standard xid batching: * for M2M and O2M fields, some batching would happen on a parent-record basis, each M2M or O2M field (in a parent) would be xid-batched, but two parent records wouldn't see their children xid-batched together * for M2O, there would be essentially no batching with a call to __ensure_xml_id per record and while less queries than before in the worst case more complex ones in fact Change: rather than ensure XIDs exist when performing the export, add XIDs export as a post-processing of the exported records table. This way, each involved model can be entirely batched and exporting 10000 records's (id, value_id/id) 2 calls instead of 10001. Also rename _export_rows's recursion parameter for clarity, it has clearly outgrown its use as a batch invalidation flag and the name is now less than clear. Furthermore _-prefix & mandate kwarg usage to make it clearer it's not really a "public" parameter, and is intended as an internal recursion flag.
…
…
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, Purchase Management, ...
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.
Then follow the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%