summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/selectable.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2018-03-05 21:36:18 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2018-03-05 21:37:41 -0500
commit10c3d0271f64602c58aabade699d0ede6e2fb8d9 (patch)
tree6be04a099d439ef5eff5708260c819d15fc2f11a /lib/sqlalchemy/sql/selectable.py
parentdc117f8c66229a3ae0fd9272aa04bd455a669c67 (diff)
downloadsqlalchemy-10c3d0271f64602c58aabade699d0ede6e2fb8d9.tar.gz
Clone _cte_alias instead of assigning "self"
Fixed bug in :class:.`CTE` construct along the same lines as that of :ticket:`4204` where a :class:`.CTE` that was aliased would not copy itself correctly during a "clone" operation as is frequent within the ORM as well as when using the :meth:`.ClauseElement.params` method. Change-Id: Id68d72dd244dedfc7bd6116c9a5123c51a55ea20 Fixes: #4210 (cherry picked from commit 9a13f007e2342def94cc7362eeadd5ec8c988340)
Diffstat (limited to 'lib/sqlalchemy/sql/selectable.py')
-rw-r--r--lib/sqlalchemy/sql/selectable.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py
index 29b8836dd..04f6c086d 100644
--- a/lib/sqlalchemy/sql/selectable.py
+++ b/lib/sqlalchemy/sql/selectable.py
@@ -1391,7 +1391,7 @@ class CTE(Generative, HasSuffixes, Alias):
def _copy_internals(self, clone=_clone, **kw):
super(CTE, self)._copy_internals(clone, **kw)
if self._cte_alias is not None:
- self._cte_alias = self
+ self._cte_alias = clone(self._cte_alias, **kw)
self._restates = frozenset([
clone(elem, **kw) for elem in self._restates
])