summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-03-29 00:00:49 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-03-29 00:00:49 +0000
commitc4955c05a3ab40d53c83982da612e746c662640d (patch)
treec979c566711917679c9fa5d31b6dbcdb1c76eb34 /lib/sqlalchemy/engine/base.py
parent30020880d90ee2f983b8e6bfb1624349209dd8b0 (diff)
downloadsqlalchemy-c4955c05a3ab40d53c83982da612e746c662640d.tar.gz
- merged with_polymorphic branch, which was merged with query_columns branch
- removes everything to do with select_table, which remains as a keyword argument synonymous with with_polymorphic=('*', select_table). - all "polymorphic" selectables find their way to Query by way of _set_select_from() now, so that all joins/aliasing/eager loads/etc. is handled consistently. Mapper has methods for producing polymorphic selectables so that Query and eagerloaders alike can get to them. - row aliasing simplified, so that they don't need to nest. they only need the source selectable and adapt to whatever incoming columns they get. - Query is more egalitarian about mappers/columns now. Still has a strong sense of "entity zero", but also introduces new unpublished/experimental _values() method which sets up a columns-only query. - Query.order_by() and Query.group_by() take *args now (also still take a list, will likely deprecate in 0.5). May want to do this for select() as well. - the existing "check for False discriminiator" "fix" was not working completely, added coverage - orphan detection was broken when the target object was a subclass of the mapper with the orphaned relation, fixed that too.
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
-rw-r--r--lib/sqlalchemy/engine/base.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 606cddc0a..5e8455b15 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -1479,11 +1479,13 @@ class ResultProxy(object):
if isinstance(key, basestring):
key = key.lower()
-
try:
rec = props[key]
except KeyError:
# fallback for targeting a ColumnElement to a textual expression
+ # it would be nice to get rid of this but we make use of it in the case where
+ # you say something like query.options(contains_alias('fooalias')) - the matching
+ # is done on strings
if isinstance(key, expression.ColumnElement):
if key._label.lower() in props:
return props[key._label.lower()]