mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-08 18:00:23 -04:00
6785a09670
Fixed issue where anonymous label generation for :class:`.CTE` constructs could produce name collisions when Python's garbage collector reused memory addresses during complex query compilation. The anonymous name generation for :class:`.CTE` and other aliased constructs like :class:`.Alias`, :class:`.Subquery` and others now use :func:`os.urandom` to generate unique identifiers instead of relying on object ``id()``, ensuring uniqueness even in cases of aggressive garbage collection and memory reuse. Fixes: #12990 Change-Id: If56a53840684bc7d2b7637f1e154dfed1cac5f32