浏览代码

hashindex: make NSIndex1 api compatible

some new stuff is not supported for NSIndex1,
but we can avoid crashing due to function signature mismatches or
missing methods and rather have more clear exceptions.
Thomas Waldmann 2 年之前
父节点
当前提交
8c9fed105d
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/borg/hashindex.pyx

+ 5 - 1
src/borg/hashindex.pyx

@@ -344,8 +344,9 @@ cdef class NSIndex1(IndexBase):  # legacy borg 1.x
             assert segment <= _MAX_VALUE, "maximum number of segments reached"
         return data != NULL
 
-    def iteritems(self, marker=None):
+    def iteritems(self, marker=None, mask=0, value=0):
         cdef const unsigned char *key
+        assert mask == 0 and value == 0, "using mask/value is not supported for old index"
         iter = NSKeyIterator1(self.key_size)
         iter.idx = self
         iter.index = self.index
@@ -356,6 +357,9 @@ cdef class NSIndex1(IndexBase):  # legacy borg 1.x
             iter.key = key - self.key_size
         return iter
 
+    def flags(self, key, mask=0xFFFFFFFF, value=None):
+        raise NotImplemented("calling .flags() is not supported for old index")
+
 
 cdef class NSKeyIterator1:  # legacy borg 1.x
     cdef NSIndex1 idx