diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-30 19:52:07 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-30 19:52:07 -0500 |
commit | b40450d0a1389edd02366f284199ecbf7d566ff1 (patch) | |
tree | 67dd8a53b909e09abb6d73fa3a3d2756b0d70c2a /lib/sqlalchemy/orm/unitofwork.py | |
parent | 1f057987da6ee5ca6da94384a0603e4fee13dff8 (diff) | |
download | sqlalchemy-b40450d0a1389edd02366f284199ecbf7d566ff1.tar.gz |
break out _save_obj(), _delete_obj(), _post_update() into a new module
persistence.py - Mapper loses awareness of how to emit INSERT/UPDATE/DELETE,
persistence.py is only used by unitofwork.py. Then break each method out
into a top level with almost no logic, calling into _organize_states_for_XYZ(),
_collect_XYZ_commands(), _emit_XYZ_statements().
Diffstat (limited to 'lib/sqlalchemy/orm/unitofwork.py')
-rw-r--r-- | lib/sqlalchemy/orm/unitofwork.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/orm/unitofwork.py b/lib/sqlalchemy/orm/unitofwork.py index 3cd0f15eb..8fc5f139d 100644 --- a/lib/sqlalchemy/orm/unitofwork.py +++ b/lib/sqlalchemy/orm/unitofwork.py @@ -14,7 +14,7 @@ organizes them in order of dependency, and executes. from sqlalchemy import util, event from sqlalchemy.util import topological -from sqlalchemy.orm import attributes, interfaces +from sqlalchemy.orm import attributes, interfaces, persistence from sqlalchemy.orm import util as mapperutil session = util.importlater("sqlalchemy.orm", "session") @@ -462,7 +462,7 @@ class IssuePostUpdate(PostSortRec): states, cols = uow.post_update_states[self.mapper] states = [s for s in states if uow.states[s][0] == self.isdelete] - self.mapper._post_update(states, uow, cols) + persistence.post_update(self.mapper, states, uow, cols) class SaveUpdateAll(PostSortRec): def __init__(self, uow, mapper): @@ -470,7 +470,7 @@ class SaveUpdateAll(PostSortRec): assert mapper is mapper.base_mapper def execute(self, uow): - self.mapper._save_obj( + persistence.save_obj(self.mapper, uow.states_for_mapper_hierarchy(self.mapper, False, False), uow ) @@ -493,7 +493,7 @@ class DeleteAll(PostSortRec): assert mapper is mapper.base_mapper def execute(self, uow): - self.mapper._delete_obj( + persistence.delete_obj(self.mapper, uow.states_for_mapper_hierarchy(self.mapper, True, False), uow ) @@ -551,7 +551,7 @@ class SaveUpdateState(PostSortRec): if r.__class__ is cls_ and r.mapper is mapper] recs.difference_update(our_recs) - mapper._save_obj( + persistence.save_obj(mapper, [self.state] + [r.state for r in our_recs], uow) @@ -575,7 +575,7 @@ class DeleteState(PostSortRec): r.mapper is mapper] recs.difference_update(our_recs) states = [self.state] + [r.state for r in our_recs] - mapper._delete_obj( + persistence.delete_obj(mapper, [s for s in states if uow.states[s][0]], uow) |