summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/dialects/postgresql/base.py4
-rw-r--r--lib/sqlalchemy/sql/util.py3
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__))