summaryrefslogtreecommitdiff
path: root/bin/sql_db.py
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2010-09-03 14:24:26 +0200
committerOlivier Dony <odo@openerp.com>2010-09-03 14:24:26 +0200
commit0cc75127a8bb4cc342a3a55d7aae731dd315421f (patch)
tree1134c40d3a2f52fa8f4e28f1ec0cf8d06e4f0c92 /bin/sql_db.py
parent4459d0f20240b6122938ea2a20f9fa15de784eff (diff)
[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
Diffstat (limited to 'bin/sql_db.py')
-rw-r--r--bin/sql_db.py8
1 files 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: