summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/expression.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-03-01 01:00:12 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2010-03-01 01:00:12 +0000
commitda1666cc18cebc485563332d2f1c3d3818affc1f (patch)
treea39e0357dd2910df389c8ebdb473848707d46b70 /lib/sqlalchemy/sql/expression.py
parentfbe6772d44bbcccfbd6ca21dc4b2d76bd21cd696 (diff)
downloadsqlalchemy-da1666cc18cebc485563332d2f1c3d3818affc1f.tar.gz
- adjusted the literal coercion rules to take the left side's type into account, if it is
compatible with what was found for the right, so that things like oracle CHAR conversions work. - oracle dialect specific tests pass again.
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r--lib/sqlalchemy/sql/expression.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index f3a1562c5..1c3961f1f 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -2155,6 +2155,8 @@ class _BindParamClause(ColumnElement):
if type_ is None:
self.type = sqltypes.type_map.get(type(value), _fallback_type or sqltypes.NULLTYPE)
+ if _fallback_type and _fallback_type._type_affinity == self.type._type_affinity:
+ self.type = _fallback_type
elif isinstance(type_, type):
self.type = type_()
else: