The default upper bound of ranges in Python bindings is
b'\xFF'. If there is another key that is bigger, like
b'\xFFFF' it will be not be returned by
transaction.get_range(begin=None, begin=None) basically, using the current high level API there is no way to retrieve the whole database in a reliable way. Is that correct?
One way to work around is to prefix all keys with
\x00 or use the tuple module.
Also, what is the purpose of the
strinc function in the python bindings. Here is its definition:
def strinc(key): key = key.rstrip(b'\xff') if len(key) == 0: raise ValueError('Key must contain at least one byte not equal to 0xFF.') return key[:-1] + six.int2byte(ord(key[-1:]) + 1)