Dolda2000 GitWeb
/
didex.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed index opening thread-safety by including it in local transaction.
[didex.git]
/
didex
/
index.py
diff --git
a/didex/index.py
b/didex/index.py
index
c2c55b6
..
5b5a5bc
100644
(file)
--- a/
didex/index.py
+++ b/
didex/index.py
@@
-158,9
+158,9
@@
class index(object):
missing = object()
class ordered(index, lib.closable):
missing = object()
class ordered(index, lib.closable):
- def __init__(self, db, name, datatype, create=True):
+ def __init__(self, db, name, datatype, create=True
, *, tx=None
):
super().__init__(db, name, datatype)
super().__init__(db, name, datatype)
- fl = bd.DB_THREAD
| bd.DB_AUTO_COMMIT
+ fl = bd.DB_THREAD
if create: fl |= bd.DB_CREATE
def initdb(db):
def compare(a, b):
if create: fl |= bd.DB_CREATE
def initdb(db):
def compare(a, b):
@@
-168,7
+168,7
@@
class ordered(index, lib.closable):
return self.typ.compare(self.typ.decode(a), self.typ.decode(b))
db.set_flags(bd.DB_DUPSORT)
db.set_bt_compare(compare)
return self.typ.compare(self.typ.decode(a), self.typ.decode(b))
db.set_flags(bd.DB_DUPSORT)
db.set_bt_compare(compare)
- self.bk = db._opendb("i-" + name, bd.DB_BTREE, fl, initdb)
+ self.bk = db._opendb("i-" + name, bd.DB_BTREE, fl, initdb
, tx=tx
)
self.bk.set_get_returns_none(False)
def close(self):
self.bk.set_get_returns_none(False)
def close(self):