server/ssplanner.py
changeset 2667 c8aa82538d8e
parent 2650 18aec79ec3a3
child 2875 b7399ef8b3e0
--- 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