cubicweb/server/sources/native.py
changeset 11765 9cb215e833b0
parent 11763 39df042f4ab4
child 11767 432f87a63057
equal deleted inserted replaced
11764:6ab14a1afb65 11765:9cb215e833b0
   642                      for subject, object in subj_obj_list]
   642                      for subject, object in subj_obj_list]
   643             sql.append((self.sqlgen.insert('%s_relation' % rtype, attrs[0]), attrs))
   643             sql.append((self.sqlgen.insert('%s_relation' % rtype, attrs[0]), attrs))
   644         else:  # used by data import
   644         else:  # used by data import
   645             etypes = {}
   645             etypes = {}
   646             for subject, object in subj_obj_list:
   646             for subject, object in subj_obj_list:
   647                 etype = cnx.entity_metas(subject)['type']
   647                 etype = cnx.entity_type(subject)
   648                 if etype in etypes:
   648                 if etype in etypes:
   649                     etypes[etype].append((subject, object))
   649                     etypes[etype].append((subject, object))
   650                 else:
   650                 else:
   651                     etypes[etype] = [(subject, object)]
   651                     etypes[etype] = [(subject, object)]
   652             for subj_etype, subj_obj_list in etypes.items():
   652             for subj_etype, subj_obj_list in etypes.items():
   667                                    eid_from=subject, rtype=text_type(rtype), eid_to=object)
   667                                    eid_from=subject, rtype=text_type(rtype), eid_to=object)
   668 
   668 
   669     def _delete_relation(self, cnx, subject, rtype, object, inlined=False):
   669     def _delete_relation(self, cnx, subject, rtype, object, inlined=False):
   670         """delete a relation from the source"""
   670         """delete a relation from the source"""
   671         if inlined:
   671         if inlined:
   672             table = SQL_PREFIX + cnx.entity_metas(subject)['type']
   672             table = SQL_PREFIX + cnx.entity_type(subject)
   673             column = SQL_PREFIX + rtype
   673             column = SQL_PREFIX + rtype
   674             sql = 'UPDATE %s SET %s=NULL WHERE %seid=%%(eid)s' % (table, column,
   674             sql = 'UPDATE %s SET %s=NULL WHERE %seid=%%(eid)s' % (table, column,
   675                                                                   SQL_PREFIX)
   675                                                                   SQL_PREFIX)
   676             attrs = {'eid': subject}
   676             attrs = {'eid': subject}
   677         else:
   677         else: