From b932b04b65f0851cbd63e89ee6067fd0a8d30a1b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 16 Jul 2021 10:14:56 -0400 Subject: reset key/name when TableValuedColumn is adapted Fixed issue in new :meth:`_schema.Table.table_valued` method where the resulting :class:`_sql.TableValuedColumn` construct would not respond correctly to alias adaptation as is used throughout the ORM, such as for eager loading, polymorphic loading, etc. Fixes: #6775 Change-Id: I77cec4b6e1b1003f2b6be242b54ada8e4a435250 --- lib/sqlalchemy/sql/elements.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index f95fa143e..e253ddb93 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -4931,6 +4931,10 @@ class TableValuedColumn(NamedColumn): self.key = self.name = scalar_alias.name self.type = type_ + def _copy_internals(self, clone=_clone, **kw): + self.scalar_alias = clone(self.scalar_alias, **kw) + self.key = self.name = self.scalar_alias.name + @property def _from_objects(self): return [self.scalar_alias] -- cgit v1.2.1