summaryrefslogtreecommitdiff
path: root/odoo
diff options
context:
space:
mode:
authorJairo Llopis <yajo.sk8@gmail.com>2019-09-23 11:15:46 +0000
committerJairo Llopis <yajo.sk8@gmail.com>2019-09-30 08:08:07 +0000
commit974913c316a712dac2373e6e7401b0589207e5f7 (patch)
treeb6b82d2300cd5fdac4955c201e59ab5778dc49a7 /odoo
parente06117bd85c6b39dd62d4979b0c1c437b92dbafa (diff)
[IMP] Support psycopg2.sql module
[`psycopg2` includes a submodule called `sql`][1] which provides more safety and comfort when dealing with raw SQL queries. As of today, it works fine with Odoo unless SQL query logging is enabled. This patch fixes that problem, allowing usage of that module. [1]: http://initd.org/psycopg/docs/sql.html closes odoo/odoo#37561 Signed-off-by: Christophe Simonis <chs@odoo.com>
Diffstat (limited to 'odoo')
-rw-r--r--odoo/sql_db.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/odoo/sql_db.py b/odoo/sql_db.py
index 1d1f74748a0..55c420f9d13 100644
--- a/odoo/sql_db.py
+++ b/odoo/sql_db.py
@@ -240,7 +240,7 @@ class Cursor(object):
res = self._obj.execute(query, params)
except Exception as e:
if self._default_log_exceptions if log_exceptions is None else log_exceptions:
- _logger.error("bad query: %s\nERROR: %s", self._obj.query or query, e)
+ _logger.error("bad query: %s\nERROR: %s", self._obj.query.decode() or query, e)
raise
# simple query count is always computed
@@ -254,12 +254,13 @@ class Cursor(object):
if self.sql_log:
delay *= 1E6
- res_from = re_from.match(query.lower())
+ query_lower = self._obj.query.decode().lower()
+ res_from = re_from.match(query_lower)
if res_from:
self.sql_from_log.setdefault(res_from.group(1), [0, 0])
self.sql_from_log[res_from.group(1)][0] += 1
self.sql_from_log[res_from.group(1)][1] += delay
- res_into = re_into.match(query.lower())
+ res_into = re_into.match(query_lower)
if res_into:
self.sql_into_log.setdefault(res_into.group(1), [0, 0])
self.sql_into_log[res_into.group(1)][0] += 1