"while(mdb_cursor_get(..., MDB_NEXT))" works because LMDB handles this
internally in the right way, but the docs [1] state:
For example, to list all key/value pairs in a database, use
operation MDB_FIRST for the first call to mdb_cursor_get(), and
MDB_NEXT on subsequent calls, until the end is hit.
It does not hurt to follow the docs to the letter, plus the revised
syntax arguably conveys the intent a bit more clearly.
[1] http://www.lmdb.tech/doc/starting.html#Cursors