diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-24 00:55:39 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-24 00:55:39 +0000 |
| commit | 3f93103a5ef9128b7b300c51d41dea43dd843834 (patch) | |
| tree | 7c21cb4a15c91c9d7ae38425da69c96d0ed26caf /lib/sqlalchemy/sql/visitors.py | |
| parent | 238dc916fa9fca6c79046dea004d108df685e29e (diff) | |
| download | sqlalchemy-3f93103a5ef9128b7b300c51d41dea43dd843834.tar.gz | |
- all kinds of cleanup, tiny-to-slightly-significant speed improvements
Diffstat (limited to 'lib/sqlalchemy/sql/visitors.py')
| -rw-r--r-- | lib/sqlalchemy/sql/visitors.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index 1a0629a17..150ee9cc7 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -98,3 +98,15 @@ class NoColumnVisitor(ClauseVisitor): """ __traverse_options__ = {'column_collections':False} + +def traverse(clause, **kwargs): + clone = kwargs.pop('clone', False) + class Vis(ClauseVisitor): + __traverse_options__ = kwargs.pop('traverse_options', {}) + def __getattr__(self, key): + if key in kwargs: + return kwargs[key] + else: + return None + return Vis().traverse(clause, clone=clone) + |
