From: Mike Bayer Date: Tue, 29 Dec 2009 16:17:02 +0000 (+0000) Subject: dont crack up on entirely unsupported types X-Git-Tag: rel_0_5_8~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=03bcbb8db807bf014f8a8922497e9aba98f538b5;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git dont crack up on entirely unsupported types --- diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 06cd78db1d..0fe9c0c1e9 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -105,6 +105,9 @@ def determine_date_affinity(expr): 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__)) else: diff --git a/test/dialect/test_postgres.py b/test/dialect/test_postgres.py index 096a4b8e09..c67ae176cb 100644 --- a/test/dialect/test_postgres.py +++ b/test/dialect/test_postgres.py @@ -125,6 +125,9 @@ class CompileTest(TestBase, AssertsCompiledSQL): (literal(datetime.timedelta(seconds=10)) - literal(datetime.timedelta(seconds=10)), "(%(param_1)s - %(param_2)s) :: interval" ), + (t.c.col3 + "some string", # dont crack up on entirely unsupported types + "t.col3 + %(col3_1)s" + ) ]: self.assert_compile( select([extract(field, expr)]).select_from(t),