diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-09-30 21:26:08 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-10-01 16:11:34 -0400 |
commit | 9a2a0f324c13b5a1b334a3982a766cb9f21f428e (patch) | |
tree | f4548faa2cf60f07d2e13e6eb1b137ff1d3e072d /lib/sqlalchemy/sql/util.py | |
parent | a3c964203e61f8deeb559b15a78cc640dee67012 (diff) | |
download | sqlalchemy-9a2a0f324c13b5a1b334a3982a766cb9f21f428e.tar.gz |
Cancel polymorphic loading in optimized get
Since optimized_get for inheriting mappers writes a simple
SELECT, we need to cancel out any with_polymorphic selectables
that interfere with simple column lookup. While adaptation is
another option, just removing the with_polymorphic is much
simpler. The issue is not noticeable unless the ResultProxy
is not allowing "key fallback" column lookups, which will
be the case when this behavior is deprecated.
Fixes: #4718
Change-Id: I8fa2f5c0434b6a681813a92ac71fe12712f5d634
Diffstat (limited to 'lib/sqlalchemy/sql/util.py')
-rw-r--r-- | lib/sqlalchemy/sql/util.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 3c7f904de..780cdc7b2 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -798,6 +798,8 @@ class ClauseAdapter(visitors.ReplacingCloningVisitor): if newcol is not None: return newcol if self.adapt_on_names and newcol is None: + # TODO: this should be changed to .exported_columns if and + # when we need to be able to adapt a plain Select statement newcol = self.selectable.c.get(col.name) return newcol |