server/schemahooks.py
changeset 2624 c0b5b189190e
parent 2618 ff9b0d5bd884
child 2641 9c33d98a074e
equal deleted inserted replaced
2623:e1f34b77290b 2624:c0b5b189190e
   370     entity = None # make pylint happy
   370     entity = None # make pylint happy
   371     def precommit_event(self):
   371     def precommit_event(self):
   372         session = self.session
   372         session = self.session
   373         entity = self.entity
   373         entity = self.entity
   374         fromentity = entity.stype
   374         fromentity = entity.stype
   375         relationtype = entity.rtype
       
   376         session.execute('SET X ordernum Y+1 WHERE X from_entity SE, SE eid %(se)s, X ordernum Y, X ordernum >= %(order)s, NOT X eid %(x)s',
   375         session.execute('SET X ordernum Y+1 WHERE X from_entity SE, SE eid %(se)s, X ordernum Y, X ordernum >= %(order)s, NOT X eid %(x)s',
   377                         {'x': entity.eid, 'se': fromentity.eid, 'order': entity.ordernum or 0})
   376                         {'x': entity.eid, 'se': fromentity.eid, 'order': entity.ordernum or 0})
   378         subj, rtype = str(fromentity.name), str(relationtype.name)
   377         subj = str(fromentity.name)
       
   378         rtype = entity.rtype.name
   379         obj = str(entity.otype.name)
   379         obj = str(entity.otype.name)
   380         # at this point default is a string or None, but we need a correctly
   380         # at this point default is a string or None, but we need a correctly
   381         # typed value
   381         # typed value
   382         default = entity.defaultval
   382         default = entity.defaultval
   383         if default is not None:
   383         if default is not None:
   443     """
   443     """
   444     entity = None # make pylint happy
   444     entity = None # make pylint happy
   445     def precommit_event(self):
   445     def precommit_event(self):
   446         session = self.session
   446         session = self.session
   447         entity = self.entity
   447         entity = self.entity
   448         fromentity = entity.stype.name
   448         fromentity = entity.stype
   449         relationtype = entity.rtype
   449         session.execute('SET X ordernum Y+1 '
   450         session.execute('SET X ordernum Y+1 WHERE X from_entity SE, SE eid %(se)s, X ordernum Y, X ordernum >= %(order)s, NOT X eid %(x)s',
   450                         'WHERE X from_entity SE, SE eid %(se)s, X ordernum Y, '
   451                         {'x': entity.eid, 'se': fromentity.eid, 'order': entity.ordernum or 0})
   451                         'X ordernum >= %(order)s, NOT X eid %(x)s',
   452         subj, rtype = str(fromentity.name), str(relationtype.name)
   452                         {'x': entity.eid, 'se': fromentity.eid,
       
   453                          'order': entity.ordernum or 0})
       
   454         subj = str(fromentity.name)
       
   455         rtype = entity.rtype.name
   453         obj = str(entity.otype.name)
   456         obj = str(entity.otype.name)
   454         card = entity.get('cardinality')
   457         card = entity.get('cardinality')
   455         rdef = RelationDefinition(subj, rtype, obj,
   458         rdef = RelationDefinition(subj, rtype, obj,
   456                                   cardinality=card,
   459                                   cardinality=card,
   457                                   order=entity.ordernum,
   460                                   order=entity.ordernum,