self.parts = parts
self.iattr = "__idx_%s_cur" % name
+ def minim(self, *parts):
+ return self.typ.minim(*parts)
+ def maxim(self, *parts):
+ return self.typ.maxim(*parts)
+
+ def get(self, *, partial=None, **spec):
+ if partial is not None:
+ return super().get(ge=self.minim(*partial), le = self.maxim(*partial), **spec)
+ else:
+ return super().get(**spec)
+
def register(self, id, obj, tx):
val = tuple(part.__get__(obj, None) for part in self.parts)
self.index().put(val, id, tx=tx)