This commit is contained in:
Ankit Gupta 2014-04-19 13:21:06 -07:00
parent 06b590dd7c
commit 1574e0c41a
5 changed files with 30 additions and 22 deletions

View File

@ -109,8 +109,9 @@ public class Iterator {
* If an error has occurred, return it. Else return an ok status.
* If non-blocking IO is requested and this operation cannot be
* satisfied without doing some IO, then this returns Status::Incomplete().
*
*/
public void status(){
public void status() throws RocksDBException {
assert(isInitialized());
status0(nativeHandle_);
}

View File

@ -143,6 +143,8 @@ public class RocksDB {
*
* Caller should close the iterator when it is no longer needed.
* The returned iterator should be closed before this db is closed.
*
* @return instance of iterator object.
*/
public Iterator newIterator() {
return new Iterator(iterator0(nativeHandle_));

View File

@ -224,7 +224,7 @@ class IteratorJni {
}
// Get the field id of the member variable of org.rocksdb.Iterator
// that stores the pointer to rocksdb::Iterator
// that stores the pointer to rocksdb::Iterator.
static jfieldID getHandleFieldID(JNIEnv* env) {
static jfieldID fid = env->GetFieldID(
getJClass(env), "nativeHandle_", "J");
@ -232,7 +232,7 @@ class IteratorJni {
return fid;
}
// Get the pointer to rocksdb::Iterator
// Get the pointer to rocksdb::Iterator.
static rocksdb::Iterator* getHandle(JNIEnv* env, jobject jobj) {
return reinterpret_cast<rocksdb::Iterator*>(
env->GetLongField(jobj, getHandleFieldID(env)));

View File

@ -297,6 +297,11 @@ void Java_org_rocksdb_RocksDB_close0(
rocksdb::RocksDBJni::setHandle(env, java_db, nullptr);
}
/*
* Class: org_rocksdb_RocksDB
* Method: iterator0
* Signature: (J)J
*/
jlong Java_org_rocksdb_RocksDB_iterator0(
JNIEnv* env, jobject jdb, jlong db_handle) {
auto db = reinterpret_cast<rocksdb::DB*>(db_handle);