rocksdb/include/rocksdb
Yi Wu d1cab2b64e Add ValueType::kTypeBlobIndex
Summary:
Add kTypeBlobIndex value type, which will be used by blob db only, to insert a (key, blob_offset) KV pair. The purpose is to
1. Make it possible to open existing rocksdb instance as blob db. Existing value will be of kTypeIndex type, while value inserted by blob db will be of kTypeBlobIndex.
2. Make rocksdb able to detect if the db contains value written by blob db, if so return error.
3. Make it possible to have blob db optionally store value in SST file (with kTypeValue type) or as a blob value (with kTypeBlobIndex type).

The root db (DBImpl) basically pretended kTypeBlobIndex are normal value on write. On Get if is_blob is provided, return whether the value read is of kTypeBlobIndex type, or return Status::NotSupported() status if is_blob is not provided. On scan allow_blob flag is pass and if the flag is true, return wether the value is of kTypeBlobIndex type via iter->IsBlob().

Changes on blob db side will be in a separate patch.
Closes https://github.com/facebook/rocksdb/pull/2886

Differential Revision: D5838431

Pulled By: yiwu-arbug

fbshipit-source-id: 3c5306c62bc13bb11abc03422ec5cbcea1203cca
2017-10-03 09:11:23 -07:00
..
utilities WritePrepared Txn: Recovery 2017-09-28 16:56:45 -07:00
advanced_options.h Remove 'experimental' comment around level_compaction_dynamic_level_bytes option 2017-09-13 15:56:24 -07:00
c.h Make bytes_per_sync and wal_bytes_per_sync mutable 2017-09-27 17:49:45 -07:00
cache.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
cleanable.h enable PinnableSlice for RowCache 2017-07-17 15:08:30 -07:00
compaction_filter.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_job_stats.h Change RocksDB License 2017-07-15 16:11:23 -07:00
comparator.h Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
convenience.h add VerifyChecksum() to db.h 2017-08-09 15:58:13 -07:00
db.h Extend property map with compaction stats 2017-08-30 15:26:55 -07:00
db_bench_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
db_dump_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
env.h Make bytes_per_sync and wal_bytes_per_sync mutable 2017-09-27 17:49:45 -07:00
env_encryption.h Change RocksDB License 2017-07-15 16:11:23 -07:00
experimental.h Change RocksDB License 2017-07-15 16:11:23 -07:00
filter_policy.h Fix missing stdlib include required for abort() 2017-08-15 12:32:11 -07:00
flush_block_policy.h Change RocksDB License 2017-07-15 16:11:23 -07:00
iostats_context.h Change RocksDB License 2017-07-15 16:11:23 -07:00
iterator.h Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
ldb_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
listener.h Add ValueType::kTypeBlobIndex 2017-10-03 09:11:23 -07:00
memtablerep.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
merge_operator.h Introduce conditional merge-operator invocation in point lookups 2017-09-28 15:58:49 -07:00
metadata.h Change RocksDB License 2017-07-15 16:11:23 -07:00
options.h WritePrepared Txn: Advance seq one per batch 2017-09-18 14:45:08 -07:00
perf_context.h perf_context measure user bytes read 2017-08-18 11:43:33 -07:00
perf_level.h Change RocksDB License 2017-07-15 16:11:23 -07:00
persistent_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
rate_limiter.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
slice.h allow nullptr Slice only as sentinel 2017-08-23 10:56:06 -07:00
slice_transform.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
snapshot.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_dump_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_file_manager.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_file_writer.h Change RocksDB License 2017-07-15 16:11:23 -07:00
statistics.h add counter for deletion dropping optimization 2017-08-19 14:10:08 -07:00
status.h Change RocksDB License 2017-07-15 16:11:23 -07:00
table.h support disabling checksum in block-based table 2017-08-23 19:40:47 -07:00
table_properties.h FIFO Compaction with TTL 2017-06-27 17:11:48 -07:00
thread_status.h Change RocksDB License 2017-07-15 16:11:23 -07:00
threadpool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_log.h Change RocksDB License 2017-07-15 16:11:23 -07:00
types.h Change RocksDB License 2017-07-15 16:11:23 -07:00
universal_compaction.h Change RocksDB License 2017-07-15 16:11:23 -07:00
version.h Bumping version to 5.8 2017-08-30 14:26:12 -07:00
wal_filter.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
write_batch.h Add ValueType::kTypeBlobIndex 2017-10-03 09:11:23 -07:00
write_batch_base.h Change RocksDB License 2017-07-15 16:11:23 -07:00
write_buffer_manager.h Change RocksDB License 2017-07-15 16:11:23 -07:00