Reformat code
Extract log_size_for_flush into constant
Fix test nits
Rename Checkpoint to CheckpointBuilder and fix test nit
Add comment to LOG_SIZE_FOR_FLUSH and fix CheckpointBuilder comment
Rename CheckpointBuilder to Checkpoint and create_checkpoint to save_to
Rename save_to to create_checkpoint to be consistent with C API naming
Now when you reverse iterate past the last key, it goes backwards from the end.
When you reverse iterate before the first key, you get nothing out.
Note: This is a breaking change if users have come to depend on the old
behavior.
Allow creating both db and column family iterators that are specific to
a key prefix, by setting the `prefix_same_as_start` read option when
creating the iterator.
Currently this only supports `Direction::Forward`, but it'd likely be
trivial to support `Backward` as well, by incrementing the given prefix
by one and seeking to the key before that key.
Adds a new `DB::open_cf_descriptors` method that allows passing in Options for
each column family. A new `ColumnFamilyDescriptor` type was added to contain
the congfiguration for each column family. This fixes an issue where a column
family was created with non-default options, and then fails to re-open due to a
config mismatch.
opts.set_disable_data_sync was removed from RocksDB (commit eb912a9),
but our doctest didn't fail because the function opts.set_disable_data_sync
was called in, badly_tuned_for_somebody_elses_disk, was elided by the linker.
Remove this function to ensure the doctest actually exercises the code
path.