From aa3834b9fac30875f498c5d09b7c03a020bbe372 Mon Sep 17 00:00:00 2001 From: Dave Lasley Date: Mon, 28 Aug 2017 09:13:54 -0700 Subject: [PATCH] [IMP] tools: Add note to ormcache regarding closed cursors Returning a recordset from a cached method will raise an `psycopg2.OperationalError` once the cursor is closed. Add documentation to `ormcache` method indicating such See OCA/stock-logistics-barcode#93 and #8795 for example of issues Closes #19113 --- odoo/tools/cache.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/odoo/tools/cache.py b/odoo/tools/cache.py index b6b23175773..a4f49831d6c 100644 --- a/odoo/tools/cache.py +++ b/odoo/tools/cache.py @@ -47,6 +47,10 @@ class ormcache(object): @ormcache(skiparg=1) def _compute_domain(self, model_name, mode="read"): ... + + Methods implementing this decorator should never return a Recordset, + because the underlying cursor will eventually be closed and raise a + `psycopg2.OperationalError`. """ def __init__(self, *args, **kwargs): self.args = args