diff options
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r-- | lib/sqlalchemy/sql/expression.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 6dd9d8baf..440c11833 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -1522,9 +1522,10 @@ class _CompareMixin(ColumnOperators): # column selectable that does not export itself as a FROM clause return self.__compare( op, seq_or_selectable.as_scalar(), negate=negate_op) - elif isinstance(seq_or_selectable, Selectable): + elif isinstance(seq_or_selectable, (Selectable, _TextClause)): return self.__compare( op, seq_or_selectable, negate=negate_op) - + + # Handle non selectable arguments as sequences args = [] for o in seq_or_selectable: @@ -2358,6 +2359,12 @@ class _TextClause(Executable, ClauseElement): else: return None + def self_group(self, against=None): + if against is operators.in_op: + return _Grouping(self) + else: + return self + def _copy_internals(self, clone=_clone): self.bindparams = dict((b.key, clone(b)) for b in self.bindparams.values()) |