odoo/odoo#124119

Created by Upgrade, Alvaro Fuentes Suarez (afu)
label
odoo-dev:saas-12.3-fix_mem_error-afu
head
1f223cc1ad940d9ad170db40e95c264b4c6209c5
target
saas-12.3
merged
1 year ago by Upgrade, Christophe Simonis (chs)
forward-ports

[FIX] point_of_sale: fix memory error

When there are too many (millions) of POS order lines associated to opened POS sessions we get too many taxes, most are duplicated. This causes a MemoryError.

Example queries from a real DB:
```
> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24 |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id = l.id where s.state != 'closed'
+---------+
| count |
|---------|
| 2504539 |
+---------+
```

opw-3295467