]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
trivial inlinings
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 18 Dec 2010 18:05:20 +0000 (13:05 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 18 Dec 2010 18:05:20 +0000 (13:05 -0500)
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/unitofwork.py

index 1b144ea74e8637267c11b2260ac08eb5ed083805..da6d309e023d325269650c06ecfb324e6a93d1c3 100644 (file)
@@ -821,8 +821,7 @@ class RelationshipProperty(StrategizedProperty):
                         dest_dict, obj, None)
 
     def cascade_iterator(self, type_, state, dict_, visited_states, halt_on=None):
-        if not type_ in self.cascade:
-            return
+        #assert type_ in self.cascade
 
         # only actively lazy load on the 'delete' cascade
         if type_ != 'delete' or self.passive_deletes:
index ba1a38bb9f97ffbbad34a4a694ab06e58ba577df..a3714bc7e6c4b7638c288352cedbe127be4e8402 100644 (file)
@@ -1136,6 +1136,7 @@ class Session(object):
 
         # grab the cascades before adding the item to the deleted list
         # so that autoflush does not delete the item
+        # the strong reference to the instance itself is significant here
         cascade_states = list(_cascade_state_iterator('delete', state))
 
         self._deleted[state] = state.obj()
index 17b73e5f9845e41c6dd47b51edf79fef262ac112..ba43b13592a9d935936e6ed8cd9c310fe43a80d6 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy import util
 from sqlalchemy.util import topological
 from sqlalchemy.orm import attributes, interfaces
 from sqlalchemy.orm import util as mapperutil
-from sqlalchemy.orm.util import _state_mapper
 session = util.importlater("sqlalchemy.orm", "session")
 
 class UOWEventHandler(interfaces.AttributeExtension):
@@ -37,7 +36,7 @@ class UOWEventHandler(interfaces.AttributeExtension):
 
         sess = session._state_session(state)
         if sess:
-            prop = _state_mapper(state)._props[self.key]
+            prop = state.manager.mapper._props[self.key]
             item_state = attributes.instance_state(item)
             if prop.cascade.save_update and \
                 (prop.cascade_backrefs or self.key == initiator.key) and \
@@ -48,7 +47,7 @@ class UOWEventHandler(interfaces.AttributeExtension):
     def remove(self, state, item, initiator):
         sess = session._state_session(state)
         if sess:
-            prop = _state_mapper(state)._props[self.key]
+            prop = state.manager.mapper._props[self.key]
             # expunge pending orphans
             item_state = attributes.instance_state(item)
             if prop.cascade.delete_orphan and \
@@ -64,7 +63,7 @@ class UOWEventHandler(interfaces.AttributeExtension):
 
         sess = session._state_session(state)
         if sess:
-            prop = _state_mapper(state)._props[self.key]
+            prop = state.manager.mapper._props[self.key]
             if newvalue is not None:
                 newvalue_state = attributes.instance_state(newvalue)
                 if prop.cascade.save_update and \
@@ -204,7 +203,7 @@ class UOWTransaction(object):
             return False
 
         if state not in self.states:
-            mapper = _state_mapper(state)
+            mapper = state.manager.mapper
             
             if mapper not in self.mappers:
                 mapper._per_mapper_flush_actions(self)