mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-18 06:32:08 -04:00
13ac46eb3f
- copy_container() removed. ClauseVisitor.traverse() now features "clone" flag which allows traversal with copy-and-modify-in-place behavior - select() objects copyable now [ticket:52] [ticket:569] - improved support for custom column_property() attributes which feature correlated subqueries...work better with eager loading now. - accept_visitor() methods removed. ClauseVisitor now genererates method names based on class names, or an optional __visit_name__ attribute. calls regular visit_XXX methods as they exist, can optionally call an additional "pre-descent" enter_XXX method to allow stack-based operations on traversals - select() and union()'s now have "generative" behavior. methods like order_by() and group_by() return a *new* instance - the original instance is left unchanged. non-generative methods remain as well. - the internals of select/union vastly simplified - all decision making regarding "is subquery" and "correlation" pushed to SQL generation phase. select() elements are now *never* mutated by their enclosing containers or by any dialect's compilation process