X-Git-Url: http://dolda2000.com/gitweb/?p=didex.git;a=blobdiff_plain;f=didex%2Findex.py;h=5b5a5bcc3ea14209cab6981bdc72d18c2f00df06;hp=c2c55b6cfd3eec2921b588c0786052367bde69b9;hb=73761d103993f8ec26bb61d1d405edde9efb5ddd;hpb=a19ad473ae0a534f454dadacb01d8252ab51c21f diff --git a/didex/index.py b/didex/index.py index c2c55b6..5b5a5bc 100644 --- a/didex/index.py +++ b/didex/index.py @@ -158,9 +158,9 @@ class index(object): 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) - 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): @@ -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) - 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):