summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/expression.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r--lib/sqlalchemy/sql/expression.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index 9aed957d2..d49f12150 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -1178,14 +1178,16 @@ def _column_as_key(element):
return element.key
def _literal_as_text(element):
- if hasattr(element, '__clause_element__'):
+ if isinstance(element, Visitable):
+ return element
+ elif hasattr(element, '__clause_element__'):
return element.__clause_element__()
elif isinstance(element, basestring):
return _TextClause(unicode(element))
- elif not isinstance(element, Visitable):
- raise exc.ArgumentError("SQL expression object or string expected.")
else:
- return element
+ raise exc.ArgumentError(
+ "SQL expression object or string expected."
+ )
def _clause_element_as_expr(element):
if hasattr(element, '__clause_element__'):