| Memtables and sstables that make the DB
| representation contain (userkey,seq,type) =>
| uservalue entries. DBIter combines multiple
| entries for the same userkey found in the DB
| representation into a single entry while
| accounting for sequence numbers, deletion
| markers, overwrites, etc.
| Which direction is the iterator currently
| moving?
|
| (1) When moving forward, the internal
| iterator is positioned at the exact entry
| that yields this->key(), this->value()
|
| (2) When moving backwards, the internal
| iterator is positioned just before all
| entries whose user key == this->key().
| A DB is a persistent ordered map from keys to
| values.
|
| A DB is safe for concurrent access from
| multiple threads without any external
| synchronization.
| Destroy the contents of the specified database.
| Be very careful using this method.
|
| Note: For backwards compatibility, if DestroyDB
| is unable to list the database files,
| Status::OK() will still be returned masking
| this failure.
| Return a new iterator that converts internal
| keys (yielded by “*internal_iter”) that were
| live at the specified “sequence” number into
| appropriate user keys.
| If a DB cannot be opened, you may attempt to
| call this method to resurrect as much of the
| contents of the database as possible.
|
| Some data may be lost, so be careful when
| calling this function on a database that
| contains important information.