Browse Source

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 years ago
parent
commit
8c9fed105d
1 changed files with 5 additions and 1 deletions
  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