server/sources/storages.py
changeset 4512 e7ac20bf3629
parent 4349 48dadeeacfa5
child 4721 8f63691ccb7f
equal deleted inserted replaced
4511:270a75f6e33f 4512:e7ac20bf3629
     7 
     7 
     8 ETYPE_ATTR_STORAGE = {}
     8 ETYPE_ATTR_STORAGE = {}
     9 def set_attribute_storage(repo, etype, attr, storage):
     9 def set_attribute_storage(repo, etype, attr, storage):
    10     ETYPE_ATTR_STORAGE.setdefault(etype, {})[attr] = storage
    10     ETYPE_ATTR_STORAGE.setdefault(etype, {})[attr] = storage
    11     repo.system_source.map_attribute(etype, attr, storage.sqlgen_callback)
    11     repo.system_source.map_attribute(etype, attr, storage.sqlgen_callback)
       
    12 
       
    13 def unset_attribute_storage(repo, etype, attr):
       
    14     ETYPE_ATTR_STORAGE.setdefault(etype, {}).pop(attr, None)
       
    15     repo.system_source.unmap_attribute(etype, attr)
    12 
    16 
    13 
    17 
    14 class Storage(object):
    18 class Storage(object):
    15     """abstract storage"""
    19     """abstract storage"""
    16     def sqlgen_callback(self, generator, relation, linkedvar):
    20     def sqlgen_callback(self, generator, relation, linkedvar):