diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-02 11:06:08 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-02 11:06:08 -0500 |
commit | 29de1077b35fb264f4b1727bd1f4987644ff52b7 (patch) | |
tree | be0c3283a6447f316fcf44b6c1945bead922ec89 /lib/sqlalchemy/sql/elements.py | |
parent | 5b0919f3f5c7678c587858a47e38acd4a5b82f25 (diff) | |
download | sqlalchemy-29de1077b35fb264f4b1727bd1f4987644ff52b7.tar.gz |
- Fixed bug in new :class:`.TextAsFrom` construct where :class:`.Column`-
oriented row lookups were not matching up to the ad-hoc :class:`.ColumnClause`
objects that :class:`.TextAsFrom` generates, thereby making it not
usable as a target in :meth:`.Query.from_statement`. Also fixed
:meth:`.Query.from_statement` mechanics to not mistake a :class:`.TextAsFrom`
for a :class:`.Select` construct. This bug is also an 0.9 regression
as the :meth:`.Text.columns` method is called to accommodate the
:paramref:`.text.typemap` argument. [ticket:2932]
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r-- | lib/sqlalchemy/sql/elements.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index 975cf2d79..cca03851f 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -2920,9 +2920,12 @@ class ColumnClause(Immutable, ColumnElement): def _compare_name_for_result(self, other): if self.is_literal or \ - self.table is None or \ + self.table is None or self.table._textual or \ not hasattr(other, 'proxy_set') or ( - isinstance(other, ColumnClause) and other.is_literal + isinstance(other, ColumnClause) and + (other.is_literal or + other.table is None or + other.table._textual) ): return super(ColumnClause, self).\ _compare_name_for_result(other) |