rocksdb/util
Naman Gupta 8454cfe569 Add read/modify/write functionality to Put() api
Summary: The application can set a callback function, which is applied on the previous value. And calculates the new value. This new value can be set, either inplace, if the previous value existed in memtable, and new value is smaller than previous value. Otherwise the new value is added normally.

Test Plan: fbmake. Added unit tests. All unit tests pass.

Reviewers: dhruba, haobo

Reviewed By: haobo

CC: sdong, kailiu, xinyaohu, sumeet, leveldb

Differential Revision: https://reviews.facebook.net/D14745
2014-01-14 07:55:16 -08:00
..
arena_impl.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_impl.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
autovector_test.cc Fix issue #57 2014-01-06 11:11:19 -08:00
autovector.h Replace vector with autovector 2014-01-02 16:43:35 -08:00
bit_set.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
blob_store_test.cc Move the compiler back to 4.8.1 + more small fixes 2013-11-18 11:40:16 -08:00
blob_store.cc Fixing the warning messages captured under mac os # Consider using git commit -m 'One line title' && arc diff. # You will save time by running lint and unit in the background. 2013-11-12 20:05:28 -08:00
blob_store.h Implement max_size in BlobStore 2013-10-23 14:38:52 -07:00
bloom_test.cc [RocksDB] [Performance Branch] Added dynamic bloom, to be used for memable non-existing key filtering 2013-12-11 00:15:14 -08:00
bloom.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
build_version.h Fixed typos 2013-11-16 11:21:34 +00:00
cache_test.cc [RocksDB] [Performance Branch] Trivia build fix 2013-12-13 14:21:59 -08:00
cache.cc Replace vector with autovector 2014-01-02 16:43:35 -08:00
coding_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding.cc [RocksDB] BackupableDB 2013-12-09 14:06:52 -08:00
coding.h [RocksDB] BackupableDB 2013-12-09 14:06:52 -08:00
comparator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
dynamic_bloom_test.cc [RocksDB] [Performance Branch] Added dynamic bloom, to be used for memable non-existing key filtering 2013-12-11 00:15:14 -08:00
dynamic_bloom.cc [RocksDB] [Performance Branch] Some Changes to PlainTable format 2013-12-20 12:08:35 -08:00
dynamic_bloom.h [RocksDB] [Performance Branch] Some Changes to PlainTable format 2013-12-20 12:08:35 -08:00
env_hdfs.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env_posix.cc Merge branch 'master' into performance 2013-12-27 12:23:17 -08:00
env_test.cc make util/env_posix.cc work under mac 2013-11-16 23:44:39 -08:00
env.cc Flush the log outside of lock 2013-11-07 11:31:56 -08:00
filelock_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
filter_policy.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash_linklist_rep.cc [Performance Branch] Fix memory leak in HashLinkListRep.GetIterator() 2014-01-10 12:12:28 -08:00
hash_linklist_rep.h [Performance Branch] A Hashed Linked List Based Mem Table 2014-01-09 16:19:11 -08:00
hash_skiplist_rep.cc [RocksDB] [Performance Branch] Added dynamic bloom, to be used for memable non-existing key filtering 2013-12-11 00:15:14 -08:00
hash_skiplist_rep.h Merge branch 'master' into performance 2013-12-06 14:15:42 -08:00
hash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram.cc Quick fix for a string format 2013-11-12 21:22:32 -08:00
histogram.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd_execute_result.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd.cc [Log dumper broken when merge operator is in log] 2013-12-04 16:22:54 -08:00
ldb_cmd.h Task #3071144 Enhance ldb (db dump tool for leveldb) to report row counters for each row type 2013-11-01 13:59:14 -07:00
ldb_tool.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
manual_compaction_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
mutexlock.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
options.cc Add read/modify/write functionality to Put() api 2014-01-14 07:55:16 -08:00
perf_context_imp.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
perf_context.cc Revert "Allow users to profile a query and see bottleneck of the query" 2013-11-21 17:40:39 -08:00
posix_logger.h only try to use fallocate if it's actually present on the system 2013-12-10 22:34:19 -08:00
random.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
signal_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
skiplistrep.cc [Only for Performance Branch] A Hacky patch to lazily generate memtable key for prefix-hashed memtables. 2013-11-20 20:49:23 -08:00
slice.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stack_trace.h Print stack trace on assertion failure 2013-12-06 17:11:09 -08:00
statistics_imp.h Refine the statistics 2013-12-06 16:51:35 -08:00
statistics.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stats_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
status.cc Avoid malloc in NotFound key status if no message is given. 2013-12-26 16:23:10 -08:00
stl_wrappers.h Killing Transform Rep 2013-12-03 12:42:15 -08:00
stop_watch.h StopWatch not to get time if it is created for statistics and it is disabled 2014-01-09 17:39:48 -08:00
string_util.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
string_util.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.h Print stack trace on assertion failure 2013-12-06 17:11:09 -08:00
testutil.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testutil.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
vectorrep.cc [Only for Performance Branch] A Hacky patch to lazily generate memtable key for prefix-hashed memtables. 2013-11-20 20:49:23 -08:00