382277d0fe
Summary: Plumbed ReadOptions::iterate_upper_bound through JNI. Made the following design choices: * Used Slice instead of AbstractSlice due to the anticipated usecase (key / key prefix). Can change this if anyone disagrees. * Used Slice instead of raw byte[] which seemed cleaner but necessitated the package-private handle-based Slice constructor. Followed WriteBatch as an example. * We need a copy constructor for ReadOptions, as we create one base ReadOptions for a particular usecase and clone -> change the iterate_upper_bound on each slice operation. Shallow copy seemed cleanest. * Hold a reference to the upper bound slice on ReadOptions, in contrast to Snapshot. Signed a Facebook CLA this morning. Closes https://github.com/facebook/rocksdb/pull/2872 Differential Revision: D5824446 Pulled By: sagar0 fbshipit-source-id: 74fc51313a10a81ecd348625e2a50ca5b7766888 |
||
---|---|---|
.. | ||
backupablejni.cc | ||
backupenginejni.cc | ||
cassandra_compactionfilterjni.cc | ||
cassandra_value_operator.cc | ||
checkpoint.cc | ||
clock_cache.cc | ||
columnfamilyhandle.cc | ||
compaction_filter.cc | ||
compaction_options_fifo.cc | ||
compaction_options_universal.cc | ||
comparator.cc | ||
comparatorjnicallback.cc | ||
comparatorjnicallback.h | ||
compression_options.cc | ||
env_options.cc | ||
env.cc | ||
filter.cc | ||
ingest_external_file_options.cc | ||
iterator.cc | ||
loggerjnicallback.cc | ||
loggerjnicallback.h | ||
lru_cache.cc | ||
memtablejni.cc | ||
merge_operator.cc | ||
options.cc | ||
portal.h | ||
ratelimiterjni.cc | ||
remove_emptyvalue_compactionfilterjni.cc | ||
restorejni.cc | ||
rocksdb_exception_test.cc | ||
rocksjni.cc | ||
slice.cc | ||
snapshot.cc | ||
sst_file_writerjni.cc | ||
statistics.cc | ||
statisticsjni.cc | ||
statisticsjni.h | ||
table.cc | ||
transaction_log.cc | ||
ttl.cc | ||
write_batch_test.cc | ||
write_batch_with_index.cc | ||
write_batch.cc | ||
writebatchhandlerjnicallback.cc | ||
writebatchhandlerjnicallback.h |