]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- for hackers, refactored the "visitor" system of ClauseElement and
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 11 Mar 2007 20:52:02 +0000 (20:52 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 11 Mar 2007 20:52:02 +0000 (20:52 +0000)
commit6a3c374b955299f0065356ef1de6cc0920d5382e
tree1ec2c2fddcc2d3c8b8f350fb42f86a84918c6fe1
parent320cb9b75f763355ed798c80d245998ce57e21cc
- for hackers, refactored the "visitor" system of ClauseElement and
SchemaItem so that the traversal of items is controlled by the
ClauseVisitor itself, using the method visitor.traverse(item).
accept_visitor() methods can still be called directly but will
not do any traversal of child items.  ClauseElement/SchemaItem now
have a configurable get_children() method to return the collection
of child elements for each parent object. This allows the full
traversal of items to be clear and unambiguous (as well as loggable),
with an easy method of limiting a traversal (just pass flags which
are picked up by appropriate get_children() methods). [ticket:501]
- accept_schema_visitor() methods removed, replaced with
get_children(schema_visitor=True)
- various docstring/changelog cleanup/reformatting
15 files changed:
CHANGES
lib/sqlalchemy/ansisql.py
lib/sqlalchemy/databases/mssql.py
lib/sqlalchemy/databases/oracle.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/sync.py
lib/sqlalchemy/schema.py
lib/sqlalchemy/sql.py
lib/sqlalchemy/sql_util.py
test/engine/reflection.py
test/sql/constraints.py