// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
-// This source code is licensed under the BSD-style license found in the
-// LICENSE file in the root directory of this source tree. An additional grant
-// of patent rights can be found in the PATENTS file in the same directory.
+// This source code is licensed under both the GPLv2 (found in the
+// COPYING file in the root directory) and Apache 2.0 License
+// (found in the LICENSE.Apache file in the root directory).
//
// This file implements the "bridge" between Java and C++ and enables
// calling c++ rocksdb::DB methods from Java side.
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::Open
-jlong rocksdb_open_helper(JNIEnv* env, jlong jopt_handle, jstring jdb_path,
- std::function<rocksdb::Status(
- const rocksdb::Options&, const std::string&, rocksdb::DB**)> open_fn
- ) {
+jlong rocksdb_open_helper(
+ JNIEnv* env, jlong jopt_handle, jstring jdb_path,
+ std::function<rocksdb::Status(const rocksdb::Options&, const std::string&,
+ rocksdb::DB**)>
+ open_fn) {
const char* db_path = env->GetStringUTFChars(jdb_path, nullptr);
- if(db_path == nullptr) {
+ if (db_path == nullptr) {
// exception thrown: OutOfMemoryError
return 0;
}
* Method: open
* Signature: (JLjava/lang/String;)J
*/
-jlong Java_org_rocksdb_RocksDB_open__JLjava_lang_String_2(
- JNIEnv* env, jclass jcls, jlong jopt_handle, jstring jdb_path) {
- return rocksdb_open_helper(env, jopt_handle, jdb_path,
- (rocksdb::Status(*)
- (const rocksdb::Options&, const std::string&, rocksdb::DB**)
- )&rocksdb::DB::Open
- );
+jlong Java_org_rocksdb_RocksDB_open__JLjava_lang_String_2(JNIEnv* env,
+ jclass /*jcls*/,
+ jlong jopt_handle,
+ jstring jdb_path) {
+ return rocksdb_open_helper(
+ env, jopt_handle, jdb_path,
+ (rocksdb::Status(*)(const rocksdb::Options&, const std::string&,
+ rocksdb::DB**)) &
+ rocksdb::DB::Open);
}
/*
* Signature: (JLjava/lang/String;)J
*/
jlong Java_org_rocksdb_RocksDB_openROnly__JLjava_lang_String_2(
- JNIEnv* env, jclass jcls, jlong jopt_handle, jstring jdb_path) {
- return rocksdb_open_helper(env, jopt_handle, jdb_path, [](
- const rocksdb::Options& options,
- const std::string& db_path, rocksdb::DB** db) {
- return rocksdb::DB::OpenForReadOnly(options, db_path, db);
- });
+ JNIEnv* env, jclass /*jcls*/, jlong jopt_handle, jstring jdb_path) {
+ return rocksdb_open_helper(env, jopt_handle, jdb_path,
+ [](const rocksdb::Options& options,
+ const std::string& db_path, rocksdb::DB** db) {
+ return rocksdb::DB::OpenForReadOnly(options,
+ db_path, db);
+ });
}
-jlongArray rocksdb_open_helper(JNIEnv* env, jlong jopt_handle,
- jstring jdb_path, jobjectArray jcolumn_names, jlongArray jcolumn_options,
+jlongArray rocksdb_open_helper(
+ JNIEnv* env, jlong jopt_handle, jstring jdb_path,
+ jobjectArray jcolumn_names, jlongArray jcolumn_options,
std::function<rocksdb::Status(
- const rocksdb::DBOptions&, const std::string&,
- const std::vector<rocksdb::ColumnFamilyDescriptor>&,
- std::vector<rocksdb::ColumnFamilyHandle*>*,
- rocksdb::DB**)> open_fn
- ) {
+ const rocksdb::DBOptions&, const std::string&,
+ const std::vector<rocksdb::ColumnFamilyDescriptor>&,
+ std::vector<rocksdb::ColumnFamilyHandle*>*, rocksdb::DB**)>
+ open_fn) {
const char* db_path = env->GetStringUTFChars(jdb_path, nullptr);
- if(db_path == nullptr) {
+ if (db_path == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
const jsize len_cols = env->GetArrayLength(jcolumn_names);
jlong* jco = env->GetLongArrayElements(jcolumn_options, nullptr);
- if(jco == nullptr) {
+ if (jco == nullptr) {
// exception thrown: OutOfMemoryError
env->ReleaseStringUTFChars(jdb_path, db_path);
return nullptr;
std::vector<rocksdb::ColumnFamilyDescriptor> column_families;
jboolean has_exception = JNI_FALSE;
rocksdb::JniUtil::byteStrings<std::string>(
- env,
- jcolumn_names,
- [](const char* str_data, const size_t str_len) {
- return std::string(str_data, str_len);
- },
- [&jco, &column_families](size_t idx, std::string cf_name) {
- rocksdb::ColumnFamilyOptions* cf_options =
- reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jco[idx]);
- column_families.push_back(
- rocksdb::ColumnFamilyDescriptor(cf_name, *cf_options));
- },
- &has_exception);
+ env, jcolumn_names,
+ [](const char* str_data, const size_t str_len) {
+ return std::string(str_data, str_len);
+ },
+ [&jco, &column_families](size_t idx, std::string cf_name) {
+ rocksdb::ColumnFamilyOptions* cf_options =
+ reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jco[idx]);
+ column_families.push_back(
+ rocksdb::ColumnFamilyDescriptor(cf_name, *cf_options));
+ },
+ &has_exception);
env->ReleaseLongArrayElements(jcolumn_options, jco, JNI_ABORT);
- if(has_exception == JNI_TRUE) {
- // exception occured
+ if (has_exception == JNI_TRUE) {
+ // exception occurred
env->ReleaseStringUTFChars(jdb_path, db_path);
return nullptr;
}
auto* opt = reinterpret_cast<rocksdb::DBOptions*>(jopt_handle);
std::vector<rocksdb::ColumnFamilyHandle*> handles;
rocksdb::DB* db = nullptr;
- rocksdb::Status s = open_fn(*opt, db_path, column_families,
- &handles, &db);
+ rocksdb::Status s = open_fn(*opt, db_path, column_families, &handles, &db);
// we have now finished with db_path
env->ReleaseStringUTFChars(jdb_path, db_path);
// check if open operation was successful
if (s.ok()) {
- const jsize resultsLen = 1 + len_cols; //db handle + column family handles
+ const jsize resultsLen = 1 + len_cols; // db handle + column family handles
std::unique_ptr<jlong[]> results =
std::unique_ptr<jlong[]>(new jlong[resultsLen]);
results[0] = reinterpret_cast<jlong>(db);
- for(int i = 1; i <= len_cols; i++) {
+ for (int i = 1; i <= len_cols; i++) {
results[i] = reinterpret_cast<jlong>(handles[i - 1]);
}
jlongArray jresults = env->NewLongArray(resultsLen);
- if(jresults == nullptr) {
+ if (jresults == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
env->SetLongArrayRegion(jresults, 0, resultsLen, results.get());
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jresults);
return nullptr;
* Signature: (JLjava/lang/String;[[B[J)[J
*/
jlongArray Java_org_rocksdb_RocksDB_openROnly__JLjava_lang_String_2_3_3B_3J(
- JNIEnv* env, jclass jcls, jlong jopt_handle, jstring jdb_path,
+ JNIEnv* env, jclass /*jcls*/, jlong jopt_handle, jstring jdb_path,
jobjectArray jcolumn_names, jlongArray jcolumn_options) {
- return rocksdb_open_helper(env, jopt_handle, jdb_path, jcolumn_names,
- jcolumn_options, [](
- const rocksdb::DBOptions& options, const std::string& db_path,
- const std::vector<rocksdb::ColumnFamilyDescriptor>& column_families,
- std::vector<rocksdb::ColumnFamilyHandle*>* handles, rocksdb::DB** db) {
- return rocksdb::DB::OpenForReadOnly(options, db_path, column_families,
- handles, db);
- });
+ return rocksdb_open_helper(
+ env, jopt_handle, jdb_path, jcolumn_names, jcolumn_options,
+ [](const rocksdb::DBOptions& options, const std::string& db_path,
+ const std::vector<rocksdb::ColumnFamilyDescriptor>& column_families,
+ std::vector<rocksdb::ColumnFamilyHandle*>* handles, rocksdb::DB** db) {
+ return rocksdb::DB::OpenForReadOnly(options, db_path, column_families,
+ handles, db);
+ });
}
/*
* Signature: (JLjava/lang/String;[[B[J)[J
*/
jlongArray Java_org_rocksdb_RocksDB_open__JLjava_lang_String_2_3_3B_3J(
- JNIEnv* env, jclass jcls, jlong jopt_handle, jstring jdb_path,
+ JNIEnv* env, jclass /*jcls*/, jlong jopt_handle, jstring jdb_path,
jobjectArray jcolumn_names, jlongArray jcolumn_options) {
- return rocksdb_open_helper(env, jopt_handle, jdb_path, jcolumn_names,
- jcolumn_options, (rocksdb::Status(*)
- (const rocksdb::DBOptions&, const std::string&,
- const std::vector<rocksdb::ColumnFamilyDescriptor>&,
- std::vector<rocksdb::ColumnFamilyHandle*>*, rocksdb::DB**)
- )&rocksdb::DB::Open
- );
+ return rocksdb_open_helper(
+ env, jopt_handle, jdb_path, jcolumn_names, jcolumn_options,
+ (rocksdb::Status(*)(const rocksdb::DBOptions&, const std::string&,
+ const std::vector<rocksdb::ColumnFamilyDescriptor>&,
+ std::vector<rocksdb::ColumnFamilyHandle*>*,
+ rocksdb::DB**)) &
+ rocksdb::DB::Open);
}
//////////////////////////////////////////////////////////////////////////////
* Method: listColumnFamilies
* Signature: (JLjava/lang/String;)[[B
*/
-jobjectArray Java_org_rocksdb_RocksDB_listColumnFamilies(
- JNIEnv* env, jclass jclazz, jlong jopt_handle, jstring jdb_path) {
+jobjectArray Java_org_rocksdb_RocksDB_listColumnFamilies(JNIEnv* env,
+ jclass /*jclazz*/,
+ jlong jopt_handle,
+ jstring jdb_path) {
std::vector<std::string> column_family_names;
const char* db_path = env->GetStringUTFChars(jdb_path, nullptr);
- if(db_path == nullptr) {
+ if (db_path == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
auto* opt = reinterpret_cast<rocksdb::Options*>(jopt_handle);
- rocksdb::Status s = rocksdb::DB::ListColumnFamilies(*opt, db_path,
- &column_family_names);
+ rocksdb::Status s =
+ rocksdb::DB::ListColumnFamilies(*opt, db_path, &column_family_names);
env->ReleaseStringUTFChars(jdb_path, db_path);
jint jval_off, jint jval_len) {
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
return false;
}
jbyte* value = new jbyte[jval_len];
env->GetByteArrayRegion(jval, jval_off, jval_len, value);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] value;
- delete [] key;
+ delete[] value;
+ delete[] key;
return false;
}
}
// cleanup
- delete [] value;
- delete [] key;
+ delete[] value;
+ delete[] key;
if (s.ok()) {
return true;
* Method: put
* Signature: (J[BII[BII)V
*/
-void Java_org_rocksdb_RocksDB_put__J_3BII_3BII(JNIEnv* env, jobject jdb,
+void Java_org_rocksdb_RocksDB_put__J_3BII_3BII(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
* Method: put
* Signature: (J[BII[BIIJ)V
*/
-void Java_org_rocksdb_RocksDB_put__J_3BII_3BIIJ(JNIEnv* env, jobject jdb,
+void Java_org_rocksdb_RocksDB_put__J_3BII_3BIIJ(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
rocksdb_put_helper(env, db, default_write_options, cf_handle, jkey,
jkey_off, jkey_len, jval, jval_off, jval_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Method: put
* Signature: (JJ[BII[BII)V
*/
-void Java_org_rocksdb_RocksDB_put__JJ_3BII_3BII(JNIEnv* env, jobject jdb,
+void Java_org_rocksdb_RocksDB_put__JJ_3BII_3BII(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jlong jwrite_options_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
jint jval_off, jint jval_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto* write_options = reinterpret_cast<rocksdb::WriteOptions*>(
- jwrite_options_handle);
+ auto* write_options =
+ reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
rocksdb_put_helper(env, db, *write_options, nullptr, jkey, jkey_off, jkey_len,
jval, jval_off, jval_len);
* Signature: (JJ[BII[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_put__JJ_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jwrite_options_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jbyteArray jval,
jint jval_off, jint jval_len, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto* write_options = reinterpret_cast<rocksdb::WriteOptions*>(
- jwrite_options_handle);
+ auto* write_options =
+ reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
rocksdb_put_helper(env, db, *write_options, cf_handle, jkey, jkey_off,
jkey_len, jval, jval_off, jval_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Method: write0
* Signature: (JJJ)V
*/
-void Java_org_rocksdb_RocksDB_write0(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options_handle, jlong jwb_handle) {
+void Java_org_rocksdb_RocksDB_write0(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jwrite_options_handle,
+ jlong jwb_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto* write_options = reinterpret_cast<rocksdb::WriteOptions*>(
- jwrite_options_handle);
+ auto* write_options =
+ reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
rocksdb::Status s = db->Write(*write_options, wb);
* Method: write1
* Signature: (JJJ)V
*/
-void Java_org_rocksdb_RocksDB_write1(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options_handle, jlong jwbwi_handle) {
+void Java_org_rocksdb_RocksDB_write1(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jwrite_options_handle,
+ jlong jwbwi_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto* write_options = reinterpret_cast<rocksdb::WriteOptions*>(
- jwrite_options_handle);
+ auto* write_options =
+ reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
auto* wb = wbwi->GetWriteBatch();
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::KeyMayExist
jboolean key_may_exist_helper(JNIEnv* env, rocksdb::DB* db,
- const rocksdb::ReadOptions& read_opt,
- rocksdb::ColumnFamilyHandle* cf_handle, jbyteArray jkey, jint jkey_off,
- jint jkey_len, jobject jstring_builder, bool* has_exception) {
-
+ const rocksdb::ReadOptions& read_opt,
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jbyteArray jkey, jint jkey_off, jint jkey_len,
+ jobject jstring_builder, bool* has_exception) {
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
*has_exception = true;
return false;
}
rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_len);
-
+
std::string value;
bool value_found = false;
bool keyMayExist;
if (cf_handle != nullptr) {
- keyMayExist = db->KeyMayExist(read_opt, cf_handle, key_slice,
- &value, &value_found);
+ keyMayExist =
+ db->KeyMayExist(read_opt, cf_handle, key_slice, &value, &value_found);
} else {
- keyMayExist = db->KeyMayExist(read_opt, key_slice,
- &value, &value_found);
+ keyMayExist = db->KeyMayExist(read_opt, key_slice, &value, &value_found);
}
// cleanup
- delete [] key;
+ delete[] key;
// extract the value
if (value_found && !value.empty()) {
jobject jresult_string_builder =
- rocksdb::StringBuilderJni::append(env, jstring_builder,
- value.c_str());
- if(jresult_string_builder == nullptr) {
+ rocksdb::StringBuilderJni::append(env, jstring_builder, value.c_str());
+ if (jresult_string_builder == nullptr) {
*has_exception = true;
return false;
}
* Signature: (J[BIILjava/lang/StringBuilder;)Z
*/
jboolean Java_org_rocksdb_RocksDB_keyMayExist__J_3BIILjava_lang_StringBuilder_2(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jkey, jint jkey_off,
- jint jkey_len, jobject jstring_builder) {
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jkey,
+ jint jkey_off, jint jkey_len, jobject jstring_builder) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
bool has_exception = false;
- return key_may_exist_helper(env, db, rocksdb::ReadOptions(),
- nullptr, jkey, jkey_off, jkey_len, jstring_builder, &has_exception);
+ return key_may_exist_helper(env, db, rocksdb::ReadOptions(), nullptr, jkey,
+ jkey_off, jkey_len, jstring_builder,
+ &has_exception);
}
/*
* Method: keyMayExist
* Signature: (J[BIIJLjava/lang/StringBuilder;)Z
*/
-jboolean Java_org_rocksdb_RocksDB_keyMayExist__J_3BIIJLjava_lang_StringBuilder_2(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jkey, jint jkey_off,
- jint jkey_len, jlong jcf_handle, jobject jstring_builder) {
+jboolean
+Java_org_rocksdb_RocksDB_keyMayExist__J_3BIIJLjava_lang_StringBuilder_2(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jkey,
+ jint jkey_off, jint jkey_len, jlong jcf_handle, jobject jstring_builder) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(
- jcf_handle);
+ auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
bool has_exception = false;
- return key_may_exist_helper(env, db, rocksdb::ReadOptions(),
- cf_handle, jkey, jkey_off, jkey_len, jstring_builder, &has_exception);
+ return key_may_exist_helper(env, db, rocksdb::ReadOptions(), cf_handle,
+ jkey, jkey_off, jkey_len, jstring_builder,
+ &has_exception);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
return true;
}
}
* Method: keyMayExist
* Signature: (JJ[BIILjava/lang/StringBuilder;)Z
*/
-jboolean Java_org_rocksdb_RocksDB_keyMayExist__JJ_3BIILjava_lang_StringBuilder_2(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jread_options_handle,
+jboolean
+Java_org_rocksdb_RocksDB_keyMayExist__JJ_3BIILjava_lang_StringBuilder_2(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jread_options_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jobject jstring_builder) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto& read_options = *reinterpret_cast<rocksdb::ReadOptions*>(
- jread_options_handle);
+ auto& read_options =
+ *reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
bool has_exception = false;
- return key_may_exist_helper(env, db, read_options,
- nullptr, jkey, jkey_off, jkey_len, jstring_builder, &has_exception);
+ return key_may_exist_helper(env, db, read_options, nullptr, jkey, jkey_off,
+ jkey_len, jstring_builder, &has_exception);
}
/*
* Method: keyMayExist
* Signature: (JJ[BIIJLjava/lang/StringBuilder;)Z
*/
-jboolean Java_org_rocksdb_RocksDB_keyMayExist__JJ_3BIIJLjava_lang_StringBuilder_2(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jread_options_handle,
+jboolean
+Java_org_rocksdb_RocksDB_keyMayExist__JJ_3BIIJLjava_lang_StringBuilder_2(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jread_options_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jlong jcf_handle,
jobject jstring_builder) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- auto& read_options = *reinterpret_cast<rocksdb::ReadOptions*>(
- jread_options_handle);
- auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(
- jcf_handle);
+ auto& read_options =
+ *reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+ auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
bool has_exception = false;
- return key_may_exist_helper(env, db, read_options, cf_handle,
- jkey, jkey_off, jkey_len, jstring_builder, &has_exception);
+ return key_may_exist_helper(env, db, read_options, cf_handle, jkey,
+ jkey_off, jkey_len, jstring_builder,
+ &has_exception);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
return true;
}
}
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::Get
-jbyteArray rocksdb_get_helper(
- JNIEnv* env, rocksdb::DB* db, const rocksdb::ReadOptions& read_opt,
- rocksdb::ColumnFamilyHandle* column_family_handle, jbyteArray jkey,
- jint jkey_off, jint jkey_len) {
-
+jbyteArray rocksdb_get_helper(JNIEnv* env, rocksdb::DB* db,
+ const rocksdb::ReadOptions& read_opt,
+ rocksdb::ColumnFamilyHandle* column_family_handle,
+ jbyteArray jkey, jint jkey_off, jint jkey_len) {
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
return nullptr;
}
- rocksdb::Slice key_slice(
- reinterpret_cast<char*>(key), jkey_len);
+ rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_len);
std::string value;
rocksdb::Status s;
}
// cleanup
- delete [] key;
+ delete[] key;
if (s.IsNotFound()) {
return nullptr;
if (s.ok()) {
jbyteArray jret_value = rocksdb::JniUtil::copyBytes(env, value);
- if(jret_value == nullptr) {
+ if (jret_value == nullptr) {
// exception occurred
return nullptr;
}
* Method: get
* Signature: (J[BII)[B
*/
-jbyteArray Java_org_rocksdb_RocksDB_get__J_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_off, jint jkey_len) {
- return rocksdb_get_helper(env,
- reinterpret_cast<rocksdb::DB*>(jdb_handle),
- rocksdb::ReadOptions(), nullptr,
- jkey, jkey_off, jkey_len);
+jbyteArray Java_org_rocksdb_RocksDB_get__J_3BII(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jbyteArray jkey, jint jkey_off,
+ jint jkey_len) {
+ return rocksdb_get_helper(env, reinterpret_cast<rocksdb::DB*>(jdb_handle),
+ rocksdb::ReadOptions(), nullptr, jkey, jkey_off,
+ jkey_len);
}
/*
* Method: get
* Signature: (J[BIIJ)[B
*/
-jbyteArray Java_org_rocksdb_RocksDB_get__J_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_off, jint jkey_len, jlong jcf_handle) {
+jbyteArray Java_org_rocksdb_RocksDB_get__J_3BIIJ(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jbyteArray jkey, jint jkey_off,
+ jint jkey_len,
+ jlong jcf_handle) {
auto db_handle = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
- return rocksdb_get_helper(env, db_handle, rocksdb::ReadOptions(),
- cf_handle, jkey, jkey_off, jkey_len);
+ return rocksdb_get_helper(env, db_handle, rocksdb::ReadOptions(), cf_handle,
+ jkey, jkey_off, jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
return nullptr;
}
}
* Method: get
* Signature: (JJ[BII)[B
*/
-jbyteArray Java_org_rocksdb_RocksDB_get__JJ_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jropt_handle,
- jbyteArray jkey, jint jkey_off, jint jkey_len) {
- return rocksdb_get_helper(env,
- reinterpret_cast<rocksdb::DB*>(jdb_handle),
- *reinterpret_cast<rocksdb::ReadOptions*>(jropt_handle), nullptr,
- jkey, jkey_off, jkey_len);
+jbyteArray Java_org_rocksdb_RocksDB_get__JJ_3BII(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jropt_handle,
+ jbyteArray jkey, jint jkey_off,
+ jint jkey_len) {
+ return rocksdb_get_helper(
+ env, reinterpret_cast<rocksdb::DB*>(jdb_handle),
+ *reinterpret_cast<rocksdb::ReadOptions*>(jropt_handle), nullptr, jkey,
+ jkey_off, jkey_len);
}
/*
* Signature: (JJ[BIIJ)[B
*/
jbyteArray Java_org_rocksdb_RocksDB_get__JJ_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jropt_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jropt_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jlong jcf_handle) {
auto* db_handle = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto& ro_opt = *reinterpret_cast<rocksdb::ReadOptions*>(jropt_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
- return rocksdb_get_helper(env, db_handle, ro_opt, cf_handle,
- jkey, jkey_off, jkey_len);
+ return rocksdb_get_helper(env, db_handle, ro_opt, cf_handle, jkey, jkey_off,
+ jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
return nullptr;
}
}
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: OutOfMemoryError
- delete [] key;
+ delete[] key;
*has_exception = true;
return kStatusError;
}
}
// cleanup
- delete [] key;
+ delete[] key;
if (s.IsNotFound()) {
*has_exception = false;
const jint cvalue_len = static_cast<jint>(cvalue.size());
const jint length = std::min(jval_len, cvalue_len);
- env->SetByteArrayRegion(jval, jval_off, length,
- const_cast<jbyte*>(reinterpret_cast<const jbyte*>(cvalue.c_str())));
- if(env->ExceptionCheck()) {
+ env->SetByteArrayRegion(
+ jval, jval_off, length,
+ const_cast<jbyte*>(reinterpret_cast<const jbyte*>(cvalue.c_str())));
+ if (env->ExceptionCheck()) {
// exception thrown: OutOfMemoryError
*has_exception = true;
return kStatusError;
return cvalue_len;
}
-inline void multi_get_helper_release_keys(JNIEnv* env,
- std::vector<std::pair<jbyte*, jobject>> &keys_to_free) {
+inline void multi_get_helper_release_keys(
+ JNIEnv* env, std::vector<std::pair<jbyte*, jobject>>& keys_to_free) {
auto end = keys_to_free.end();
for (auto it = keys_to_free.begin(); it != end; ++it) {
- delete [] it->first;
+ delete[] it->first;
env->DeleteLocalRef(it->second);
}
keys_to_free.clear();
* cf multi get
*
* @return byte[][] of values or nullptr if an exception occurs
- */
-jobjectArray multi_get_helper(JNIEnv* env, jobject jdb, rocksdb::DB* db,
- const rocksdb::ReadOptions& rOpt, jobjectArray jkeys,
- jintArray jkey_offs, jintArray jkey_lens,
- jlongArray jcolumn_family_handles) {
+ */
+jobjectArray multi_get_helper(JNIEnv* env, jobject /*jdb*/, rocksdb::DB* db,
+ const rocksdb::ReadOptions& rOpt,
+ jobjectArray jkeys, jintArray jkey_offs,
+ jintArray jkey_lens,
+ jlongArray jcolumn_family_handles) {
std::vector<rocksdb::ColumnFamilyHandle*> cf_handles;
if (jcolumn_family_handles != nullptr) {
const jsize len_cols = env->GetArrayLength(jcolumn_family_handles);
jlong* jcfh = env->GetLongArrayElements(jcolumn_family_handles, nullptr);
- if(jcfh == nullptr) {
+ if (jcfh == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
for (jsize i = 0; i < len_cols; i++) {
- auto* cf_handle =
- reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcfh[i]);
+ auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcfh[i]);
cf_handles.push_back(cf_handle);
}
env->ReleaseLongArrayElements(jcolumn_family_handles, jcfh, JNI_ABORT);
}
jint* jkey_off = env->GetIntArrayElements(jkey_offs, nullptr);
- if(jkey_off == nullptr) {
+ if (jkey_off == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
jint* jkey_len = env->GetIntArrayElements(jkey_lens, nullptr);
- if(jkey_len == nullptr) {
+ if (jkey_len == nullptr) {
// exception thrown: OutOfMemoryError
env->ReleaseIntArrayElements(jkey_offs, jkey_off, JNI_ABORT);
return nullptr;
std::vector<std::pair<jbyte*, jobject>> keys_to_free;
for (jsize i = 0; i < len_keys; i++) {
jobject jkey = env->GetObjectArrayElement(jkeys, i);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->ReleaseIntArrayElements(jkey_lens, jkey_len, JNI_ABORT);
env->ReleaseIntArrayElements(jkey_offs, jkey_off, JNI_ABORT);
const jint len_key = jkey_len[i];
jbyte* key = new jbyte[len_key];
env->GetByteArrayRegion(jkey_ba, jkey_off[i], len_key, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
env->DeleteLocalRef(jkey);
env->ReleaseIntArrayElements(jkey_lens, jkey_len, JNI_ABORT);
env->ReleaseIntArrayElements(jkey_offs, jkey_off, JNI_ABORT);
// prepare the results
jobjectArray jresults =
rocksdb::ByteJni::new2dByteArray(env, static_cast<jsize>(s.size()));
- if(jresults == nullptr) {
+ if (jresults == nullptr) {
// exception occurred
return nullptr;
}
std::string* value = &values[i];
const jsize jvalue_len = static_cast<jsize>(value->size());
jbyteArray jentry_value = env->NewByteArray(jvalue_len);
- if(jentry_value == nullptr) {
+ if (jentry_value == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
- env->SetByteArrayRegion(jentry_value, 0, static_cast<jsize>(jvalue_len),
+ env->SetByteArrayRegion(
+ jentry_value, 0, static_cast<jsize>(jvalue_len),
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(value->c_str())));
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jentry_value);
return nullptr;
}
env->SetObjectArrayElement(jresults, static_cast<jsize>(i), jentry_value);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jentry_value);
return nullptr;
JNIEnv* env, jobject jdb, jlong jdb_handle, jobjectArray jkeys,
jintArray jkey_offs, jintArray jkey_lens) {
return multi_get_helper(env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
- rocksdb::ReadOptions(), jkeys, jkey_offs, jkey_lens, nullptr);
+ rocksdb::ReadOptions(), jkeys, jkey_offs, jkey_lens,
+ nullptr);
}
/*
jintArray jkey_offs, jintArray jkey_lens,
jlongArray jcolumn_family_handles) {
return multi_get_helper(env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
- rocksdb::ReadOptions(), jkeys, jkey_offs, jkey_lens,
- jcolumn_family_handles);
+ rocksdb::ReadOptions(), jkeys, jkey_offs, jkey_lens,
+ jcolumn_family_handles);
}
/*
jobjectArray Java_org_rocksdb_RocksDB_multiGet__JJ_3_3B_3I_3I(
JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jropt_handle,
jobjectArray jkeys, jintArray jkey_offs, jintArray jkey_lens) {
- return multi_get_helper(env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
+ return multi_get_helper(
+ env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
*reinterpret_cast<rocksdb::ReadOptions*>(jropt_handle), jkeys, jkey_offs,
jkey_lens, nullptr);
}
JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jropt_handle,
jobjectArray jkeys, jintArray jkey_offs, jintArray jkey_lens,
jlongArray jcolumn_family_handles) {
- return multi_get_helper(env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
+ return multi_get_helper(
+ env, jdb, reinterpret_cast<rocksdb::DB*>(jdb_handle),
*reinterpret_cast<rocksdb::ReadOptions*>(jropt_handle), jkeys, jkey_offs,
jkey_lens, jcolumn_family_handles);
}
* Method: get
* Signature: (J[BII[BII)I
*/
-jint Java_org_rocksdb_RocksDB_get__J_3BII_3BII(JNIEnv* env, jobject jdb,
+jint Java_org_rocksdb_RocksDB_get__J_3BII_3BII(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
bool has_exception = false;
return rocksdb_get_helper(env, reinterpret_cast<rocksdb::DB*>(jdb_handle),
rocksdb::ReadOptions(), nullptr, jkey, jkey_off,
- jkey_len, jval, jval_off, jval_len,
- &has_exception);
+ jkey_len, jval, jval_off, jval_len, &has_exception);
}
/*
* Method: get
* Signature: (J[BII[BIIJ)I
*/
-jint Java_org_rocksdb_RocksDB_get__J_3BII_3BIIJ(JNIEnv* env, jobject jdb,
+jint Java_org_rocksdb_RocksDB_get__J_3BII_3BIIJ(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
jkey, jkey_off, jkey_len, jval, jval_off,
jval_len, &has_exception);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
// will never be evaluated
return 0;
}
* Method: get
* Signature: (JJ[BII[BII)I
*/
-jint Java_org_rocksdb_RocksDB_get__JJ_3BII_3BII(JNIEnv* env, jobject jdb,
+jint Java_org_rocksdb_RocksDB_get__JJ_3BII_3BII(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jlong jropt_handle,
jbyteArray jkey, jint jkey_off,
* Signature: (JJ[BII[BIIJ)I
*/
jint Java_org_rocksdb_RocksDB_get__JJ_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jropt_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jropt_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jbyteArray jval,
jint jval_off, jint jval_len, jlong jcf_handle) {
auto* db_handle = reinterpret_cast<rocksdb::DB*>(jdb_handle);
jkey_len, jval, jval_off, jval_len,
&has_exception);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
// will never be evaluated
return 0;
}
/**
* @return true if the delete succeeded, false if a Java Exception was thrown
*/
-bool rocksdb_delete_helper(
- JNIEnv* env, rocksdb::DB* db, const rocksdb::WriteOptions& write_options,
- rocksdb::ColumnFamilyHandle* cf_handle, jbyteArray jkey, jint jkey_off,
- jint jkey_len) {
+bool rocksdb_delete_helper(JNIEnv* env, rocksdb::DB* db,
+ const rocksdb::WriteOptions& write_options,
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jbyteArray jkey, jint jkey_off, jint jkey_len) {
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
return false;
}
rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_len);
}
// cleanup
- delete [] key;
+ delete[] key;
if (s.ok()) {
return true;
* Method: delete
* Signature: (J[BII)V
*/
-void Java_org_rocksdb_RocksDB_delete__J_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_off, jint jkey_len) {
+void Java_org_rocksdb_RocksDB_delete__J_3BII(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle, jbyteArray jkey,
+ jint jkey_off, jint jkey_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
static const rocksdb::WriteOptions default_write_options =
rocksdb::WriteOptions();
- rocksdb_delete_helper(env, db, default_write_options, nullptr,
- jkey, jkey_off, jkey_len);
+ rocksdb_delete_helper(env, db, default_write_options, nullptr, jkey, jkey_off,
+ jkey_len);
}
/*
* Method: delete
* Signature: (J[BIIJ)V
*/
-void Java_org_rocksdb_RocksDB_delete__J_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_off, jint jkey_len, jlong jcf_handle) {
+void Java_org_rocksdb_RocksDB_delete__J_3BIIJ(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle, jbyteArray jkey,
+ jint jkey_off, jint jkey_len,
+ jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
static const rocksdb::WriteOptions default_write_options =
rocksdb::WriteOptions();
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
- rocksdb_delete_helper(env, db, default_write_options, cf_handle,
- jkey, jkey_off, jkey_len);
+ rocksdb_delete_helper(env, db, default_write_options, cf_handle, jkey,
+ jkey_off, jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Method: delete
* Signature: (JJ[BII)V
*/
-void Java_org_rocksdb_RocksDB_delete__JJ_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options, jbyteArray jkey, jint jkey_off, jint jkey_len) {
+void Java_org_rocksdb_RocksDB_delete__JJ_3BII(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jwrite_options,
+ jbyteArray jkey, jint jkey_off,
+ jint jkey_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* write_options =
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options);
rocksdb_delete_helper(env, db, *write_options, nullptr, jkey, jkey_off,
- jkey_len);
+ jkey_len);
}
/*
* Signature: (JJ[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_delete__JJ_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options, jbyteArray jkey, jint jkey_off, jint jkey_len,
- jlong jcf_handle) {
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options,
+ jbyteArray jkey, jint jkey_off, jint jkey_len, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* write_options =
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
rocksdb_delete_helper(env, db, *write_options, cf_handle, jkey, jkey_off,
- jkey_len);
+ jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* @return true if the single delete succeeded, false if a Java Exception
* was thrown
*/
-bool rocksdb_single_delete_helper(
- JNIEnv* env, rocksdb::DB* db, const rocksdb::WriteOptions& write_options,
- rocksdb::ColumnFamilyHandle* cf_handle, jbyteArray jkey, jint jkey_len) {
+bool rocksdb_single_delete_helper(JNIEnv* env, rocksdb::DB* db,
+ const rocksdb::WriteOptions& write_options,
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jbyteArray jkey, jint jkey_len) {
jbyte* key = env->GetByteArrayElements(jkey, nullptr);
- if(key == nullptr) {
+ if (key == nullptr) {
// exception thrown: OutOfMemoryError
return false;
}
* Method: singleDelete
* Signature: (J[BI)V
*/
-void Java_org_rocksdb_RocksDB_singleDelete__J_3BI(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_len) {
+void Java_org_rocksdb_RocksDB_singleDelete__J_3BI(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jbyteArray jkey,
+ jint jkey_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
static const rocksdb::WriteOptions default_write_options =
rocksdb::WriteOptions();
- rocksdb_single_delete_helper(env, db, default_write_options, nullptr,
- jkey, jkey_len);
+ rocksdb_single_delete_helper(env, db, default_write_options, nullptr, jkey,
+ jkey_len);
}
/*
* Method: singleDelete
* Signature: (J[BIJ)V
*/
-void Java_org_rocksdb_RocksDB_singleDelete__J_3BIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jkey, jint jkey_len, jlong jcf_handle) {
+void Java_org_rocksdb_RocksDB_singleDelete__J_3BIJ(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jbyteArray jkey,
+ jint jkey_len,
+ jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
static const rocksdb::WriteOptions default_write_options =
rocksdb::WriteOptions();
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
rocksdb_single_delete_helper(env, db, default_write_options, cf_handle,
- jkey, jkey_len);
+ jkey, jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Method: singleDelete
* Signature: (JJ[BIJ)V
*/
-void Java_org_rocksdb_RocksDB_singleDelete__JJ_3BI(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options, jbyteArray jkey, jint jkey_len) {
+void Java_org_rocksdb_RocksDB_singleDelete__JJ_3BI(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jwrite_options,
+ jbyteArray jkey,
+ jint jkey_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* write_options =
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options);
rocksdb_single_delete_helper(env, db, *write_options, nullptr, jkey,
- jkey_len);
+ jkey_len);
}
/*
* Signature: (JJ[BIJ)V
*/
void Java_org_rocksdb_RocksDB_singleDelete__JJ_3BIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jwrite_options, jbyteArray jkey, jint jkey_len,
- jlong jcf_handle) {
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options,
+ jbyteArray jkey, jint jkey_len, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* write_options =
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
if (cf_handle != nullptr) {
rocksdb_single_delete_helper(env, db, *write_options, cf_handle, jkey,
- jkey_len);
+ jkey_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Signature: (J[BII[BII)V
*/
void Java_org_rocksdb_RocksDB_deleteRange__J_3BII_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jbegin_key,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jbegin_key,
jint jbegin_key_off, jint jbegin_key_len, jbyteArray jend_key,
jint jend_key_off, jint jend_key_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
* Signature: (J[BII[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_deleteRange__J_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jbegin_key,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jbegin_key,
jint jbegin_key_off, jint jbegin_key_len, jbyteArray jend_key,
jint jend_key_off, jint jend_key_len, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
* Signature: (JJ[BII[BII)V
*/
void Java_org_rocksdb_RocksDB_deleteRange__JJ_3BII_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jwrite_options,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options,
jbyteArray jbegin_key, jint jbegin_key_off, jint jbegin_key_len,
jbyteArray jend_key, jint jend_key_off, jint jend_key_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
* Signature: (JJ[BII[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_deleteRange__JJ_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jwrite_options,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options,
jbyteArray jbegin_key, jint jbegin_key_off, jint jbegin_key_len,
jbyteArray jend_key, jint jend_key_off, jint jend_key_len,
jlong jcf_handle) {
jbyteArray jval, jint jval_off, jint jval_len) {
jbyte* key = new jbyte[jkey_len];
env->GetByteArrayRegion(jkey, jkey_off, jkey_len, key);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] key;
+ delete[] key;
return false;
}
rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_len);
- jbyte* value = new jbyte[jkey_len];
+ jbyte* value = new jbyte[jval_len];
env->GetByteArrayRegion(jval, jval_off, jval_len, value);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
- delete [] value;
- delete [] key;
+ delete[] value;
+ delete[] key;
return false;
}
rocksdb::Slice value_slice(reinterpret_cast<char*>(value), jval_len);
}
// cleanup
- delete [] value;
- delete [] key;
+ delete[] value;
+ delete[] key;
if (s.ok()) {
return true;
* Method: merge
* Signature: (J[BII[BII)V
*/
-void Java_org_rocksdb_RocksDB_merge__J_3BII_3BII(JNIEnv* env, jobject jdb,
+void Java_org_rocksdb_RocksDB_merge__J_3BII_3BII(JNIEnv* env, jobject /*jdb*/,
jlong jdb_handle,
jbyteArray jkey, jint jkey_off,
jint jkey_len, jbyteArray jval,
* Signature: (J[BII[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_merge__J_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jkey, jint jkey_off,
- jint jkey_len, jbyteArray jval, jint jval_off, jint jval_len,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jkey,
+ jint jkey_off, jint jkey_len, jbyteArray jval, jint jval_off, jint jval_len,
jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
static const rocksdb::WriteOptions default_write_options =
rocksdb_merge_helper(env, db, default_write_options, cf_handle, jkey,
jkey_off, jkey_len, jval, jval_off, jval_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Signature: (JJ[BII[BII)V
*/
void Java_org_rocksdb_RocksDB_merge__JJ_3BII_3BII(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jwrite_options_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jbyteArray jval,
jint jval_off, jint jval_len) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
* Signature: (JJ[BII[BIIJ)V
*/
void Java_org_rocksdb_RocksDB_merge__JJ_3BII_3BIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jwrite_options_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jwrite_options_handle,
jbyteArray jkey, jint jkey_off, jint jkey_len, jbyteArray jval,
jint jval_off, jint jval_len, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
rocksdb_merge_helper(env, db, *write_options, cf_handle, jkey, jkey_off,
jkey_len, jval, jval_off, jval_len);
} else {
- rocksdb::RocksDBExceptionJni::ThrowNew(env,
- rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid ColumnFamilyHandle."));
}
}
* Method: disposeInternal
* Signature: (J)V
*/
-void Java_org_rocksdb_RocksDB_disposeInternal(
- JNIEnv* env, jobject java_db, jlong jhandle) {
+void Java_org_rocksdb_RocksDB_disposeInternal(JNIEnv* /*env*/,
+ jobject /*java_db*/,
+ jlong jhandle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jhandle);
assert(db != nullptr);
delete db;
}
-jlong rocksdb_iterator_helper(
- rocksdb::DB* db, rocksdb::ReadOptions read_options,
- rocksdb::ColumnFamilyHandle* cf_handle) {
+jlong rocksdb_iterator_helper(rocksdb::DB* db,
+ rocksdb::ReadOptions read_options,
+ rocksdb::ColumnFamilyHandle* cf_handle) {
rocksdb::Iterator* iterator = nullptr;
if (cf_handle != nullptr) {
iterator = db->NewIterator(read_options, cf_handle);
* Method: iterator
* Signature: (J)J
*/
-jlong Java_org_rocksdb_RocksDB_iterator__J(
- JNIEnv* env, jobject jdb, jlong db_handle) {
+jlong Java_org_rocksdb_RocksDB_iterator__J(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
- return rocksdb_iterator_helper(db, rocksdb::ReadOptions(),
- nullptr);
+ return rocksdb_iterator_helper(db, rocksdb::ReadOptions(), nullptr);
}
/*
* Method: iterator
* Signature: (JJ)J
*/
-jlong Java_org_rocksdb_RocksDB_iterator__JJ(
- JNIEnv* env, jobject jdb, jlong db_handle,
- jlong jread_options_handle) {
+jlong Java_org_rocksdb_RocksDB_iterator__JJ(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle,
+ jlong jread_options_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
- auto& read_options = *reinterpret_cast<rocksdb::ReadOptions*>(
- jread_options_handle);
- return rocksdb_iterator_helper(db, read_options,
- nullptr);
+ auto& read_options =
+ *reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+ return rocksdb_iterator_helper(db, read_options, nullptr);
}
/*
* Method: iteratorCF
* Signature: (JJ)J
*/
-jlong Java_org_rocksdb_RocksDB_iteratorCF__JJ(
- JNIEnv* env, jobject jdb, jlong db_handle, jlong jcf_handle) {
+jlong Java_org_rocksdb_RocksDB_iteratorCF__JJ(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle,
+ jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
- return rocksdb_iterator_helper(db, rocksdb::ReadOptions(),
- cf_handle);
+ return rocksdb_iterator_helper(db, rocksdb::ReadOptions(), cf_handle);
}
/*
* Method: iteratorCF
* Signature: (JJJ)J
*/
-jlong Java_org_rocksdb_RocksDB_iteratorCF__JJJ(
- JNIEnv* env, jobject jdb, jlong db_handle, jlong jcf_handle,
- jlong jread_options_handle) {
+jlong Java_org_rocksdb_RocksDB_iteratorCF__JJJ(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle,
+ jlong jcf_handle,
+ jlong jread_options_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
- auto& read_options = *reinterpret_cast<rocksdb::ReadOptions*>(
- jread_options_handle);
- return rocksdb_iterator_helper(db, read_options,
- cf_handle);
+ auto& read_options =
+ *reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+ return rocksdb_iterator_helper(db, read_options, cf_handle);
}
/*
* Method: iterators
* Signature: (J[JJ)[J
*/
-jlongArray Java_org_rocksdb_RocksDB_iterators(
- JNIEnv* env, jobject jdb, jlong db_handle,
- jlongArray jcolumn_family_handles, jlong jread_options_handle) {
+jlongArray Java_org_rocksdb_RocksDB_iterators(JNIEnv* env, jobject /*jdb*/,
+ jlong db_handle,
+ jlongArray jcolumn_family_handles,
+ jlong jread_options_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
- auto& read_options = *reinterpret_cast<rocksdb::ReadOptions*>(
- jread_options_handle);
+ auto& read_options =
+ *reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
std::vector<rocksdb::ColumnFamilyHandle*> cf_handles;
if (jcolumn_family_handles != nullptr) {
const jsize len_cols = env->GetArrayLength(jcolumn_family_handles);
jlong* jcfh = env->GetLongArrayElements(jcolumn_family_handles, nullptr);
- if(jcfh == nullptr) {
+ if (jcfh == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
for (jsize i = 0; i < len_cols; i++) {
- auto* cf_handle =
- reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcfh[i]);
+ auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcfh[i]);
cf_handles.push_back(cf_handle);
}
}
std::vector<rocksdb::Iterator*> iterators;
- rocksdb::Status s = db->NewIterators(read_options,
- cf_handles, &iterators);
+ rocksdb::Status s = db->NewIterators(read_options, cf_handles, &iterators);
if (s.ok()) {
jlongArray jLongArray =
env->NewLongArray(static_cast<jsize>(iterators.size()));
- if(jLongArray == nullptr) {
+ if (jLongArray == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
- for (std::vector<rocksdb::Iterator*>::size_type i = 0;
- i < iterators.size(); i++) {
- env->SetLongArrayRegion(jLongArray, static_cast<jsize>(i), 1,
- const_cast<jlong*>(reinterpret_cast<const jlong*>(&iterators[i])));
- if(env->ExceptionCheck()) {
+ for (std::vector<rocksdb::Iterator*>::size_type i = 0; i < iterators.size();
+ i++) {
+ env->SetLongArrayRegion(
+ jLongArray, static_cast<jsize>(i), 1,
+ const_cast<jlong*>(reinterpret_cast<const jlong*>(&iterators[i])));
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jLongArray);
return nullptr;
* Method: getDefaultColumnFamily
* Signature: (J)J
*/
-jlong Java_org_rocksdb_RocksDB_getDefaultColumnFamily(
- JNIEnv* env, jobject jobj, jlong jdb_handle) {
+jlong Java_org_rocksdb_RocksDB_getDefaultColumnFamily(JNIEnv* /*env*/,
+ jobject /*jobj*/,
+ jlong jdb_handle) {
auto* db_handle = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* cf_handle = db_handle->DefaultColumnFamily();
return reinterpret_cast<jlong>(cf_handle);
* Method: createColumnFamily
* Signature: (J[BJ)J
*/
-jlong Java_org_rocksdb_RocksDB_createColumnFamily(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jbyteArray jcolumn_name, jlong jcolumn_options) {
+jlong Java_org_rocksdb_RocksDB_createColumnFamily(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jbyteArray jcolumn_name,
+ jlong jcolumn_options) {
rocksdb::ColumnFamilyHandle* handle;
jboolean has_exception = JNI_FALSE;
- std::string column_name = rocksdb::JniUtil::byteString<std::string>(env,
- jcolumn_name,
- [](const char* str, const size_t len) { return std::string(str, len); },
- &has_exception);
- if(has_exception == JNI_TRUE) {
+ std::string column_name = rocksdb::JniUtil::byteString<std::string>(
+ env, jcolumn_name,
+ [](const char* str, const size_t len) { return std::string(str, len); },
+ &has_exception);
+ if (has_exception == JNI_TRUE) {
// exception occurred
return 0;
}
auto* cfOptions =
reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jcolumn_options);
- rocksdb::Status s = db_handle->CreateColumnFamily(
- *cfOptions, column_name, &handle);
+ rocksdb::Status s =
+ db_handle->CreateColumnFamily(*cfOptions, column_name, &handle);
if (s.ok()) {
return reinterpret_cast<jlong>(handle);
* Method: dropColumnFamily
* Signature: (JJ)V;
*/
-void Java_org_rocksdb_RocksDB_dropColumnFamily(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jcf_handle) {
+void Java_org_rocksdb_RocksDB_dropColumnFamily(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jcf_handle) {
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
auto* db_handle = reinterpret_cast<rocksdb::DB*>(jdb_handle);
rocksdb::Status s = db_handle->DropColumnFamily(cf_handle);
* Method: getSnapshot
* Signature: (J)J
*/
-jlong Java_org_rocksdb_RocksDB_getSnapshot(
- JNIEnv* env, jobject jdb, jlong db_handle) {
+jlong Java_org_rocksdb_RocksDB_getSnapshot(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
const rocksdb::Snapshot* snapshot = db->GetSnapshot();
return reinterpret_cast<jlong>(snapshot);
* Method: releaseSnapshot
* Signature: (JJ)V
*/
-void Java_org_rocksdb_RocksDB_releaseSnapshot(
- JNIEnv* env, jobject jdb, jlong db_handle, jlong snapshot_handle) {
+void Java_org_rocksdb_RocksDB_releaseSnapshot(JNIEnv* /*env*/, jobject /*jdb*/,
+ jlong db_handle,
+ jlong snapshot_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
auto* snapshot = reinterpret_cast<rocksdb::Snapshot*>(snapshot_handle);
db->ReleaseSnapshot(snapshot);
* Signature: (JLjava/lang/String;I)Ljava/lang/String;
*/
jstring Java_org_rocksdb_RocksDB_getProperty0__JLjava_lang_String_2I(
- JNIEnv* env, jobject jdb, jlong db_handle, jstring jproperty,
+ JNIEnv* env, jobject /*jdb*/, jlong db_handle, jstring jproperty,
jint jproperty_len) {
const char* property = env->GetStringUTFChars(jproperty, nullptr);
- if(property == nullptr) {
+ if (property == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
rocksdb::Slice property_slice(property, jproperty_len);
- auto *db = reinterpret_cast<rocksdb::DB*>(db_handle);
+ auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
std::string property_value;
bool retCode = db->GetProperty(property_slice, &property_value);
env->ReleaseStringUTFChars(jproperty, property);
* Signature: (JJLjava/lang/String;I)Ljava/lang/String;
*/
jstring Java_org_rocksdb_RocksDB_getProperty0__JJLjava_lang_String_2I(
- JNIEnv* env, jobject jdb, jlong db_handle, jlong jcf_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong db_handle, jlong jcf_handle,
jstring jproperty, jint jproperty_len) {
const char* property = env->GetStringUTFChars(jproperty, nullptr);
- if(property == nullptr) {
+ if (property == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
* Signature: (JLjava/lang/String;I)L;
*/
jlong Java_org_rocksdb_RocksDB_getLongProperty__JLjava_lang_String_2I(
- JNIEnv* env, jobject jdb, jlong db_handle, jstring jproperty,
+ JNIEnv* env, jobject /*jdb*/, jlong db_handle, jstring jproperty,
jint jproperty_len) {
const char* property = env->GetStringUTFChars(jproperty, nullptr);
- if(property == nullptr) {
+ if (property == nullptr) {
// exception thrown: OutOfMemoryError
return 0;
}
* Signature: (JJLjava/lang/String;I)L;
*/
jlong Java_org_rocksdb_RocksDB_getLongProperty__JJLjava_lang_String_2I(
- JNIEnv* env, jobject jdb, jlong db_handle, jlong jcf_handle,
+ JNIEnv* env, jobject /*jdb*/, jlong db_handle, jlong jcf_handle,
jstring jproperty, jint jproperty_len) {
const char* property = env->GetStringUTFChars(jproperty, nullptr);
- if(property == nullptr) {
+ if (property == nullptr) {
// exception thrown: OutOfMemoryError
return 0;
}
return 0;
}
+/*
+ * Class: org_rocksdb_RocksDB
+ * Method: getAggregatedLongProperty
+ * Signature: (JLjava/lang/String;I)J
+ */
+jlong Java_org_rocksdb_RocksDB_getAggregatedLongProperty(
+ JNIEnv* env, jobject, jlong db_handle, jstring jproperty, jint jproperty_len) {
+ const char* property = env->GetStringUTFChars(jproperty, nullptr);
+ if (property == nullptr) {
+ return 0;
+ }
+ rocksdb::Slice property_slice(property, jproperty_len);
+ auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
+ uint64_t property_value = 0;
+ bool retCode = db->GetAggregatedIntProperty(property_slice, &property_value);
+ env->ReleaseStringUTFChars(jproperty, property);
+
+ if (retCode) {
+ return property_value;
+ }
+
+ rocksdb::RocksDBExceptionJni::ThrowNew(env, rocksdb::Status::NotFound());
+ return 0;
+}
+
+
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::Flush
-void rocksdb_flush_helper(
- JNIEnv* env, rocksdb::DB* db, const rocksdb::FlushOptions& flush_options,
- rocksdb::ColumnFamilyHandle* column_family_handle) {
+void rocksdb_flush_helper(JNIEnv* env, rocksdb::DB* db,
+ const rocksdb::FlushOptions& flush_options,
+ rocksdb::ColumnFamilyHandle* column_family_handle) {
rocksdb::Status s;
if (column_family_handle != nullptr) {
s = db->Flush(flush_options, column_family_handle);
s = db->Flush(flush_options);
}
if (!s.ok()) {
- rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+ rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
}
}
* Method: flush
* Signature: (JJ)V
*/
-void Java_org_rocksdb_RocksDB_flush__JJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jflush_options) {
+void Java_org_rocksdb_RocksDB_flush__JJ(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jflush_options) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* flush_options =
reinterpret_cast<rocksdb::FlushOptions*>(jflush_options);
* Method: flush
* Signature: (JJJ)V
*/
-void Java_org_rocksdb_RocksDB_flush__JJJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jlong jflush_options, jlong jcf_handle) {
+void Java_org_rocksdb_RocksDB_flush__JJJ(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle, jlong jflush_options,
+ jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* flush_options =
reinterpret_cast<rocksdb::FlushOptions*>(jflush_options);
// rocksdb::DB::CompactRange - Full
void rocksdb_compactrange_helper(JNIEnv* env, rocksdb::DB* db,
- rocksdb::ColumnFamilyHandle* cf_handle, jboolean jreduce_level,
- jint jtarget_level, jint jtarget_path_id) {
-
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jboolean jreduce_level, jint jtarget_level,
+ jint jtarget_path_id) {
rocksdb::Status s;
rocksdb::CompactRangeOptions compact_options;
compact_options.change_level = jreduce_level;
* Method: compactRange0
* Signature: (JZII)V
*/
-void Java_org_rocksdb_RocksDB_compactRange0__JZII(JNIEnv* env,
- jobject jdb, jlong jdb_handle, jboolean jreduce_level,
- jint jtarget_level, jint jtarget_path_id) {
+void Java_org_rocksdb_RocksDB_compactRange0__JZII(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jboolean jreduce_level,
+ jint jtarget_level,
+ jint jtarget_path_id) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- rocksdb_compactrange_helper(env, db, nullptr, jreduce_level,
- jtarget_level, jtarget_path_id);
+ rocksdb_compactrange_helper(env, db, nullptr, jreduce_level, jtarget_level,
+ jtarget_path_id);
}
/*
* Signature: (JZIIJ)V
*/
void Java_org_rocksdb_RocksDB_compactRange__JZIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle,
- jboolean jreduce_level, jint jtarget_level,
- jint jtarget_path_id, jlong jcf_handle) {
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jboolean jreduce_level,
+ jint jtarget_level, jint jtarget_path_id, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
- rocksdb_compactrange_helper(env, db, cf_handle, jreduce_level,
- jtarget_level, jtarget_path_id);
+ rocksdb_compactrange_helper(env, db, cf_handle, jreduce_level, jtarget_level,
+ jtarget_path_id);
}
//////////////////////////////////////////////////////////////////////////////
* was thrown
*/
bool rocksdb_compactrange_helper(JNIEnv* env, rocksdb::DB* db,
- rocksdb::ColumnFamilyHandle* cf_handle, jbyteArray jbegin, jint jbegin_len,
- jbyteArray jend, jint jend_len, jboolean jreduce_level, jint jtarget_level,
- jint jtarget_path_id) {
-
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jbyteArray jbegin, jint jbegin_len,
+ jbyteArray jend, jint jend_len,
+ const rocksdb::CompactRangeOptions& compact_options) {
jbyte* begin = env->GetByteArrayElements(jbegin, nullptr);
- if(begin == nullptr) {
+ if (begin == nullptr) {
// exception thrown: OutOfMemoryError
return false;
}
jbyte* end = env->GetByteArrayElements(jend, nullptr);
- if(end == nullptr) {
+ if (end == nullptr) {
// exception thrown: OutOfMemoryError
env->ReleaseByteArrayElements(jbegin, begin, JNI_ABORT);
return false;
const rocksdb::Slice end_slice(reinterpret_cast<char*>(end), jend_len);
rocksdb::Status s;
- rocksdb::CompactRangeOptions compact_options;
- compact_options.change_level = jreduce_level;
- compact_options.target_level = jtarget_level;
- compact_options.target_path_id = static_cast<uint32_t>(jtarget_path_id);
if (cf_handle != nullptr) {
s = db->CompactRange(compact_options, cf_handle, &begin_slice, &end_slice);
} else {
return false;
}
+/**
+ * @return true if the compact range succeeded, false if a Java Exception
+ * was thrown
+ */
+bool rocksdb_compactrange_helper(JNIEnv* env, rocksdb::DB* db,
+ rocksdb::ColumnFamilyHandle* cf_handle,
+ jbyteArray jbegin, jint jbegin_len,
+ jbyteArray jend, jint jend_len,
+ jboolean jreduce_level, jint jtarget_level,
+ jint jtarget_path_id) {
+ rocksdb::CompactRangeOptions compact_options;
+ compact_options.change_level = jreduce_level;
+ compact_options.target_level = jtarget_level;
+ compact_options.target_path_id = static_cast<uint32_t>(jtarget_path_id);
+
+ return rocksdb_compactrange_helper(env, db, cf_handle, jbegin, jbegin_len,
+ jend, jend_len, compact_options);
+}
+
/*
* Class: org_rocksdb_RocksDB
* Method: compactRange0
* Signature: (J[BI[BIZII)V
*/
-void Java_org_rocksdb_RocksDB_compactRange0__J_3BI_3BIZII(JNIEnv* env,
- jobject jdb, jlong jdb_handle, jbyteArray jbegin, jint jbegin_len,
- jbyteArray jend, jint jend_len, jboolean jreduce_level,
+void Java_org_rocksdb_RocksDB_compactRange0__J_3BI_3BIZII(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jbegin,
+ jint jbegin_len, jbyteArray jend, jint jend_len, jboolean jreduce_level,
jint jtarget_level, jint jtarget_path_id) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
- rocksdb_compactrange_helper(env, db, nullptr, jbegin, jbegin_len,
- jend, jend_len, jreduce_level, jtarget_level, jtarget_path_id);
+ rocksdb_compactrange_helper(env, db, nullptr, jbegin, jbegin_len, jend,
+ jend_len, jreduce_level, jtarget_level,
+ jtarget_path_id);
}
/*
* Signature: (JJ[BI[BIZII)V
*/
void Java_org_rocksdb_RocksDB_compactRange__J_3BI_3BIZIIJ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jbyteArray jbegin,
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jbegin,
+ jint jbegin_len, jbyteArray jend, jint jend_len, jboolean jreduce_level,
+ jint jtarget_level, jint jtarget_path_id, jlong jcf_handle) {
+ auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
+ auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
+ rocksdb_compactrange_helper(env, db, cf_handle, jbegin, jbegin_len, jend,
+ jend_len, jreduce_level, jtarget_level,
+ jtarget_path_id);
+}
+
+
+void Java_org_rocksdb_RocksDB_compactRange__J_3BI_3BIJJ(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jbyteArray jbegin,
jint jbegin_len, jbyteArray jend, jint jend_len,
- jboolean jreduce_level, jint jtarget_level,
- jint jtarget_path_id, jlong jcf_handle) {
+ jlong jcompact_options_handle, jlong jcf_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
- rocksdb_compactrange_helper(env, db, cf_handle, jbegin, jbegin_len,
- jend, jend_len, jreduce_level, jtarget_level, jtarget_path_id);
+ auto* compact_options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jcompact_options_handle);
+
+ rocksdb_compactrange_helper(env, db, cf_handle, jbegin, jbegin_len, jend,
+ jend_len, *compact_options);
}
+
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::PauseBackgroundWork
* Method: pauseBackgroundWork
* Signature: (J)V
*/
-void Java_org_rocksdb_RocksDB_pauseBackgroundWork(
- JNIEnv* env, jobject jobj, jlong jdb_handle) {
+void Java_org_rocksdb_RocksDB_pauseBackgroundWork(JNIEnv* env, jobject /*jobj*/,
+ jlong jdb_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto s = db->PauseBackgroundWork();
if (!s.ok()) {
* Method: continueBackgroundWork
* Signature: (J)V
*/
-void Java_org_rocksdb_RocksDB_continueBackgroundWork(
- JNIEnv* env, jobject jobj, jlong jdb_handle) {
+void Java_org_rocksdb_RocksDB_continueBackgroundWork(JNIEnv* env,
+ jobject /*jobj*/,
+ jlong jdb_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto s = db->ContinueBackgroundWork();
if (!s.ok()) {
* Method: getLatestSequenceNumber
* Signature: (J)V
*/
-jlong Java_org_rocksdb_RocksDB_getLatestSequenceNumber(JNIEnv* env,
- jobject jdb, jlong jdb_handle) {
+jlong Java_org_rocksdb_RocksDB_getLatestSequenceNumber(JNIEnv* /*env*/,
+ jobject /*jdb*/,
+ jlong jdb_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
return db->GetLatestSequenceNumber();
}
* Method: enableFileDeletions
* Signature: (J)V
*/
-void Java_org_rocksdb_RocksDB_disableFileDeletions(JNIEnv* env,
- jobject jdb, jlong jdb_handle) {
+void Java_org_rocksdb_RocksDB_disableFileDeletions(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
rocksdb::Status s = db->DisableFileDeletions();
if (!s.ok()) {
* Method: enableFileDeletions
* Signature: (JZ)V
*/
-void Java_org_rocksdb_RocksDB_enableFileDeletions(JNIEnv* env,
- jobject jdb, jlong jdb_handle, jboolean jforce) {
+void Java_org_rocksdb_RocksDB_enableFileDeletions(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jboolean jforce) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
rocksdb::Status s = db->EnableFileDeletions(jforce);
if (!s.ok()) {
* Method: getUpdatesSince
* Signature: (JJ)J
*/
-jlong Java_org_rocksdb_RocksDB_getUpdatesSince(JNIEnv* env,
- jobject jdb, jlong jdb_handle, jlong jsequence_number) {
+jlong Java_org_rocksdb_RocksDB_getUpdatesSince(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle,
+ jlong jsequence_number) {
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
rocksdb::SequenceNumber sequence_number =
static_cast<rocksdb::SequenceNumber>(jsequence_number);
* Method: setOptions
* Signature: (JJ[Ljava/lang/String;[Ljava/lang/String;)V
*/
-void Java_org_rocksdb_RocksDB_setOptions(JNIEnv* env, jobject jdb,
- jlong jdb_handle, jlong jcf_handle, jobjectArray jkeys,
- jobjectArray jvalues) {
+void Java_org_rocksdb_RocksDB_setOptions(JNIEnv* env, jobject /*jdb*/,
+ jlong jdb_handle, jlong jcf_handle,
+ jobjectArray jkeys,
+ jobjectArray jvalues) {
const jsize len = env->GetArrayLength(jkeys);
assert(len == env->GetArrayLength(jvalues));
std::unordered_map<std::string, std::string> options_map;
for (jsize i = 0; i < len; i++) {
jobject jobj_key = env->GetObjectArrayElement(jkeys, i);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
return;
}
jobject jobj_value = env->GetObjectArrayElement(jvalues, i);
- if(env->ExceptionCheck()) {
+ if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jobj_key);
return;
jstring jval = reinterpret_cast<jstring>(jobj_value);
const char* key = env->GetStringUTFChars(jkey, nullptr);
- if(key == nullptr) {
+ if (key == nullptr) {
// exception thrown: OutOfMemoryError
env->DeleteLocalRef(jobj_value);
env->DeleteLocalRef(jobj_key);
}
const char* value = env->GetStringUTFChars(jval, nullptr);
- if(value == nullptr) {
+ if (value == nullptr) {
// exception thrown: OutOfMemoryError
env->ReleaseStringUTFChars(jkey, key);
env->DeleteLocalRef(jobj_value);
}
//////////////////////////////////////////////////////////////////////////////
-// rocksdb::DB::AddFile
+// rocksdb::DB::IngestExternalFile
/*
* Class: org_rocksdb_RocksDB
- * Method: addFile
- * Signature: (JJ[Ljava/lang/String;IZ)V
+ * Method: ingestExternalFile
+ * Signature: (JJ[Ljava/lang/String;IJ)V
*/
-void Java_org_rocksdb_RocksDB_addFile__JJ_3Ljava_lang_String_2IZ(
- JNIEnv* env, jobject jdb, jlong jdb_handle, jlong jcf_handle,
+void Java_org_rocksdb_RocksDB_ingestExternalFile(
+ JNIEnv* env, jobject /*jdb*/, jlong jdb_handle, jlong jcf_handle,
jobjectArray jfile_path_list, jint jfile_path_list_len,
- jboolean jmove_file) {
-
+ jlong jingest_external_file_options_handle) {
jboolean has_exception = JNI_FALSE;
- std::vector<std::string> file_path_list =
- rocksdb::JniUtil::copyStrings(env, jfile_path_list, jfile_path_list_len,
- &has_exception);
- if(has_exception == JNI_TRUE) {
- // exception occured
+ std::vector<std::string> file_path_list = rocksdb::JniUtil::copyStrings(
+ env, jfile_path_list, jfile_path_list_len, &has_exception);
+ if (has_exception == JNI_TRUE) {
+ // exception occurred
return;
}
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
auto* column_family =
reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
- rocksdb::IngestExternalFileOptions ifo;
- ifo.move_files = static_cast<bool>(jmove_file);
- ifo.snapshot_consistency = true;
- ifo.allow_global_seqno = false;
- ifo.allow_blocking_flush = false;
+ auto* ifo = reinterpret_cast<rocksdb::IngestExternalFileOptions*>(
+ jingest_external_file_options_handle);
rocksdb::Status s =
- db->IngestExternalFile(column_family, file_path_list, ifo);
+ db->IngestExternalFile(column_family, file_path_list, *ifo);
if (!s.ok()) {
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
}
}
+/*
+ * Class: org_rocksdb_RocksDB
+ * Method: destroyDB
+ * Signature: (Ljava/lang/String;J)V
+ */
+void Java_org_rocksdb_RocksDB_destroyDB(JNIEnv* env, jclass /*jcls*/,
+ jstring jdb_path,
+ jlong joptions_handle) {
+ const char* db_path = env->GetStringUTFChars(jdb_path, nullptr);
+ if (db_path == nullptr) {
+ // exception thrown: OutOfMemoryError
+ return;
+ }
+
+ auto* options = reinterpret_cast<rocksdb::Options*>(joptions_handle);
+ if (options == nullptr) {
+ rocksdb::RocksDBExceptionJni::ThrowNew(
+ env, rocksdb::Status::InvalidArgument("Invalid Options."));
+ }
+
+ rocksdb::Status s = rocksdb::DestroyDB(db_path, *options);
+ env->ReleaseStringUTFChars(jdb_path, db_path);
+
+ if (!s.ok()) {
+ rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+ }
+}