rocksdb/java/rocksjni
Ben Clay 382277d0fe JNI support for ReadOptions::iterate_upper_bound
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
2017-09-14 18:28:20 -07:00
..
backupablejni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
backupenginejni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
cassandra_compactionfilterjni.cc Cassandra compaction filter for purge expired columns and rows 2017-07-21 14:57:44 -07:00
cassandra_value_operator.cc garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
checkpoint.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
clock_cache.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
columnfamilyhandle.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_filter.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_options_fifo.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
compaction_options_universal.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
comparator.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
comparatorjnicallback.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
comparatorjnicallback.h Change RocksDB License 2017-07-15 16:11:23 -07:00
compression_options.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_options.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
filter.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
ingest_external_file_options.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
iterator.cc Add iterator's SeekForPrev functionality to the java-api 2017-09-12 10:56:29 -07:00
loggerjnicallback.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
loggerjnicallback.h Change RocksDB License 2017-07-15 16:11:23 -07:00
lru_cache.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
memtablejni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operator.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
options.cc JNI support for ReadOptions::iterate_upper_bound 2017-09-14 18:28:20 -07:00
portal.h Change RocksDB License 2017-07-15 16:11:23 -07:00
ratelimiterjni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
remove_emptyvalue_compactionfilterjni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
restorejni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
rocksdb_exception_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
rocksjni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
slice.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
snapshot.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_file_writerjni.cc Provide byte[] version of SstFileWriter.merge to reduce GC Stall 2017-08-22 12:55:24 -07:00
statistics.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
statisticsjni.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
statisticsjni.h Change RocksDB License 2017-07-15 16:11:23 -07:00
table.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_log.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
ttl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
write_batch_test.cc Gcc 7 ParsedInternalKey replace memset with clear function. 2017-07-24 11:31:15 -07:00
write_batch_with_index.cc Add iterator's SeekForPrev functionality to the java-api 2017-09-12 10:56:29 -07:00
write_batch.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
writebatchhandlerjnicallback.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
writebatchhandlerjnicallback.h Change RocksDB License 2017-07-15 16:11:23 -07:00