From 3e1a918707a41250fd9f90306dbc396e4f953b82 Mon Sep 17 00:00:00 2001 From: ilvalle Date: Sat, 3 Jan 2015 14:11:06 +0100 Subject: [PATCH] Fix expression evaluation with postgres --- gluon/dal/adapters/base.py | 5 +++-- gluon/dal/adapters/postgres.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gluon/dal/adapters/base.py b/gluon/dal/adapters/base.py index aad58af9..050edb68 100644 --- a/gluon/dal/adapters/base.py +++ b/gluon/dal/adapters/base.py @@ -76,7 +76,8 @@ class BaseAdapter(ConnectionPool): dbpath = None folder = None connector = lambda *args, **kwargs: None # __init__ should override this - + TRUE_exp = '1' + FALSE_exp = '0' TRUE = 'T' FALSE = 'F' T_SEP = ' ' @@ -909,7 +910,7 @@ class BaseAdapter(ConnectionPool): return ','.join(self.represent(item,field_type) \ for item in expression) elif isinstance(expression, bool): - return '1' if expression else '0' + return self.db._adapter.TRUE_exp if expression else self.db._adapter.FALSE_exp else: return str(expression) diff --git a/gluon/dal/adapters/postgres.py b/gluon/dal/adapters/postgres.py index 7e81d6c8..7e8c32fd 100644 --- a/gluon/dal/adapters/postgres.py +++ b/gluon/dal/adapters/postgres.py @@ -104,7 +104,8 @@ class PostgreSQLAdapter(BaseAdapter): self.srid = srid self.find_or_make_work_folder() self._last_insert = None # for INSERT ... RETURNING ID - + self.TRUE_exp = 'TRUE' + self.FALSE_exp = 'FALSE' ruri = uri.split('://',1)[1] m = self.REGEX_URI.match(ruri) if not m: