Dolda2000 GitWeb
/
didex.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added idlink.
[didex.git]
/
didex
/
db.py
diff --git
a/didex/db.py
b/didex/db.py
index
33eb0d8
..
539fc85
100644
(file)
--- a/
didex/db.py
+++ b/
didex/db.py
@@
-125,21
+125,18
@@
class database(object):
self.env = env
self.mode = mode
self.fnm = name
self.env = env
self.mode = mode
self.fnm = name
- fl = bd.DB_THREAD
| bd.DB_AUTO_COMMIT
+ fl = bd.DB_THREAD
if create:
fl |= bd.DB_CREATE
self.cf = self._opendb("cf", bd.DB_HASH, fl)
self.ob = self._opendb("ob", bd.DB_HASH, fl)
if create:
fl |= bd.DB_CREATE
self.cf = self._opendb("cf", bd.DB_HASH, fl)
self.ob = self._opendb("ob", bd.DB_HASH, fl)
- def _opendb(self, dnm, typ, fl, init=None):
+ @txnfun(lambda self: self.env.env)
+ def _opendb(self, dnm, typ, fl, init=None, *, tx):
ret = bd.DB(self.env.env)
if init: init(ret)
ret = bd.DB(self.env.env)
if init: init(ret)
- while True:
- try:
- ret.open(self.fnm, dnm, typ, fl, self.mode)
- except deadlock:
- continue
- return ret
+ ret.open(self.fnm, dnm, typ, fl, self.mode, txn=tx.tx)
+ return ret
@txnfun(lambda self: self.env.env)
def _nextseq(self, *, tx):
@txnfun(lambda self: self.env.env)
def _nextseq(self, *, tx):