summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/dependency.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-12-18 12:14:23 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-12-18 12:14:23 -0500
commit182fc1a7c6fcb39593fed982b3e40de59712ec99 (patch)
tree355cd8834878f7155eb0ea7c97b27b275f560c2a /lib/sqlalchemy/orm/dependency.py
parent2e7a54d6fbfe9260887a0eb848e296e3b5e59c47 (diff)
downloadsqlalchemy-182fc1a7c6fcb39593fed982b3e40de59712ec99.tar.gz
- some good inlinings to the whole cascade_iterator() thing.
cascade_iterator() should probably not yield the "instance" at all and only deal in states. 30-40K methods taken off the orm2010 test.
Diffstat (limited to 'lib/sqlalchemy/orm/dependency.py')
-rw-r--r--lib/sqlalchemy/orm/dependency.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/sqlalchemy/orm/dependency.py b/lib/sqlalchemy/orm/dependency.py
index 39ea1db35..35b197f63 100644
--- a/lib/sqlalchemy/orm/dependency.py
+++ b/lib/sqlalchemy/orm/dependency.py
@@ -152,7 +152,7 @@ class DependencyProcessor(object):
# detect if there's anything changed or loaded
# by a preprocessor on this state/attribute. if not,
# we should be able to skip it entirely.
- sum_ = attributes.get_all_pending(state, state.dict, self.key)
+ sum_ = state.manager[self.key].impl.get_all_pending(state, state.dict)
if not sum_:
continue
@@ -439,10 +439,10 @@ class OneToManyDP(DependencyProcessor):
elif self.hasparent(child) is False:
uowcommit.register_object(child, isdelete=True,
operation="delete", prop=self.prop)
- for c, m in self.mapper.cascade_iterator(
+ for c, m, st_, dct_ in self.mapper.cascade_iterator(
'delete', child):
uowcommit.register_object(
- attributes.instance_state(c),
+ st_,
isdelete=True)
if pks_changed:
@@ -661,10 +661,10 @@ class ManyToOneDP(DependencyProcessor):
continue
uowcommit.register_object(child, isdelete=True,
operation="delete", prop=self.prop)
- for c, m in self.mapper.cascade_iterator(
+ for c, m, st_, dct_ in self.mapper.cascade_iterator(
'delete', child):
uowcommit.register_object(
- attributes.instance_state(c), isdelete=True)
+ st_, isdelete=True)
def presort_saves(self, uowcommit, states):
for state in states:
@@ -681,10 +681,10 @@ class ManyToOneDP(DependencyProcessor):
uowcommit.register_object(child, isdelete=True,
operation="delete", prop=self.prop)
- for c, m in self.mapper.cascade_iterator(
+ for c, m, st_, dct_ in self.mapper.cascade_iterator(
'delete', child):
uowcommit.register_object(
- attributes.instance_state(c),
+ st_,
isdelete=True)
def process_deletes(self, uowcommit, states):
@@ -939,11 +939,11 @@ class ManyToManyDP(DependencyProcessor):
if self.hasparent(child) is False:
uowcommit.register_object(child, isdelete=True,
operation="delete", prop=self.prop)
- for c, m in self.mapper.cascade_iterator(
+ for c, m, st_, dct_ in self.mapper.cascade_iterator(
'delete',
child):
uowcommit.register_object(
- attributes.instance_state(c), isdelete=True)
+ st_, isdelete=True)
def process_deletes(self, uowcommit, states):
secondary_delete = []