--- a/server/ssplanner.py Mon Aug 03 17:32:42 2009 +0200
+++ b/server/ssplanner.py Mon Aug 03 17:59:34 2009 +0200
@@ -482,6 +482,7 @@
repo = session.repo
edefs = {}
# insert relations
+ attributes = [relation.r_type for relation in self.attribute_relations]
for row in self.execute_child():
for relation in self.attribute_relations:
lhs, rhs = relation.get_variable_parts()
@@ -489,7 +490,7 @@
try:
edef = edefs[eid]
except KeyError:
- edefs[eid] = edef = session.eid_rset(eid).get_entity(0, 0)
+ edefs[eid] = edef = session.entity_from_eid(eid)
if isinstance(rhs, Constant):
# add constant values to entity def
value = rhs.eval(plan.args)
@@ -503,6 +504,6 @@
# update entities
result = []
for eid, edef in edefs.iteritems():
- repo.glob_update_entity(session, edef)
+ repo.glob_update_entity(session, edef, attributes)
result.append( (eid,) )
return result