possibly fixed issue 1446:contains/cast to string problem
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.5.1-stable+timestamp.2013.06.09.16.30.03
|
Version 2.5.1-stable+timestamp.2013.06.09.16.41.01
|
||||||
|
|||||||
+11
-5
@@ -1356,22 +1356,28 @@ class BaseAdapter(ConnectionPool):
|
|||||||
|
|
||||||
def expand(self, expression, field_type=None):
|
def expand(self, expression, field_type=None):
|
||||||
if isinstance(expression, Field):
|
if isinstance(expression, Field):
|
||||||
return '%s.%s' % (expression.tablename, expression.name)
|
out = '%s.%s' % (expression.tablename, expression.name)
|
||||||
|
if field_type == 'string':
|
||||||
|
out = 'CAST(%s AS %s)' % (out, self.types['text'])
|
||||||
|
return out
|
||||||
elif isinstance(expression, (Expression, Query)):
|
elif isinstance(expression, (Expression, Query)):
|
||||||
first = expression.first
|
first = expression.first
|
||||||
second = expression.second
|
second = expression.second
|
||||||
op = expression.op
|
op = expression.op
|
||||||
optional_args = expression.optional_args or {}
|
optional_args = expression.optional_args or {}
|
||||||
if not second is None:
|
if not second is None:
|
||||||
return op(first, second, **optional_args)
|
out = op(first, second, **optional_args)
|
||||||
elif not first is None:
|
elif not first is None:
|
||||||
return op(first,**optional_args)
|
out = op(first,**optional_args)
|
||||||
elif isinstance(op, str):
|
elif isinstance(op, str):
|
||||||
if op.endswith(';'):
|
if op.endswith(';'):
|
||||||
op=op[:-1]
|
op=op[:-1]
|
||||||
return '(%s)' % op
|
out = '(%s)' % op
|
||||||
else:
|
else:
|
||||||
return op()
|
out = op()
|
||||||
|
if field_type == 'string':
|
||||||
|
out = 'CAST(%s AS %s)' % (out, self.types['text'])
|
||||||
|
return out
|
||||||
elif field_type:
|
elif field_type:
|
||||||
return str(self.represent(expression,field_type))
|
return str(self.represent(expression,field_type))
|
||||||
elif isinstance(expression,(list,tuple)):
|
elif isinstance(expression,(list,tuple)):
|
||||||
|
|||||||
Reference in New Issue
Block a user