Monday, April 27, 2026
1 change · saas-19.3
Enhancements to existing features
This update optimizes how Odoo handles price list calculations, addressing a potential performance bottleneck. By using a more efficient graph-based approach, the system now processes large datasets of price lists much faster, preventing timeouts and improving overall system responsiveness. This change focuses on internal technical improvements to enhance performance.
Original PR description
The _check_pricelist_recursion constraint could cause performance issues when iterating over full recordsets or repeatedly querying large datasets.
Refactor the recursion logic to traverse pricelists as a graph (DFS on pricelist pairs) and replace item-level iteration with a targeted _read_group query to fetch only relevant pricelist-based rules:
- pricelist_id
- base = 'pricelist'
Avoid redundant path evaluations by tracking visited pricelist pairs.
This ensures that only necessary records are fetched and processed, significantly reducing memory usage and avoiding timeout issues on large datasets.
opw-6099182
Forward-Port-Of: odoo/odoo#259310