Purpose ======= There is no way for _error_checking() to detect conflicts in work entries that have been introduced in concurrent transactions, because of the transaction isolation. So if 2 transactions create work entries in parallel it is possible to create a conflict that will not be visible by either transaction. There is no way to detect conflicts between different records in a safe manner unless a SQL constraint is used, e.g. via an EXCLUSION constraint [1]. This (obscure) type of constraint allows comparing 2 rows using special operator classes and it also supports partial WHERE clauses. Similarly to CHECK constraints, it's backed by an index. 1: https://www.postgresql.org/docs/9.6/sql-createtable.html#SQL-CREATETABLE-EXCLUDE closes odoo/odoo#64028 Taskid: 2357844 Related: odoo/enterprise#15546 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>