- overhaul to sql/schema packages so that the sql package can run all on its own,
producing selects, inserts, etc. without any engine dependencies. Table/Column
are the "physical" subclasses of TableClause/ColumnClause.
+- fixes to mapper inheritance, involving properties that relate to the same table
+involved in the mapper inheritance scheme
+- made objectstore "check for out-of-identitymap" more aggressive, will perform the
+check when object attributes are modified or the object is deleted
0.1.2
- fixed a recursive call in schema that was somehow running 994 times then returning
normally. broke nothing, slowed down everything. thanks to jpellerin for finding this.
self.new.append(obj)
def register_dirty(self, obj):
- self._validate_obj(obj)
- self.dirty.append(obj)
+ if not self.dirty.contains(obj):
+ self._validate_obj(obj)
+ self.dirty.append(obj)
def is_dirty(self, obj):
if not self.dirty.contains(obj):
return True
def register_deleted(self, obj):
- self._validate_obj(obj)
- self.deleted.append(obj)
- mapper = object_mapper(obj)
- # TODO: should the cascading delete dependency thing
- # happen wtihin PropertyLoader.process_dependencies ?
- mapper.register_deleted(obj, self)
+ if not self.deleted.contains(obj):
+ self._validate_obj(obj)
+ self.deleted.append(obj)
+ mapper = object_mapper(obj)
+ # TODO: should the cascading delete dependency thing
+ # happen wtihin PropertyLoader.process_dependencies ?
+ mapper.register_deleted(obj, self)
def unregister_deleted(self, obj):
try: