https://bugs.openldap.org/show_bug.cgi?id=10194

          Issue ID: 10194
           Summary: Does LMDB support zero length keys?
           Product: LMDB
           Version: 0.9.29
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: needs_review
          Severity: normal
          Priority: ---
         Component: liblmdb
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

I suspect the answer is 'No' but do not see a definitive statement.

I followed the Python code and documentation trail below, but decided to ask
here when I concluded I could not decide.

Some Python code was adapted from berkeleydb to lmdb and gave an exception for
a
cursor.set_range_dup(b'', <some value>) call.  Reading the lmdb/cffi.py code in
site-packages prompted me to try cursor.set_range(b''), which seemed reasonable
given that is what is done for berkeleydb, and it worked.

However cursor.put(b'', <some value>) gave an exception quoting "mdb_put:
MDB_BAD_VALSIZE ...".

The documentation for the Python interface to LMDB at lmdb.readthedocs.io/
states  behaviour for the empty bytestring for set_key(), set_key_dup(), and
set_range(); but not for set_range_dup() or put().  Only set_key() and
set_key_dup() describe empty bytestring as an error.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to