diff options
Diffstat (limited to 'lib/sqlalchemy/sql/visitors.py')
-rw-r--r-- | lib/sqlalchemy/sql/visitors.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index 8c06eb8af..dcded3484 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -216,12 +216,20 @@ class InternalTraversal(util.with_metaclass(_InternalTraversalType, object)): try: dispatcher = target.__class__.__dict__[generate_dispatcher_name] except KeyError: - dispatcher = _generate_dispatcher( - self, internal_dispatch, generate_dispatcher_name + dispatcher = self.generate_dispatch( + target, internal_dispatch, generate_dispatcher_name ) - setattr(target.__class__, generate_dispatcher_name, dispatcher) return dispatcher(target, self) + def generate_dispatch( + self, target, internal_dispatch, generate_dispatcher_name + ): + dispatcher = _generate_dispatcher( + self, internal_dispatch, generate_dispatcher_name + ) + setattr(target.__class__, generate_dispatcher_name, dispatcher) + return dispatcher + dp_has_cache_key = symbol("HC") """Visit a :class:`.HasCacheKey` object.""" @@ -331,11 +339,6 @@ class InternalTraversal(util.with_metaclass(_InternalTraversalType, object)): """ - dp_annotations_state = symbol("A") - """Visit the state of the :class:`.Annotatated` version of an object. - - """ - dp_named_ddl_element = symbol("DD") """Visit a simple named DDL element. |