diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-01-26 00:27:14 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-01-26 00:27:14 +0000 |
commit | edff2240fb0a0306893fe41a0eaae0d5961d2aca (patch) | |
tree | 444433e10a701f3cecdbdba67c65ba70e40fdd33 /lib/sqlalchemy/mapping/properties.py | |
parent | ffcd60ac6eadd5a7fe30c2654077983e42b488a1 (diff) | |
download | sqlalchemy-edff2240fb0a0306893fe41a0eaae0d5961d2aca.tar.gz |
refactoring of objectstore to handle cleaning up after itself with less
instruction from properties/mapper
objectstore gets an assertion for appending a deleted item
mapper has fix for inheritance
mapper selectone() etc. set "limit=1"
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r-- | lib/sqlalchemy/mapping/properties.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py index eb575d1dc..f1278b9e7 100644 --- a/lib/sqlalchemy/mapping/properties.py +++ b/lib/sqlalchemy/mapping/properties.py @@ -421,7 +421,9 @@ class PropertyLoader(MapperProperty): #print self.mapper.table.name + " " + self.key + " " + repr(len(deplist)) + " process_dep isdelete " + repr(delete) + " direction " + repr(self.direction) def getlist(obj, passive=True): - return self.get_object_dependencies(obj, uowcommit, passive) + l = self.get_object_dependencies(obj, uowcommit, passive) + uowcommit.register_saved_history(l) + return l # plugin point @@ -435,7 +437,6 @@ class PropertyLoader(MapperProperty): associationrow = {} self._synchronize(obj, child, associationrow, False) secondary_delete.append(associationrow) - uowcommit.register_deleted_list(childlist) else: for obj in deplist: childlist = getlist(obj) @@ -448,7 +449,6 @@ class PropertyLoader(MapperProperty): associationrow = {} self._synchronize(obj, child, associationrow, False) secondary_delete.append(associationrow) - uowcommit.register_saved_list(childlist) if len(secondary_delete): # TODO: precompile the delete/insert queries and store them as instance variables # on the PropertyLoader @@ -473,13 +473,11 @@ class PropertyLoader(MapperProperty): for child in childlist.deleted_items() + childlist.unchanged_items(): self._synchronize(obj, child, None, True) uowcommit.register_object(child) - uowcommit.register_deleted_list(childlist) elif self.association is not None: # manage association objects. for obj in deplist: childlist = getlist(obj, passive=True) if childlist is None: continue - uowcommit.register_saved_list(childlist) #print "DIRECTION", self.direction d = {} @@ -517,7 +515,6 @@ class PropertyLoader(MapperProperty): uowcommit.register_object(obj) childlist = getlist(obj, passive=True) if childlist is None: continue - uowcommit.register_saved_list(childlist) for child in childlist.added_items(): self._synchronize(obj, child, None, False) if self.direction == PropertyLoader.LEFT: |