diff options
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 4 | ||||
-rw-r--r-- | lib/sqlalchemy/sql/util.py | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index a71984be4..1d7240fbf 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -110,6 +110,10 @@ class INTERVAL(sqltypes.TypeEngine): def adapt(self, impltype): return impltype(self.precision) + + @property + def _type_affinity(self): + return sqltypes.Interval PGInterval = INTERVAL diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 7bcc8e7d7..1b4bc67fc 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -104,6 +104,9 @@ def determine_date_affinity(expr): left_affin, right_affin = \ determine_date_affinity(expr.left), \ determine_date_affinity(expr.right) + + if left_affin is None or right_affin is None: + return None if operators.is_commutative(expr.operator): key = tuple(sorted([left_affin, right_affin], key=lambda cls:cls.__name__)) |