odoo_mqtt/extra-addons/open_workshop
matthias.lotz 0293256c76 fix(iot_api): use savepoint to prevent InFailedSqlTransaction
When _process_event raised a DB exception (e.g. constraint violation),
PostgreSQL put the whole transaction into ABORTED state.  Any subsequent
ORM call (event.mark_processed, Odoo's own flush) then raised
psycopg2.errors.InFailedSqlTransaction, masking the real error.

Fix: wrap _process_event in a database savepoint inside receive_iot_event.
A processing failure now only rolls back the session/device side-effects;
the ows.iot.event record stays committed and the error is stored in
processing_error.  The transaction itself remains valid for Odoo's flush.
2026-03-19 17:03:04 +01:00
..
open_workshop_mqtt fix(iot_api): use savepoint to prevent InFailedSqlTransaction 2026-03-19 17:03:04 +01:00
open_workshop_pos_mqtt feat(open_workshop_pos_mqtt): Maschinenzeit-Popup verbessert 2026-03-17 21:20:43 +01:00