From 0cc75127a8bb4cc342a3a55d7aae731dd315421f Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 3 Sep 2010 14:24:26 +0200 Subject: [PATCH] [IMP] sql_db.cursor: optional 'log_exceptions' flag to turn off logging exceptions inside the cr.execute() method This is useful when the caller wants to do the logging. bzr revid: odo@openerp.com-20100903122426-fox86td4uqr3l0jx --- bin/sql_db.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/sql_db.py b/bin/sql_db.py index 28676d772db..438d513b0e4 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -108,7 +108,7 @@ class Cursor(object): self._close(True) @check - def execute(self, query, params=None): + def execute(self, query, params=None, log_exceptions=True): if '%d' in query or '%f' in query: self.__logger.warn(query) self.__logger.warn("SQL queries cannot contain %d or %f anymore. " @@ -123,10 +123,12 @@ class Cursor(object): params = params or None res = self._obj.execute(query, params) except psycopg2.ProgrammingError, pe: - self.__logger.error("Programming error: %s, in query %s", pe, query) + if log_exceptions or self.sql_log: + self.__logger.error("Programming error: %s, in query %s", pe, query) raise except Exception: - self.__logger.exception("bad query: %s", self._obj.query or query) + if log_exceptions or self.sql_log: + self.__logger.exception("bad query: %s", self._obj.query or query) raise if self.sql_log: