Dolda2000 GitWeb
/
didex.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ensure that environment maintanence runs regularly.
[didex.git]
/
didex
/
index.py
diff --git
a/didex/index.py
b/didex/index.py
index
5b5a5bc
..
0608318
100644
(file)
--- a/
didex/index.py
+++ b/
didex/index.py
@@
-2,7
+2,7
@@
import struct, contextlib, math
from . import db, lib
from .db import bd, txnfun, dloopfun
from . import db, lib
from .db import bd, txnfun, dloopfun
-__all__ = ["maybe", "t_int", "t_uint", "t_dbid", "t_float", "t_str", "t_casestr", "ordered"]
+__all__ = ["maybe", "t_
bool", "t_
int", "t_uint", "t_dbid", "t_float", "t_str", "t_casestr", "ordered"]
deadlock = bd.DBLockDeadlockError
notfound = bd.DBNotFoundError
deadlock = bd.DBLockDeadlockError
notfound = bd.DBNotFoundError
@@
-140,6
+140,7
@@
def floatcmp(a, b):
else:
return 0
else:
return 0
+t_bool = simpletype((lambda ob: b"\x01" if ob else b"\x00"), (lambda dat: False if dat == b"x\00" else True))
t_int = simpletype.struct(">q")
t_uint = simpletype.struct(">Q")
t_dbid = t_uint
t_int = simpletype.struct(">q")
t_uint = simpletype.struct(">Q")
t_dbid = t_uint
@@
-309,7
+310,7
@@
class ordered(index, lib.closable):
if not done:
cur.close()
if not done:
cur.close()
- @txnfun(lambda self: self.db.env
.env
)
+ @txnfun(lambda self: self.db.env)
def put(self, key, id, *, tx):
obid = struct.pack(">Q", id)
if not self.db.ob.has_key(obid, txn=tx.tx):
def put(self, key, id, *, tx):
obid = struct.pack(">Q", id)
if not self.db.ob.has_key(obid, txn=tx.tx):
@@
-320,7
+321,7
@@
class ordered(index, lib.closable):
return False
return True
return False
return True
- @txnfun(lambda self: self.db.env
.env
)
+ @txnfun(lambda self: self.db.env)
def remove(self, key, id, *, tx):
obid = struct.pack(">Q", id)
if not self.db.ob.has_key(obid, txn=tx.tx):
def remove(self, key, id, *, tx):
obid = struct.pack(">Q", id)
if not self.db.ob.has_key(obid, txn=tx.tx):