Ensure that environment maintanence runs regularly.
[didex.git] / didex / store.py
index 11fe17a..2b9d65c 100644 (file)
@@ -101,7 +101,7 @@ class datastore(object):
     def _encode(self, obj):
         return pickle.dumps(obj)
 
-    @txnfun(lambda self: self.db().env.env)
+    @txnfun(lambda self: self.db().env)
     def _load(self, id, *, tx):
         loaded = self._decode(self.db().get(id, tx=tx))
         if hasattr(loaded, "__didex_loaded__"):
@@ -113,7 +113,7 @@ class datastore(object):
     def get(self, id, *, load=True):
         return self.cache.get(id, load=load)
 
-    @txnfun(lambda self: self.db().env.env)
+    @txnfun(lambda self: self.db().env)
     def register(self, obj, *, tx):
         id = self.db().add(self._encode(obj), tx=tx)
         for nm, attr in storedescs(obj):
@@ -121,7 +121,7 @@ class datastore(object):
         self.cache.put(id, obj)
         return id
 
-    @txnfun(lambda self: self.db().env.env)
+    @txnfun(lambda self: self.db().env)
     def unregister(self, id, *, vfy=None, tx):
         obj = self.get(id)
         if vfy is not None and obj is not vfy:
@@ -131,7 +131,7 @@ class datastore(object):
         self.db().remove(id, tx=tx)
         self.cache.remove(id)
 
-    @txnfun(lambda self: self.db().env.env)
+    @txnfun(lambda self: self.db().env)
     def update(self, id, *, vfy=None, tx):
         obj = self.get(id, load=False)
         if vfy is not None and obj is not vfy: