mirror of
https://github.com/facebook/rocksdb.git
synced 2026-10-29 08:48:20 +03:00
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433)
Summary: When dynamically linking two binaries together, different builds of RocksDB from two sources might cause errors. To provide a tool for user to solve the problem, the RocksDB namespace is changed to a flag which can be overridden in build time. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6433 Test Plan: Build release, all and jtest. Try to build with ROCKSDB_NAMESPACE with another flag. Differential Revision: D19977691 fbshipit-source-id: aa7f2d0972e1c31d75339ac48478f34f6cfcfb3e
This commit is contained in:
committed by
Facebook Github Bot
parent
4e33f1e1dc
commit
fdf882ded2
@@ -4,8 +4,8 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::BackupEnginge and rocksdb::BackupableDBOptions methods
|
||||
// from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::BackupEnginge and
|
||||
// ROCKSDB_NAMESPACE::BackupableDBOptions methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -32,7 +32,7 @@ jlong Java_org_rocksdb_BackupableDBOptions_newBackupableDBOptions(
|
||||
// exception thrown: OutOfMemoryError
|
||||
return 0;
|
||||
}
|
||||
auto* bopt = new rocksdb::BackupableDBOptions(cpath);
|
||||
auto* bopt = new ROCKSDB_NAMESPACE::BackupableDBOptions(cpath);
|
||||
env->ReleaseStringUTFChars(jpath, cpath);
|
||||
return reinterpret_cast<jlong>(bopt);
|
||||
}
|
||||
@@ -45,7 +45,8 @@ jlong Java_org_rocksdb_BackupableDBOptions_newBackupableDBOptions(
|
||||
jstring Java_org_rocksdb_BackupableDBOptions_backupDir(JNIEnv* env,
|
||||
jobject /*jopt*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return env->NewStringUTF(bopt->backup_dir.c_str());
|
||||
}
|
||||
|
||||
@@ -56,8 +57,10 @@ jstring Java_org_rocksdb_BackupableDBOptions_backupDir(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_BackupableDBOptions_setBackupEnv(
|
||||
JNIEnv* /*env*/, jobject /*jopt*/, jlong jhandle, jlong jrocks_env_handle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jrocks_env_handle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
auto* rocks_env =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jrocks_env_handle);
|
||||
bopt->backup_env = rocks_env;
|
||||
}
|
||||
|
||||
@@ -70,7 +73,8 @@ void Java_org_rocksdb_BackupableDBOptions_setShareTableFiles(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jboolean flag) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->share_table_files = flag;
|
||||
}
|
||||
|
||||
@@ -82,7 +86,8 @@ void Java_org_rocksdb_BackupableDBOptions_setShareTableFiles(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_BackupableDBOptions_shareTableFiles(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->share_table_files;
|
||||
}
|
||||
|
||||
@@ -95,9 +100,11 @@ void Java_org_rocksdb_BackupableDBOptions_setInfoLog(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong /*jlogger_handle*/) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
auto* sptr_logger =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::LoggerJniCallback>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>*>(
|
||||
jhandle);
|
||||
bopt->info_log = sptr_logger->get();
|
||||
}
|
||||
|
||||
@@ -110,7 +117,8 @@ void Java_org_rocksdb_BackupableDBOptions_setSync(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jboolean flag) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->sync = flag;
|
||||
}
|
||||
|
||||
@@ -122,7 +130,8 @@ void Java_org_rocksdb_BackupableDBOptions_setSync(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_BackupableDBOptions_sync(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->sync;
|
||||
}
|
||||
|
||||
@@ -135,7 +144,8 @@ void Java_org_rocksdb_BackupableDBOptions_setDestroyOldData(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jboolean flag) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->destroy_old_data = flag;
|
||||
}
|
||||
|
||||
@@ -147,7 +157,8 @@ void Java_org_rocksdb_BackupableDBOptions_setDestroyOldData(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_BackupableDBOptions_destroyOldData(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->destroy_old_data;
|
||||
}
|
||||
|
||||
@@ -160,7 +171,8 @@ void Java_org_rocksdb_BackupableDBOptions_setBackupLogFiles(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jboolean flag) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->backup_log_files = flag;
|
||||
}
|
||||
|
||||
@@ -172,7 +184,8 @@ void Java_org_rocksdb_BackupableDBOptions_setBackupLogFiles(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_BackupableDBOptions_backupLogFiles(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->backup_log_files;
|
||||
}
|
||||
|
||||
@@ -184,7 +197,8 @@ jboolean Java_org_rocksdb_BackupableDBOptions_backupLogFiles(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_BackupableDBOptions_setBackupRateLimit(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jbackup_rate_limit) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->backup_rate_limit = jbackup_rate_limit;
|
||||
}
|
||||
|
||||
@@ -196,7 +210,8 @@ void Java_org_rocksdb_BackupableDBOptions_setBackupRateLimit(
|
||||
jlong Java_org_rocksdb_BackupableDBOptions_backupRateLimit(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->backup_rate_limit;
|
||||
}
|
||||
|
||||
@@ -208,9 +223,10 @@ jlong Java_org_rocksdb_BackupableDBOptions_backupRateLimit(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_BackupableDBOptions_setBackupRateLimiter(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jrate_limiter_handle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
auto* sptr_rate_limiter =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
jrate_limiter_handle);
|
||||
bopt->backup_rate_limiter = *sptr_rate_limiter;
|
||||
}
|
||||
@@ -223,7 +239,8 @@ void Java_org_rocksdb_BackupableDBOptions_setBackupRateLimiter(
|
||||
void Java_org_rocksdb_BackupableDBOptions_setRestoreRateLimit(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jrestore_rate_limit) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->restore_rate_limit = jrestore_rate_limit;
|
||||
}
|
||||
|
||||
@@ -235,7 +252,8 @@ void Java_org_rocksdb_BackupableDBOptions_setRestoreRateLimit(
|
||||
jlong Java_org_rocksdb_BackupableDBOptions_restoreRateLimit(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->restore_rate_limit;
|
||||
}
|
||||
|
||||
@@ -247,9 +265,10 @@ jlong Java_org_rocksdb_BackupableDBOptions_restoreRateLimit(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_BackupableDBOptions_setRestoreRateLimiter(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jrate_limiter_handle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
auto* sptr_rate_limiter =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
jrate_limiter_handle);
|
||||
bopt->restore_rate_limiter = *sptr_rate_limiter;
|
||||
}
|
||||
@@ -261,7 +280,8 @@ void Java_org_rocksdb_BackupableDBOptions_setRestoreRateLimiter(
|
||||
*/
|
||||
void Java_org_rocksdb_BackupableDBOptions_setShareFilesWithChecksum(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean flag) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->share_files_with_checksum = flag;
|
||||
}
|
||||
|
||||
@@ -272,7 +292,8 @@ void Java_org_rocksdb_BackupableDBOptions_setShareFilesWithChecksum(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_BackupableDBOptions_shareFilesWithChecksum(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return bopt->share_files_with_checksum;
|
||||
}
|
||||
|
||||
@@ -284,7 +305,8 @@ jboolean Java_org_rocksdb_BackupableDBOptions_shareFilesWithChecksum(
|
||||
void Java_org_rocksdb_BackupableDBOptions_setMaxBackgroundOperations(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jint max_background_operations) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->max_background_operations = static_cast<int>(max_background_operations);
|
||||
}
|
||||
|
||||
@@ -295,7 +317,8 @@ void Java_org_rocksdb_BackupableDBOptions_setMaxBackgroundOperations(
|
||||
*/
|
||||
jint Java_org_rocksdb_BackupableDBOptions_maxBackgroundOperations(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return static_cast<jint>(bopt->max_background_operations);
|
||||
}
|
||||
|
||||
@@ -307,7 +330,8 @@ jint Java_org_rocksdb_BackupableDBOptions_maxBackgroundOperations(
|
||||
void Java_org_rocksdb_BackupableDBOptions_setCallbackTriggerIntervalSize(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jcallback_trigger_interval_size) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
bopt->callback_trigger_interval_size =
|
||||
static_cast<uint64_t>(jcallback_trigger_interval_size);
|
||||
}
|
||||
@@ -319,7 +343,8 @@ void Java_org_rocksdb_BackupableDBOptions_setCallbackTriggerIntervalSize(
|
||||
*/
|
||||
jlong Java_org_rocksdb_BackupableDBOptions_callbackTriggerIntervalSize(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
return static_cast<jlong>(bopt->callback_trigger_interval_size);
|
||||
}
|
||||
|
||||
@@ -331,7 +356,8 @@ jlong Java_org_rocksdb_BackupableDBOptions_callbackTriggerIntervalSize(
|
||||
void Java_org_rocksdb_BackupableDBOptions_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jopt*/,
|
||||
jlong jhandle) {
|
||||
auto* bopt = reinterpret_cast<rocksdb::BackupableDBOptions*>(jhandle);
|
||||
auto* bopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(jhandle);
|
||||
assert(bopt != nullptr);
|
||||
delete bopt;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::BackupEngine methods from the Java side.
|
||||
// calling C++ ROCKSDB_NAMESPACE::BackupEngine methods from the Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <vector>
|
||||
@@ -21,17 +21,18 @@
|
||||
jlong Java_org_rocksdb_BackupEngine_open(JNIEnv* env, jclass /*jcls*/,
|
||||
jlong env_handle,
|
||||
jlong backupable_db_options_handle) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(env_handle);
|
||||
auto* backupable_db_options = reinterpret_cast<rocksdb::BackupableDBOptions*>(
|
||||
backupable_db_options_handle);
|
||||
rocksdb::BackupEngine* backup_engine;
|
||||
auto status = rocksdb::BackupEngine::Open(rocks_env, *backupable_db_options,
|
||||
&backup_engine);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(env_handle);
|
||||
auto* backupable_db_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupableDBOptions*>(
|
||||
backupable_db_options_handle);
|
||||
ROCKSDB_NAMESPACE::BackupEngine* backup_engine;
|
||||
auto status = ROCKSDB_NAMESPACE::BackupEngine::Open(
|
||||
rocks_env, *backupable_db_options, &backup_engine);
|
||||
|
||||
if (status.ok()) {
|
||||
return reinterpret_cast<jlong>(backup_engine);
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -44,8 +45,9 @@ jlong Java_org_rocksdb_BackupEngine_open(JNIEnv* env, jclass /*jcls*/,
|
||||
void Java_org_rocksdb_BackupEngine_createNewBackup(
|
||||
JNIEnv* env, jobject /*jbe*/, jlong jbe_handle, jlong db_handle,
|
||||
jboolean jflush_before_backup) {
|
||||
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* db = reinterpret_cast<ROCKSDB_NAMESPACE::DB*>(db_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
auto status = backup_engine->CreateNewBackup(
|
||||
db, static_cast<bool>(jflush_before_backup));
|
||||
|
||||
@@ -53,7 +55,7 @@ void Java_org_rocksdb_BackupEngine_createNewBackup(
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -64,14 +66,15 @@ void Java_org_rocksdb_BackupEngine_createNewBackup(
|
||||
void Java_org_rocksdb_BackupEngine_createNewBackupWithMetadata(
|
||||
JNIEnv* env, jobject /*jbe*/, jlong jbe_handle, jlong db_handle,
|
||||
jstring japp_metadata, jboolean jflush_before_backup) {
|
||||
auto* db = reinterpret_cast<rocksdb::DB*>(db_handle);
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* db = reinterpret_cast<ROCKSDB_NAMESPACE::DB*>(db_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
std::string app_metadata =
|
||||
rocksdb::JniUtil::copyStdString(env, japp_metadata, &has_exception);
|
||||
std::string app_metadata = ROCKSDB_NAMESPACE::JniUtil::copyStdString(
|
||||
env, japp_metadata, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "Could not copy jstring to std::string");
|
||||
return;
|
||||
}
|
||||
@@ -83,7 +86,7 @@ void Java_org_rocksdb_BackupEngine_createNewBackupWithMetadata(
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -94,10 +97,11 @@ void Java_org_rocksdb_BackupEngine_createNewBackupWithMetadata(
|
||||
jobject Java_org_rocksdb_BackupEngine_getBackupInfo(JNIEnv* env,
|
||||
jobject /*jbe*/,
|
||||
jlong jbe_handle) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
std::vector<rocksdb::BackupInfo> backup_infos;
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
std::vector<ROCKSDB_NAMESPACE::BackupInfo> backup_infos;
|
||||
backup_engine->GetBackupInfo(&backup_infos);
|
||||
return rocksdb::BackupInfoListJni::getBackupInfo(env, backup_infos);
|
||||
return ROCKSDB_NAMESPACE::BackupInfoListJni::getBackupInfo(env, backup_infos);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -108,8 +112,9 @@ jobject Java_org_rocksdb_BackupEngine_getBackupInfo(JNIEnv* env,
|
||||
jintArray Java_org_rocksdb_BackupEngine_getCorruptedBackups(JNIEnv* env,
|
||||
jobject /*jbe*/,
|
||||
jlong jbe_handle) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
std::vector<rocksdb::BackupID> backup_ids;
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
std::vector<ROCKSDB_NAMESPACE::BackupID> backup_ids;
|
||||
backup_engine->GetCorruptedBackups(&backup_ids);
|
||||
// store backupids in int array
|
||||
std::vector<jint> int_backup_ids(backup_ids.begin(), backup_ids.end());
|
||||
@@ -134,14 +139,15 @@ jintArray Java_org_rocksdb_BackupEngine_getCorruptedBackups(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_BackupEngine_garbageCollect(JNIEnv* env, jobject /*jbe*/,
|
||||
jlong jbe_handle) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
auto status = backup_engine->GarbageCollect();
|
||||
|
||||
if (status.ok()) {
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -152,7 +158,8 @@ void Java_org_rocksdb_BackupEngine_garbageCollect(JNIEnv* env, jobject /*jbe*/,
|
||||
void Java_org_rocksdb_BackupEngine_purgeOldBackups(JNIEnv* env, jobject /*jbe*/,
|
||||
jlong jbe_handle,
|
||||
jint jnum_backups_to_keep) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
auto status = backup_engine->PurgeOldBackups(
|
||||
static_cast<uint32_t>(jnum_backups_to_keep));
|
||||
|
||||
@@ -160,7 +167,7 @@ void Java_org_rocksdb_BackupEngine_purgeOldBackups(JNIEnv* env, jobject /*jbe*/,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -171,15 +178,16 @@ void Java_org_rocksdb_BackupEngine_purgeOldBackups(JNIEnv* env, jobject /*jbe*/,
|
||||
void Java_org_rocksdb_BackupEngine_deleteBackup(JNIEnv* env, jobject /*jbe*/,
|
||||
jlong jbe_handle,
|
||||
jint jbackup_id) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto status =
|
||||
backup_engine->DeleteBackup(static_cast<rocksdb::BackupID>(jbackup_id));
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
auto status = backup_engine->DeleteBackup(
|
||||
static_cast<ROCKSDB_NAMESPACE::BackupID>(jbackup_id));
|
||||
|
||||
if (status.ok()) {
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -190,7 +198,8 @@ void Java_org_rocksdb_BackupEngine_deleteBackup(JNIEnv* env, jobject /*jbe*/,
|
||||
void Java_org_rocksdb_BackupEngine_restoreDbFromBackup(
|
||||
JNIEnv* env, jobject /*jbe*/, jlong jbe_handle, jint jbackup_id,
|
||||
jstring jdb_dir, jstring jwal_dir, jlong jrestore_options_handle) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
const char* db_dir = env->GetStringUTFChars(jdb_dir, nullptr);
|
||||
if (db_dir == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
@@ -202,10 +211,10 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromBackup(
|
||||
env->ReleaseStringUTFChars(jdb_dir, db_dir);
|
||||
return;
|
||||
}
|
||||
auto* restore_options =
|
||||
reinterpret_cast<rocksdb::RestoreOptions*>(jrestore_options_handle);
|
||||
auto* restore_options = reinterpret_cast<ROCKSDB_NAMESPACE::RestoreOptions*>(
|
||||
jrestore_options_handle);
|
||||
auto status = backup_engine->RestoreDBFromBackup(
|
||||
static_cast<rocksdb::BackupID>(jbackup_id), db_dir, wal_dir,
|
||||
static_cast<ROCKSDB_NAMESPACE::BackupID>(jbackup_id), db_dir, wal_dir,
|
||||
*restore_options);
|
||||
|
||||
env->ReleaseStringUTFChars(jwal_dir, wal_dir);
|
||||
@@ -215,7 +224,7 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromBackup(
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -226,7 +235,8 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromBackup(
|
||||
void Java_org_rocksdb_BackupEngine_restoreDbFromLatestBackup(
|
||||
JNIEnv* env, jobject /*jbe*/, jlong jbe_handle, jstring jdb_dir,
|
||||
jstring jwal_dir, jlong jrestore_options_handle) {
|
||||
auto* backup_engine = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* backup_engine =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
const char* db_dir = env->GetStringUTFChars(jdb_dir, nullptr);
|
||||
if (db_dir == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
@@ -238,8 +248,8 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromLatestBackup(
|
||||
env->ReleaseStringUTFChars(jdb_dir, db_dir);
|
||||
return;
|
||||
}
|
||||
auto* restore_options =
|
||||
reinterpret_cast<rocksdb::RestoreOptions*>(jrestore_options_handle);
|
||||
auto* restore_options = reinterpret_cast<ROCKSDB_NAMESPACE::RestoreOptions*>(
|
||||
jrestore_options_handle);
|
||||
auto status = backup_engine->RestoreDBFromLatestBackup(db_dir, wal_dir,
|
||||
*restore_options);
|
||||
|
||||
@@ -250,7 +260,7 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromLatestBackup(
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -261,7 +271,7 @@ void Java_org_rocksdb_BackupEngine_restoreDbFromLatestBackup(
|
||||
void Java_org_rocksdb_BackupEngine_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jbe*/,
|
||||
jlong jbe_handle) {
|
||||
auto* be = reinterpret_cast<rocksdb::BackupEngine*>(jbe_handle);
|
||||
auto* be = reinterpret_cast<ROCKSDB_NAMESPACE::BackupEngine*>(jbe_handle);
|
||||
assert(be != nullptr);
|
||||
delete be;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
jlong Java_org_rocksdb_CassandraCompactionFilter_createNewCassandraCompactionFilter0(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jboolean purge_ttl_on_expiration,
|
||||
jint gc_grace_period_in_seconds) {
|
||||
auto* compaction_filter = new rocksdb::cassandra::CassandraCompactionFilter(
|
||||
purge_ttl_on_expiration, gc_grace_period_in_seconds);
|
||||
auto* compaction_filter =
|
||||
new ROCKSDB_NAMESPACE::cassandra::CassandraCompactionFilter(
|
||||
purge_ttl_on_expiration, gc_grace_period_in_seconds);
|
||||
// set the native handle to our native compaction filter
|
||||
return reinterpret_cast<jlong>(compaction_filter);
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
jlong Java_org_rocksdb_CassandraValueMergeOperator_newSharedCassandraValueMergeOperator(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/, jint gcGracePeriodInSeconds,
|
||||
jint operands_limit) {
|
||||
auto* op = new std::shared_ptr<rocksdb::MergeOperator>(
|
||||
new rocksdb::cassandra::CassandraValueMergeOperator(
|
||||
auto* op = new std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>(
|
||||
new ROCKSDB_NAMESPACE::cassandra::CassandraValueMergeOperator(
|
||||
gcGracePeriodInSeconds, operands_limit));
|
||||
return reinterpret_cast<jlong>(op);
|
||||
}
|
||||
@@ -42,6 +42,7 @@ jlong Java_org_rocksdb_CassandraValueMergeOperator_newSharedCassandraValueMergeO
|
||||
void Java_org_rocksdb_CassandraValueMergeOperator_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* op =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::MergeOperator>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>*>(
|
||||
jhandle);
|
||||
delete op;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Checkpoint methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Checkpoint methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -23,9 +23,9 @@
|
||||
jlong Java_org_rocksdb_Checkpoint_newCheckpoint(JNIEnv* /*env*/,
|
||||
jclass /*jclazz*/,
|
||||
jlong jdb_handle) {
|
||||
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
|
||||
rocksdb::Checkpoint* checkpoint;
|
||||
rocksdb::Checkpoint::Create(db, &checkpoint);
|
||||
auto* db = reinterpret_cast<ROCKSDB_NAMESPACE::DB*>(jdb_handle);
|
||||
ROCKSDB_NAMESPACE::Checkpoint* checkpoint;
|
||||
ROCKSDB_NAMESPACE::Checkpoint::Create(db, &checkpoint);
|
||||
return reinterpret_cast<jlong>(checkpoint);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ jlong Java_org_rocksdb_Checkpoint_newCheckpoint(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_Checkpoint_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* checkpoint = reinterpret_cast<rocksdb::Checkpoint*>(jhandle);
|
||||
auto* checkpoint = reinterpret_cast<ROCKSDB_NAMESPACE::Checkpoint*>(jhandle);
|
||||
assert(checkpoint != nullptr);
|
||||
delete checkpoint;
|
||||
}
|
||||
@@ -56,12 +56,13 @@ void Java_org_rocksdb_Checkpoint_createCheckpoint(JNIEnv* env, jobject /*jobj*/,
|
||||
return;
|
||||
}
|
||||
|
||||
auto* checkpoint = reinterpret_cast<rocksdb::Checkpoint*>(jcheckpoint_handle);
|
||||
rocksdb::Status s = checkpoint->CreateCheckpoint(checkpoint_path);
|
||||
auto* checkpoint =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Checkpoint*>(jcheckpoint_handle);
|
||||
ROCKSDB_NAMESPACE::Status s = checkpoint->CreateCheckpoint(checkpoint_path);
|
||||
|
||||
env->ReleaseStringUTFChars(jcheckpoint_path, checkpoint_path);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::ClockCache.
|
||||
// ROCKSDB_NAMESPACE::ClockCache.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
jlong Java_org_rocksdb_ClockCache_newClockCache(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jlong jcapacity, jint jnum_shard_bits,
|
||||
jboolean jstrict_capacity_limit) {
|
||||
auto* sptr_clock_cache =
|
||||
new std::shared_ptr<rocksdb::Cache>(rocksdb::NewClockCache(
|
||||
auto* sptr_clock_cache = new std::shared_ptr<ROCKSDB_NAMESPACE::Cache>(
|
||||
ROCKSDB_NAMESPACE::NewClockCache(
|
||||
static_cast<size_t>(jcapacity), static_cast<int>(jnum_shard_bits),
|
||||
static_cast<bool>(jstrict_capacity_limit)));
|
||||
return reinterpret_cast<jlong>(sptr_clock_cache);
|
||||
@@ -35,6 +35,6 @@ void Java_org_rocksdb_ClockCache_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_clock_cache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache>*>(jhandle);
|
||||
delete sptr_clock_cache; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::ColumnFamilyHandle.
|
||||
// ROCKSDB_NAMESPACE::ColumnFamilyHandle.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -21,9 +21,9 @@
|
||||
jbyteArray Java_org_rocksdb_ColumnFamilyHandle_getName(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* cfh = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jhandle);
|
||||
auto* cfh = reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jhandle);
|
||||
std::string cf_name = cfh->GetName();
|
||||
return rocksdb::JniUtil::copyBytes(env, cf_name);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyBytes(env, cf_name);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -34,7 +34,7 @@ jbyteArray Java_org_rocksdb_ColumnFamilyHandle_getName(JNIEnv* env,
|
||||
jint Java_org_rocksdb_ColumnFamilyHandle_getID(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* cfh = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jhandle);
|
||||
auto* cfh = reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jhandle);
|
||||
const int32_t id = cfh->GetID();
|
||||
return static_cast<jint>(id);
|
||||
}
|
||||
@@ -47,13 +47,13 @@ jint Java_org_rocksdb_ColumnFamilyHandle_getID(JNIEnv* /*env*/,
|
||||
jobject Java_org_rocksdb_ColumnFamilyHandle_getDescriptor(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* cfh = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jhandle);
|
||||
rocksdb::ColumnFamilyDescriptor desc;
|
||||
rocksdb::Status s = cfh->GetDescriptor(&desc);
|
||||
auto* cfh = reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jhandle);
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyDescriptor desc;
|
||||
ROCKSDB_NAMESPACE::Status s = cfh->GetDescriptor(&desc);
|
||||
if (s.ok()) {
|
||||
return rocksdb::ColumnFamilyDescriptorJni::construct(env, &desc);
|
||||
return ROCKSDB_NAMESPACE::ColumnFamilyDescriptorJni::construct(env, &desc);
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ jobject Java_org_rocksdb_ColumnFamilyHandle_getDescriptor(JNIEnv* env,
|
||||
void Java_org_rocksdb_ColumnFamilyHandle_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* cfh = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jhandle);
|
||||
auto* cfh = reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jhandle);
|
||||
assert(cfh != nullptr);
|
||||
delete cfh;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactRangeOptions.
|
||||
// ROCKSDB_NAMESPACE::CompactRangeOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactRangeOptions_newCompactRangeOptions(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/) {
|
||||
auto* options = new rocksdb::CompactRangeOptions();
|
||||
auto* options = new ROCKSDB_NAMESPACE::CompactRangeOptions();
|
||||
return reinterpret_cast<jlong>(options);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,8 @@ jlong Java_org_rocksdb_CompactRangeOptions_newCompactRangeOptions(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompactRangeOptions_exclusiveManualCompaction(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->exclusive_manual_compaction);
|
||||
}
|
||||
|
||||
@@ -43,7 +44,7 @@ jboolean Java_org_rocksdb_CompactRangeOptions_exclusiveManualCompaction(
|
||||
void Java_org_rocksdb_CompactRangeOptions_setExclusiveManualCompaction(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean exclusive_manual_compaction) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->exclusive_manual_compaction = static_cast<bool>(exclusive_manual_compaction);
|
||||
}
|
||||
|
||||
@@ -55,9 +56,10 @@ void Java_org_rocksdb_CompactRangeOptions_setExclusiveManualCompaction(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactRangeOptions_bottommostLevelCompaction(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
return rocksdb::BottommostLevelCompactionJni::toJavaBottommostLevelCompaction(
|
||||
options->bottommost_level_compaction);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::BottommostLevelCompactionJni::
|
||||
toJavaBottommostLevelCompaction(options->bottommost_level_compaction);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -68,9 +70,11 @@ jint Java_org_rocksdb_CompactRangeOptions_bottommostLevelCompaction(
|
||||
void Java_org_rocksdb_CompactRangeOptions_setBottommostLevelCompaction(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jint bottommost_level_compaction) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->bottommost_level_compaction =
|
||||
rocksdb::BottommostLevelCompactionJni::toCppBottommostLevelCompaction(bottommost_level_compaction);
|
||||
ROCKSDB_NAMESPACE::BottommostLevelCompactionJni::
|
||||
toCppBottommostLevelCompaction(bottommost_level_compaction);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -80,7 +84,8 @@ void Java_org_rocksdb_CompactRangeOptions_setBottommostLevelCompaction(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompactRangeOptions_changeLevel
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->change_level);
|
||||
}
|
||||
|
||||
@@ -91,7 +96,8 @@ jboolean Java_org_rocksdb_CompactRangeOptions_changeLevel
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_setChangeLevel
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean change_level) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->change_level = static_cast<bool>(change_level);
|
||||
}
|
||||
|
||||
@@ -102,7 +108,8 @@ void Java_org_rocksdb_CompactRangeOptions_setChangeLevel
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactRangeOptions_targetLevel
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jint>(options->target_level);
|
||||
}
|
||||
|
||||
@@ -113,7 +120,8 @@ jint Java_org_rocksdb_CompactRangeOptions_targetLevel
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_setTargetLevel
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint target_level) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->target_level = static_cast<int>(target_level);
|
||||
}
|
||||
|
||||
@@ -124,7 +132,8 @@ void Java_org_rocksdb_CompactRangeOptions_setTargetLevel
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactRangeOptions_targetPathId
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jint>(options->target_path_id);
|
||||
}
|
||||
|
||||
@@ -135,7 +144,8 @@ jint Java_org_rocksdb_CompactRangeOptions_targetPathId
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_setTargetPathId
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint target_path_id) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->target_path_id = static_cast<uint32_t>(target_path_id);
|
||||
}
|
||||
|
||||
@@ -146,7 +156,8 @@ void Java_org_rocksdb_CompactRangeOptions_setTargetPathId
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompactRangeOptions_allowWriteStall
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->allow_write_stall);
|
||||
}
|
||||
|
||||
@@ -157,7 +168,8 @@ jboolean Java_org_rocksdb_CompactRangeOptions_allowWriteStall
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_setAllowWriteStall
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean allow_write_stall) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->allow_write_stall = static_cast<bool>(allow_write_stall);
|
||||
}
|
||||
|
||||
@@ -169,7 +181,8 @@ void Java_org_rocksdb_CompactRangeOptions_setAllowWriteStall
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactRangeOptions_maxSubcompactions
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
return static_cast<jint>(options->max_subcompactions);
|
||||
}
|
||||
|
||||
@@ -180,7 +193,8 @@ jint Java_org_rocksdb_CompactRangeOptions_maxSubcompactions
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_setMaxSubcompactions
|
||||
(JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint max_subcompactions) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
options->max_subcompactions = static_cast<uint32_t>(max_subcompactions);
|
||||
}
|
||||
|
||||
@@ -191,6 +205,7 @@ void Java_org_rocksdb_CompactRangeOptions_setMaxSubcompactions
|
||||
*/
|
||||
void Java_org_rocksdb_CompactRangeOptions_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* options = reinterpret_cast<rocksdb::CompactRangeOptions*>(jhandle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
|
||||
delete options;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionFilter.
|
||||
// ROCKSDB_NAMESPACE::CompactionFilter.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
void Java_org_rocksdb_AbstractCompactionFilter_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* cf = reinterpret_cast<rocksdb::CompactionFilter*>(handle);
|
||||
auto* cf = reinterpret_cast<ROCKSDB_NAMESPACE::CompactionFilter*>(handle);
|
||||
assert(cf != nullptr);
|
||||
delete cf;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionFilterFactory.
|
||||
// ROCKSDB_NAMESPACE::CompactionFilterFactory.
|
||||
|
||||
#include <jni.h>
|
||||
#include <memory>
|
||||
@@ -19,9 +19,10 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_AbstractCompactionFilterFactory_createNewCompactionFilterFactory0(
|
||||
JNIEnv* env, jobject jobj) {
|
||||
auto* cff = new rocksdb::CompactionFilterFactoryJniCallback(env, jobj);
|
||||
auto* ptr_sptr_cff =
|
||||
new std::shared_ptr<rocksdb::CompactionFilterFactoryJniCallback>(cff);
|
||||
auto* cff =
|
||||
new ROCKSDB_NAMESPACE::CompactionFilterFactoryJniCallback(env, jobj);
|
||||
auto* ptr_sptr_cff = new std::shared_ptr<
|
||||
ROCKSDB_NAMESPACE::CompactionFilterFactoryJniCallback>(cff);
|
||||
return reinterpret_cast<jlong>(ptr_sptr_cff);
|
||||
}
|
||||
|
||||
@@ -33,6 +34,7 @@ jlong Java_org_rocksdb_AbstractCompactionFilterFactory_createNewCompactionFilter
|
||||
void Java_org_rocksdb_AbstractCompactionFilterFactory_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* ptr_sptr_cff = reinterpret_cast<
|
||||
std::shared_ptr<rocksdb::CompactionFilterFactoryJniCallback>*>(jhandle);
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::CompactionFilterFactoryJniCallback>*>(
|
||||
jhandle);
|
||||
delete ptr_sptr_cff;
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionFilterFactory.
|
||||
// ROCKSDB_NAMESPACE::CompactionFilterFactory.
|
||||
|
||||
#include "rocksjni/compaction_filter_factory_jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
CompactionFilterFactoryJniCallback::CompactionFilterFactoryJniCallback(
|
||||
JNIEnv* env, jobject jcompaction_filter_factory)
|
||||
: JniCallback(env, jcompaction_filter_factory) {
|
||||
@@ -73,4 +73,4 @@ std::unique_ptr<CompactionFilter> CompactionFilterFactoryJniCallback::CreateComp
|
||||
return std::unique_ptr<CompactionFilter>(cff);
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionFilterFactory.
|
||||
// ROCKSDB_NAMESPACE::CompactionFilterFactory.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_COMPACTION_FILTER_FACTORY_JNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_COMPACTION_FILTER_FACTORY_JNICALLBACK_H_
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "rocksdb/compaction_filter.h"
|
||||
#include "rocksjni/jnicallback.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class CompactionFilterFactoryJniCallback : public JniCallback, public CompactionFilterFactory {
|
||||
public:
|
||||
@@ -30,6 +30,6 @@ class CompactionFilterFactoryJniCallback : public JniCallback, public Compaction
|
||||
jmethodID m_jcreate_compaction_filter_methodid;
|
||||
};
|
||||
|
||||
} //namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_COMPACTION_FILTER_FACTORY_JNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionJobInfo.
|
||||
// ROCKSDB_NAMESPACE::CompactionJobInfo.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionJobInfo_newCompactionJobInfo(
|
||||
JNIEnv*, jclass) {
|
||||
auto* compact_job_info = new rocksdb::CompactionJobInfo();
|
||||
auto* compact_job_info = new ROCKSDB_NAMESPACE::CompactionJobInfo();
|
||||
return reinterpret_cast<jlong>(compact_job_info);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ jlong Java_org_rocksdb_CompactionJobInfo_newCompactionJobInfo(
|
||||
void Java_org_rocksdb_CompactionJobInfo_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
delete compact_job_info;
|
||||
}
|
||||
|
||||
@@ -43,9 +43,8 @@ void Java_org_rocksdb_CompactionJobInfo_disposeInternal(
|
||||
jbyteArray Java_org_rocksdb_CompactionJobInfo_columnFamilyName(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::JniUtil::copyBytes(
|
||||
env, compact_job_info->cf_name);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyBytes(env, compact_job_info->cf_name);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -56,9 +55,8 @@ jbyteArray Java_org_rocksdb_CompactionJobInfo_columnFamilyName(
|
||||
jobject Java_org_rocksdb_CompactionJobInfo_status(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::StatusJni::construct(
|
||||
env, compact_job_info->status);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::StatusJni::construct(env, compact_job_info->status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -69,7 +67,7 @@ jobject Java_org_rocksdb_CompactionJobInfo_status(
|
||||
jlong Java_org_rocksdb_CompactionJobInfo_threadId(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return static_cast<jlong>(compact_job_info->thread_id);
|
||||
}
|
||||
|
||||
@@ -81,7 +79,7 @@ jlong Java_org_rocksdb_CompactionJobInfo_threadId(
|
||||
jint Java_org_rocksdb_CompactionJobInfo_jobId(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return static_cast<jint>(compact_job_info->job_id);
|
||||
}
|
||||
|
||||
@@ -93,7 +91,7 @@ jint Java_org_rocksdb_CompactionJobInfo_jobId(
|
||||
jint Java_org_rocksdb_CompactionJobInfo_baseInputLevel(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return static_cast<jint>(compact_job_info->base_input_level);
|
||||
}
|
||||
|
||||
@@ -105,7 +103,7 @@ jint Java_org_rocksdb_CompactionJobInfo_baseInputLevel(
|
||||
jint Java_org_rocksdb_CompactionJobInfo_outputLevel(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return static_cast<jint>(compact_job_info->output_level);
|
||||
}
|
||||
|
||||
@@ -117,8 +115,8 @@ jint Java_org_rocksdb_CompactionJobInfo_outputLevel(
|
||||
jobjectArray Java_org_rocksdb_CompactionJobInfo_inputFiles(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::JniUtil::toJavaStrings(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaStrings(
|
||||
env, &compact_job_info->input_files);
|
||||
}
|
||||
|
||||
@@ -130,8 +128,8 @@ jobjectArray Java_org_rocksdb_CompactionJobInfo_inputFiles(
|
||||
jobjectArray Java_org_rocksdb_CompactionJobInfo_outputFiles(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::JniUtil::toJavaStrings(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaStrings(
|
||||
env, &compact_job_info->output_files);
|
||||
}
|
||||
|
||||
@@ -143,37 +141,48 @@ jobjectArray Java_org_rocksdb_CompactionJobInfo_outputFiles(
|
||||
jobject Java_org_rocksdb_CompactionJobInfo_tableProperties(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
auto* map = &compact_job_info->table_properties;
|
||||
|
||||
jobject jhash_map = rocksdb::HashMapJni::construct(
|
||||
|
||||
jobject jhash_map = ROCKSDB_NAMESPACE::HashMapJni::construct(
|
||||
env, static_cast<uint32_t>(map->size()));
|
||||
if (jhash_map == nullptr) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const rocksdb::HashMapJni::FnMapKV<const std::string, std::shared_ptr<const rocksdb::TableProperties>, jobject, jobject> fn_map_kv =
|
||||
[env](const std::pair<const std::string, std::shared_ptr<const rocksdb::TableProperties>>& kv) {
|
||||
jstring jkey = rocksdb::JniUtil::toJavaString(env, &(kv.first), false);
|
||||
if (env->ExceptionCheck()) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
const ROCKSDB_NAMESPACE::HashMapJni::FnMapKV<
|
||||
const std::string,
|
||||
std::shared_ptr<const ROCKSDB_NAMESPACE::TableProperties>, jobject,
|
||||
jobject>
|
||||
fn_map_kv =
|
||||
[env](const std::pair<
|
||||
const std::string,
|
||||
std::shared_ptr<const ROCKSDB_NAMESPACE::TableProperties>>&
|
||||
kv) {
|
||||
jstring jkey = ROCKSDB_NAMESPACE::JniUtil::toJavaString(
|
||||
env, &(kv.first), false);
|
||||
if (env->ExceptionCheck()) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
|
||||
jobject jtable_properties = rocksdb::TablePropertiesJni::fromCppTableProperties(
|
||||
env, *(kv.second.get()));
|
||||
if (env->ExceptionCheck()) {
|
||||
// an error occurred
|
||||
env->DeleteLocalRef(jkey);
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
jobject jtable_properties =
|
||||
ROCKSDB_NAMESPACE::TablePropertiesJni::fromCppTableProperties(
|
||||
env, *(kv.second.get()));
|
||||
if (env->ExceptionCheck()) {
|
||||
// an error occurred
|
||||
env->DeleteLocalRef(jkey);
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(
|
||||
new std::pair<jobject, jobject>(static_cast<jobject>(jkey), jtable_properties));
|
||||
};
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(
|
||||
new std::pair<jobject, jobject>(static_cast<jobject>(jkey),
|
||||
jtable_properties));
|
||||
};
|
||||
|
||||
if (!rocksdb::HashMapJni::putAll(env, jhash_map, map->begin(), map->end(), fn_map_kv)) {
|
||||
if (!ROCKSDB_NAMESPACE::HashMapJni::putAll(env, jhash_map, map->begin(),
|
||||
map->end(), fn_map_kv)) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
@@ -189,8 +198,8 @@ jobject Java_org_rocksdb_CompactionJobInfo_tableProperties(
|
||||
jbyte Java_org_rocksdb_CompactionJobInfo_compactionReason(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::CompactionReasonJni::toJavaCompactionReason(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::CompactionReasonJni::toJavaCompactionReason(
|
||||
compact_job_info->compaction_reason);
|
||||
}
|
||||
|
||||
@@ -202,8 +211,8 @@ jbyte Java_org_rocksdb_CompactionJobInfo_compactionReason(
|
||||
jbyte Java_org_rocksdb_CompactionJobInfo_compression(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
return rocksdb::CompressionTypeJni::toJavaCompressionType(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::CompressionTypeJni::toJavaCompressionType(
|
||||
compact_job_info->compression);
|
||||
}
|
||||
|
||||
@@ -215,8 +224,8 @@ jbyte Java_org_rocksdb_CompactionJobInfo_compression(
|
||||
jlong Java_org_rocksdb_CompactionJobInfo_stats(
|
||||
JNIEnv *, jclass, jlong jhandle) {
|
||||
auto* compact_job_info =
|
||||
reinterpret_cast<rocksdb::CompactionJobInfo*>(jhandle);
|
||||
auto* stats = new rocksdb::CompactionJobStats();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobInfo*>(jhandle);
|
||||
auto* stats = new ROCKSDB_NAMESPACE::CompactionJobStats();
|
||||
stats->Add(compact_job_info->stats);
|
||||
return reinterpret_cast<jlong>(stats);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionJobStats.
|
||||
// ROCKSDB_NAMESPACE::CompactionJobStats.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionJobStats_newCompactionJobStats(
|
||||
JNIEnv*, jclass) {
|
||||
auto* compact_job_stats = new rocksdb::CompactionJobStats();
|
||||
auto* compact_job_stats = new ROCKSDB_NAMESPACE::CompactionJobStats();
|
||||
return reinterpret_cast<jlong>(compact_job_stats);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ jlong Java_org_rocksdb_CompactionJobStats_newCompactionJobStats(
|
||||
void Java_org_rocksdb_CompactionJobStats_disposeInternal(
|
||||
JNIEnv *, jobject, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
delete compact_job_stats;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ void Java_org_rocksdb_CompactionJobStats_disposeInternal(
|
||||
void Java_org_rocksdb_CompactionJobStats_reset(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
compact_job_stats->Reset();
|
||||
}
|
||||
|
||||
@@ -55,9 +55,9 @@ void Java_org_rocksdb_CompactionJobStats_reset(
|
||||
void Java_org_rocksdb_CompactionJobStats_add(
|
||||
JNIEnv*, jclass, jlong jhandle, jlong jother_handle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
auto* other_compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jother_handle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jother_handle);
|
||||
compact_job_stats->Add(*other_compact_job_stats);
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ void Java_org_rocksdb_CompactionJobStats_add(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_elapsedMicros(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(compact_job_stats->elapsed_micros);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ jlong Java_org_rocksdb_CompactionJobStats_elapsedMicros(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numInputRecords(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(compact_job_stats->num_input_records);
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numInputRecords(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numInputFiles(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(compact_job_stats->num_input_files);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numInputFiles(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numInputFilesAtOutputLevel(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_input_files_at_output_level);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numInputFilesAtOutputLevel(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numOutputRecords(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_output_records);
|
||||
}
|
||||
@@ -131,7 +131,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numOutputRecords(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numOutputFiles(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_output_files);
|
||||
}
|
||||
@@ -144,7 +144,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numOutputFiles(
|
||||
jboolean Java_org_rocksdb_CompactionJobStats_isManualCompaction(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
if (compact_job_stats->is_manual_compaction) {
|
||||
return JNI_TRUE;
|
||||
} else {
|
||||
@@ -160,7 +160,7 @@ jboolean Java_org_rocksdb_CompactionJobStats_isManualCompaction(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_totalInputBytes(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->total_input_bytes);
|
||||
}
|
||||
@@ -173,7 +173,7 @@ jlong Java_org_rocksdb_CompactionJobStats_totalInputBytes(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_totalOutputBytes(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->total_output_bytes);
|
||||
}
|
||||
@@ -186,7 +186,7 @@ jlong Java_org_rocksdb_CompactionJobStats_totalOutputBytes(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numRecordsReplaced(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_records_replaced);
|
||||
}
|
||||
@@ -199,7 +199,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numRecordsReplaced(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_totalInputRawKeyBytes(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->total_input_raw_key_bytes);
|
||||
}
|
||||
@@ -212,7 +212,7 @@ jlong Java_org_rocksdb_CompactionJobStats_totalInputRawKeyBytes(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_totalInputRawValueBytes(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->total_input_raw_value_bytes);
|
||||
}
|
||||
@@ -225,7 +225,7 @@ jlong Java_org_rocksdb_CompactionJobStats_totalInputRawValueBytes(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numInputDeletionRecords(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_input_deletion_records);
|
||||
}
|
||||
@@ -238,7 +238,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numInputDeletionRecords(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numExpiredDeletionRecords(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_expired_deletion_records);
|
||||
}
|
||||
@@ -251,7 +251,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numExpiredDeletionRecords(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numCorruptKeys(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_corrupt_keys);
|
||||
}
|
||||
@@ -264,7 +264,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numCorruptKeys(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_fileWriteNanos(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->file_write_nanos);
|
||||
}
|
||||
@@ -277,7 +277,7 @@ jlong Java_org_rocksdb_CompactionJobStats_fileWriteNanos(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_fileRangeSyncNanos(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->file_range_sync_nanos);
|
||||
}
|
||||
@@ -290,7 +290,7 @@ jlong Java_org_rocksdb_CompactionJobStats_fileRangeSyncNanos(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_fileFsyncNanos(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->file_fsync_nanos);
|
||||
}
|
||||
@@ -303,7 +303,7 @@ jlong Java_org_rocksdb_CompactionJobStats_fileFsyncNanos(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_filePrepareWriteNanos(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->file_prepare_write_nanos);
|
||||
}
|
||||
@@ -316,9 +316,9 @@ jlong Java_org_rocksdb_CompactionJobStats_filePrepareWriteNanos(
|
||||
jbyteArray Java_org_rocksdb_CompactionJobStats_smallestOutputKeyPrefix(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
return rocksdb::JniUtil::copyBytes(env,
|
||||
compact_job_stats->smallest_output_key_prefix);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyBytes(
|
||||
env, compact_job_stats->smallest_output_key_prefix);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -329,9 +329,9 @@ jbyteArray Java_org_rocksdb_CompactionJobStats_smallestOutputKeyPrefix(
|
||||
jbyteArray Java_org_rocksdb_CompactionJobStats_largestOutputKeyPrefix(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
return rocksdb::JniUtil::copyBytes(env,
|
||||
compact_job_stats->largest_output_key_prefix);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyBytes(
|
||||
env, compact_job_stats->largest_output_key_prefix);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -342,7 +342,7 @@ jbyteArray Java_org_rocksdb_CompactionJobStats_largestOutputKeyPrefix(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numSingleDelFallthru(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_single_del_fallthru);
|
||||
}
|
||||
@@ -355,7 +355,7 @@ jlong Java_org_rocksdb_CompactionJobStats_numSingleDelFallthru(
|
||||
jlong Java_org_rocksdb_CompactionJobStats_numSingleDelMismatch(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_job_stats =
|
||||
reinterpret_cast<rocksdb::CompactionJobStats*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionJobStats*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_job_stats->num_single_del_mismatch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionOptions.
|
||||
// ROCKSDB_NAMESPACE::CompactionOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionOptions_newCompactionOptions(
|
||||
JNIEnv*, jclass) {
|
||||
auto* compact_opts = new rocksdb::CompactionOptions();
|
||||
auto* compact_opts = new ROCKSDB_NAMESPACE::CompactionOptions();
|
||||
return reinterpret_cast<jlong>(compact_opts);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ jlong Java_org_rocksdb_CompactionOptions_newCompactionOptions(
|
||||
void Java_org_rocksdb_CompactionOptions_disposeInternal(
|
||||
JNIEnv *, jobject, jlong jhandle) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
delete compact_opts;
|
||||
}
|
||||
|
||||
@@ -44,8 +44,8 @@ void Java_org_rocksdb_CompactionOptions_disposeInternal(
|
||||
jbyte Java_org_rocksdb_CompactionOptions_compression(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
return rocksdb::CompressionTypeJni::toJavaCompressionType(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::CompressionTypeJni::toJavaCompressionType(
|
||||
compact_opts->compression);
|
||||
}
|
||||
|
||||
@@ -57,9 +57,9 @@ jbyte Java_org_rocksdb_CompactionOptions_compression(
|
||||
void Java_org_rocksdb_CompactionOptions_setCompression(
|
||||
JNIEnv*, jclass, jlong jhandle, jbyte jcompression_type_value) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
compact_opts->compression =
|
||||
rocksdb::CompressionTypeJni::toCppCompressionType(
|
||||
ROCKSDB_NAMESPACE::CompressionTypeJni::toCppCompressionType(
|
||||
jcompression_type_value);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ void Java_org_rocksdb_CompactionOptions_setCompression(
|
||||
jlong Java_org_rocksdb_CompactionOptions_outputFileSizeLimit(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
return static_cast<jlong>(
|
||||
compact_opts->output_file_size_limit);
|
||||
}
|
||||
@@ -84,7 +84,7 @@ jlong Java_org_rocksdb_CompactionOptions_outputFileSizeLimit(
|
||||
void Java_org_rocksdb_CompactionOptions_setOutputFileSizeLimit(
|
||||
JNIEnv*, jclass, jlong jhandle, jlong joutput_file_size_limit) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
compact_opts->output_file_size_limit =
|
||||
static_cast<uint64_t>(joutput_file_size_limit);
|
||||
}
|
||||
@@ -97,7 +97,7 @@ void Java_org_rocksdb_CompactionOptions_setOutputFileSizeLimit(
|
||||
jint Java_org_rocksdb_CompactionOptions_maxSubcompactions(
|
||||
JNIEnv*, jclass, jlong jhandle) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
return static_cast<jint>(
|
||||
compact_opts->max_subcompactions);
|
||||
}
|
||||
@@ -110,7 +110,7 @@ jint Java_org_rocksdb_CompactionOptions_maxSubcompactions(
|
||||
void Java_org_rocksdb_CompactionOptions_setMaxSubcompactions(
|
||||
JNIEnv*, jclass, jlong jhandle, jint jmax_subcompactions) {
|
||||
auto* compact_opts =
|
||||
reinterpret_cast<rocksdb::CompactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
|
||||
compact_opts->max_subcompactions =
|
||||
static_cast<uint32_t>(jmax_subcompactions);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionOptionsFIFO.
|
||||
// ROCKSDB_NAMESPACE::CompactionOptionsFIFO.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(
|
||||
JNIEnv*, jclass) {
|
||||
const auto* opt = new rocksdb::CompactionOptionsFIFO();
|
||||
const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsFIFO();
|
||||
return reinterpret_cast<jlong>(opt);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,8 @@ jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jmax_table_files_size) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
|
||||
opt->max_table_files_size = static_cast<uint64_t>(jmax_table_files_size);
|
||||
}
|
||||
|
||||
@@ -40,7 +41,8 @@ void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
|
||||
return static_cast<jlong>(opt->max_table_files_size);
|
||||
}
|
||||
|
||||
@@ -51,7 +53,8 @@ jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean allow_compaction) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
|
||||
opt->allow_compaction = static_cast<bool>(allow_compaction);
|
||||
}
|
||||
|
||||
@@ -62,7 +65,8 @@ void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
|
||||
return static_cast<jboolean>(opt->allow_compaction);
|
||||
}
|
||||
|
||||
@@ -73,5 +77,5 @@ jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionOptionsUniversal.
|
||||
// ROCKSDB_NAMESPACE::CompactionOptionsUniversal.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
|
||||
JNIEnv*, jclass) {
|
||||
const auto* opt = new rocksdb::CompactionOptionsUniversal();
|
||||
const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsUniversal();
|
||||
return reinterpret_cast<jlong>(opt);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ jlong Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jsize_ratio) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->size_ratio = static_cast<unsigned int>(jsize_ratio);
|
||||
}
|
||||
|
||||
@@ -41,7 +42,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return static_cast<jint>(opt->size_ratio);
|
||||
}
|
||||
|
||||
@@ -52,7 +54,8 @@ jint Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jmin_merge_width) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->min_merge_width = static_cast<unsigned int>(jmin_merge_width);
|
||||
}
|
||||
|
||||
@@ -63,7 +66,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return static_cast<jint>(opt->min_merge_width);
|
||||
}
|
||||
|
||||
@@ -74,7 +78,8 @@ jint Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jmax_merge_width) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->max_merge_width = static_cast<unsigned int>(jmax_merge_width);
|
||||
}
|
||||
|
||||
@@ -85,7 +90,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return static_cast<jint>(opt->max_merge_width);
|
||||
}
|
||||
|
||||
@@ -96,7 +102,8 @@ jint Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jmax_size_amplification_percent) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->max_size_amplification_percent =
|
||||
static_cast<unsigned int>(jmax_size_amplification_percent);
|
||||
}
|
||||
@@ -108,7 +115,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return static_cast<jint>(opt->max_size_amplification_percent);
|
||||
}
|
||||
|
||||
@@ -120,7 +128,8 @@ jint Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
|
||||
JNIEnv*, jobject, jlong jhandle,
|
||||
jint jcompression_size_percent) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->compression_size_percent =
|
||||
static_cast<unsigned int>(jcompression_size_percent);
|
||||
}
|
||||
@@ -132,7 +141,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return static_cast<jint>(opt->compression_size_percent);
|
||||
}
|
||||
|
||||
@@ -143,9 +153,11 @@ jint Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jstop_style_value) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->stop_style = rocksdb::CompactionStopStyleJni::toCppCompactionStopStyle(
|
||||
jstop_style_value);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->stop_style =
|
||||
ROCKSDB_NAMESPACE::CompactionStopStyleJni::toCppCompactionStopStyle(
|
||||
jstop_style_value);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -155,8 +167,9 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(
|
||||
*/
|
||||
jbyte Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
return rocksdb::CompactionStopStyleJni::toJavaCompactionStopStyle(
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::CompactionStopStyleJni::toJavaCompactionStopStyle(
|
||||
opt->stop_style);
|
||||
}
|
||||
|
||||
@@ -167,7 +180,8 @@ jbyte Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jallow_trivial_move) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
opt->allow_trivial_move = static_cast<bool>(jallow_trivial_move);
|
||||
}
|
||||
|
||||
@@ -178,7 +192,8 @@ void Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
auto* opt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
|
||||
return opt->allow_trivial_move;
|
||||
}
|
||||
|
||||
@@ -189,5 +204,6 @@ jboolean Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(
|
||||
*/
|
||||
void Java_org_rocksdb_CompactionOptionsUniversal_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::CompactionOptionsUniversal*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(
|
||||
jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::Comparator.
|
||||
// ROCKSDB_NAMESPACE::Comparator.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -25,8 +25,10 @@
|
||||
jlong Java_org_rocksdb_AbstractComparator_createNewComparator(
|
||||
JNIEnv* env, jobject jcomparator, jlong copt_handle) {
|
||||
auto* copt =
|
||||
reinterpret_cast<rocksdb::ComparatorJniCallbackOptions*>(copt_handle);
|
||||
auto* c = new rocksdb::ComparatorJniCallback(env, jcomparator, copt);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ComparatorJniCallbackOptions*>(
|
||||
copt_handle);
|
||||
auto* c =
|
||||
new ROCKSDB_NAMESPACE::ComparatorJniCallback(env, jcomparator, copt);
|
||||
return reinterpret_cast<jlong>(c);
|
||||
}
|
||||
|
||||
@@ -37,7 +39,8 @@ jlong Java_org_rocksdb_AbstractComparator_createNewComparator(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_AbstractComparator_usingDirectBuffers(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* c = reinterpret_cast<rocksdb::ComparatorJniCallback*>(jhandle);
|
||||
auto* c =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ComparatorJniCallback*>(jhandle);
|
||||
return static_cast<jboolean>(c->m_options->direct_buffer);
|
||||
}
|
||||
|
||||
@@ -48,6 +51,7 @@ jboolean Java_org_rocksdb_AbstractComparator_usingDirectBuffers(
|
||||
*/
|
||||
void Java_org_rocksdb_NativeComparatorWrapper_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jcomparator_handle) {
|
||||
auto* comparator = reinterpret_cast<rocksdb::Comparator*>(jcomparator_handle);
|
||||
auto* comparator =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Comparator*>(jcomparator_handle);
|
||||
delete comparator;
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Comparator.
|
||||
// ROCKSDB_NAMESPACE::Comparator.
|
||||
|
||||
#include "rocksjni/comparatorjnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
ComparatorJniCallback::ComparatorJniCallback(
|
||||
JNIEnv* env, jobject jcomparator,
|
||||
const ComparatorJniCallbackOptions* options)
|
||||
@@ -349,7 +349,8 @@ void ComparatorJniCallback::FindShortestSeparator(
|
||||
DeleteBuffer(env, j_limit_buf);
|
||||
}
|
||||
MaybeUnlockForReuse(mtx_shortest, reuse_jbuf_start || reuse_jbuf_limit);
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, "Unable to get Direct Buffer Address");
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "Unable to get Direct Buffer Address");
|
||||
env->ExceptionDescribe(); // print out exception to stderr
|
||||
releaseJniEnv(attached_thread);
|
||||
return;
|
||||
@@ -470,7 +471,8 @@ void ComparatorJniCallback::FindShortSuccessor(
|
||||
// reused direct buffer
|
||||
void* key_buf = env->GetDirectBufferAddress(j_key_buf);
|
||||
if (key_buf == nullptr) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, "Unable to get Direct Buffer Address");
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "Unable to get Direct Buffer Address");
|
||||
if (!reuse_jbuf_key) {
|
||||
DeleteBuffer(env, j_key_buf);
|
||||
}
|
||||
@@ -593,7 +595,8 @@ jobject ComparatorJniCallback::ReuseBuffer(
|
||||
void* buf = env->GetDirectBufferAddress(jreuse_buffer);
|
||||
if (buf == nullptr) {
|
||||
// either memory region is undefined, given object is not a direct java.nio.Buffer, or JNI access to direct buffers is not supported by this virtual machine.
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, "Unable to get Direct Buffer Address");
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "Unable to get Direct Buffer Address");
|
||||
return nullptr;
|
||||
}
|
||||
memcpy(buf, src.data(), src.size());
|
||||
@@ -632,4 +635,4 @@ void ComparatorJniCallback::DeleteBuffer(JNIEnv* env, jobject jbuffer) const {
|
||||
env->DeleteLocalRef(jbuffer);
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Comparator
|
||||
// ROCKSDB_NAMESPACE::Comparator
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_COMPARATORJNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_COMPARATORJNICALLBACK_H_
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "port/port.h"
|
||||
#include "util/thread_local.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
enum ReusedSynchronisationType {
|
||||
/**
|
||||
@@ -132,6 +132,6 @@ class ComparatorJniCallback : public JniCallback, public Comparator {
|
||||
ThreadLocalPtr* m_tl_buf_a;
|
||||
ThreadLocalPtr* m_tl_buf_b;
|
||||
};
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_COMPARATORJNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompressionOptions.
|
||||
// ROCKSDB_NAMESPACE::CompressionOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_CompressionOptions_newCompressionOptions(
|
||||
JNIEnv*, jclass) {
|
||||
const auto* opt = new rocksdb::CompressionOptions();
|
||||
const auto* opt = new ROCKSDB_NAMESPACE::CompressionOptions();
|
||||
return reinterpret_cast<jlong>(opt);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ jlong Java_org_rocksdb_CompressionOptions_newCompressionOptions(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setWindowBits(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jwindow_bits) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->window_bits = static_cast<int>(jwindow_bits);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ void Java_org_rocksdb_CompressionOptions_setWindowBits(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompressionOptions_windowBits(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<jint>(opt->window_bits);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ jint Java_org_rocksdb_CompressionOptions_windowBits(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setLevel(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jlevel) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->level = static_cast<int>(jlevel);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ void Java_org_rocksdb_CompressionOptions_setLevel(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompressionOptions_level(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<jint>(opt->level);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ jint Java_org_rocksdb_CompressionOptions_level(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setStrategy(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jstrategy) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->strategy = static_cast<int>(jstrategy);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ void Java_org_rocksdb_CompressionOptions_setStrategy(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompressionOptions_strategy(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<jint>(opt->strategy);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ jint Java_org_rocksdb_CompressionOptions_strategy(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setMaxDictBytes(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jmax_dict_bytes) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->max_dict_bytes = static_cast<uint32_t>(jmax_dict_bytes);
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ void Java_org_rocksdb_CompressionOptions_setMaxDictBytes(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompressionOptions_maxDictBytes(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<jint>(opt->max_dict_bytes);
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ jint Java_org_rocksdb_CompressionOptions_maxDictBytes(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setZstdMaxTrainBytes(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jzstd_max_train_bytes) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->zstd_max_train_bytes = static_cast<uint32_t>(jzstd_max_train_bytes);
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ void Java_org_rocksdb_CompressionOptions_setZstdMaxTrainBytes(
|
||||
*/
|
||||
jint Java_org_rocksdb_CompressionOptions_zstdMaxTrainBytes(
|
||||
JNIEnv *, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<jint>(opt->zstd_max_train_bytes);
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ jint Java_org_rocksdb_CompressionOptions_zstdMaxTrainBytes(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_setEnabled(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jenabled) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
opt->enabled = jenabled == JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ void Java_org_rocksdb_CompressionOptions_setEnabled(
|
||||
*/
|
||||
jboolean Java_org_rocksdb_CompressionOptions_enabled(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* opt = reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
return static_cast<bool>(opt->enabled);
|
||||
}
|
||||
/*
|
||||
@@ -160,5 +160,5 @@ jboolean Java_org_rocksdb_CompressionOptions_enabled(
|
||||
*/
|
||||
void Java_org_rocksdb_CompressionOptions_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::CompressionOptions*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Env methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Env methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <vector>
|
||||
@@ -24,7 +24,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_Env_getDefaultEnvInternal(
|
||||
JNIEnv*, jclass) {
|
||||
return reinterpret_cast<jlong>(rocksdb::Env::Default());
|
||||
return reinterpret_cast<jlong>(ROCKSDB_NAMESPACE::Env::Default());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -34,7 +34,7 @@ jlong Java_org_rocksdb_Env_getDefaultEnvInternal(
|
||||
*/
|
||||
void Java_org_rocksdb_RocksEnv_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* e = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* e = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
assert(e != nullptr);
|
||||
delete e;
|
||||
}
|
||||
@@ -46,9 +46,10 @@ void Java_org_rocksdb_RocksEnv_disposeInternal(
|
||||
*/
|
||||
void Java_org_rocksdb_Env_setBackgroundThreads(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jnum, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
rocks_env->SetBackgroundThreads(static_cast<int>(jnum),
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
rocks_env->SetBackgroundThreads(
|
||||
static_cast<int>(jnum),
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -58,9 +59,9 @@ void Java_org_rocksdb_Env_setBackgroundThreads(
|
||||
*/
|
||||
jint Java_org_rocksdb_Env_getBackgroundThreads(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
const int num = rocks_env->GetBackgroundThreads(
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
return static_cast<jint>(num);
|
||||
}
|
||||
|
||||
@@ -71,9 +72,9 @@ jint Java_org_rocksdb_Env_getBackgroundThreads(
|
||||
*/
|
||||
jint Java_org_rocksdb_Env_getThreadPoolQueueLen(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
const int queue_len = rocks_env->GetThreadPoolQueueLen(
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
return static_cast<jint>(queue_len);
|
||||
}
|
||||
|
||||
@@ -84,9 +85,10 @@ jint Java_org_rocksdb_Env_getThreadPoolQueueLen(
|
||||
*/
|
||||
void Java_org_rocksdb_Env_incBackgroundThreadsIfNeeded(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jnum, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
rocks_env->IncBackgroundThreadsIfNeeded(static_cast<int>(jnum),
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
rocks_env->IncBackgroundThreadsIfNeeded(
|
||||
static_cast<int>(jnum),
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -96,9 +98,9 @@ void Java_org_rocksdb_Env_incBackgroundThreadsIfNeeded(
|
||||
*/
|
||||
void Java_org_rocksdb_Env_lowerThreadPoolIOPriority(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
rocks_env->LowerThreadPoolIOPriority(
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -108,9 +110,9 @@ void Java_org_rocksdb_Env_lowerThreadPoolIOPriority(
|
||||
*/
|
||||
void Java_org_rocksdb_Env_lowerThreadPoolCPUPriority(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jpriority_value) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
rocks_env->LowerThreadPoolCPUPriority(
|
||||
rocksdb::PriorityJni::toCppPriority(jpriority_value));
|
||||
ROCKSDB_NAMESPACE::PriorityJni::toCppPriority(jpriority_value));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -120,26 +122,26 @@ void Java_org_rocksdb_Env_lowerThreadPoolCPUPriority(
|
||||
*/
|
||||
jobjectArray Java_org_rocksdb_Env_getThreadList(
|
||||
JNIEnv* env, jobject, jlong jhandle) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
std::vector<rocksdb::ThreadStatus> thread_status;
|
||||
rocksdb::Status s = rocks_env->GetThreadList(&thread_status);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
std::vector<ROCKSDB_NAMESPACE::ThreadStatus> thread_status;
|
||||
ROCKSDB_NAMESPACE::Status s = rocks_env->GetThreadList(&thread_status);
|
||||
if (!s.ok()) {
|
||||
// error, throw exception
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// object[]
|
||||
const jsize len = static_cast<jsize>(thread_status.size());
|
||||
jobjectArray jthread_status =
|
||||
env->NewObjectArray(len, rocksdb::ThreadStatusJni::getJClass(env), nullptr);
|
||||
jobjectArray jthread_status = env->NewObjectArray(
|
||||
len, ROCKSDB_NAMESPACE::ThreadStatusJni::getJClass(env), nullptr);
|
||||
if (jthread_status == nullptr) {
|
||||
// an exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
for (jsize i = 0; i < len; ++i) {
|
||||
jobject jts =
|
||||
rocksdb::ThreadStatusJni::construct(env, &(thread_status[i]));
|
||||
ROCKSDB_NAMESPACE::ThreadStatusJni::construct(env, &(thread_status[i]));
|
||||
env->SetObjectArrayElement(jthread_status, i, jts);
|
||||
if (env->ExceptionCheck()) {
|
||||
// exception occurred
|
||||
@@ -158,8 +160,8 @@ jobjectArray Java_org_rocksdb_Env_getThreadList(
|
||||
*/
|
||||
jlong Java_org_rocksdb_RocksMemEnv_createMemEnv(
|
||||
JNIEnv*, jclass, jlong jbase_env_handle) {
|
||||
auto* base_env = reinterpret_cast<rocksdb::Env*>(jbase_env_handle);
|
||||
return reinterpret_cast<jlong>(rocksdb::NewMemEnv(base_env));
|
||||
auto* base_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jbase_env_handle);
|
||||
return reinterpret_cast<jlong>(ROCKSDB_NAMESPACE::NewMemEnv(base_env));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -169,7 +171,7 @@ jlong Java_org_rocksdb_RocksMemEnv_createMemEnv(
|
||||
*/
|
||||
void Java_org_rocksdb_RocksMemEnv_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* e = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* e = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
assert(e != nullptr);
|
||||
delete e;
|
||||
}
|
||||
@@ -182,16 +184,18 @@ void Java_org_rocksdb_RocksMemEnv_disposeInternal(
|
||||
jlong Java_org_rocksdb_HdfsEnv_createHdfsEnv(
|
||||
JNIEnv* env, jclass, jstring jfsname) {
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
auto fsname = rocksdb::JniUtil::copyStdString(env, jfsname, &has_exception);
|
||||
auto fsname =
|
||||
ROCKSDB_NAMESPACE::JniUtil::copyStdString(env, jfsname, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
// exception occurred
|
||||
return 0;
|
||||
}
|
||||
rocksdb::Env* hdfs_env;
|
||||
rocksdb::Status s = rocksdb::NewHdfsEnv(&hdfs_env, fsname);
|
||||
ROCKSDB_NAMESPACE::Env* hdfs_env;
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::NewHdfsEnv(&hdfs_env, fsname);
|
||||
if (!s.ok()) {
|
||||
// error occurred
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
return reinterpret_cast<jlong>(hdfs_env);
|
||||
@@ -204,7 +208,7 @@ jlong Java_org_rocksdb_HdfsEnv_createHdfsEnv(
|
||||
*/
|
||||
void Java_org_rocksdb_HdfsEnv_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* e = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* e = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
assert(e != nullptr);
|
||||
delete e;
|
||||
}
|
||||
@@ -216,8 +220,8 @@ void Java_org_rocksdb_HdfsEnv_disposeInternal(
|
||||
*/
|
||||
jlong Java_org_rocksdb_TimedEnv_createTimedEnv(
|
||||
JNIEnv*, jclass, jlong jbase_env_handle) {
|
||||
auto* base_env = reinterpret_cast<rocksdb::Env*>(jbase_env_handle);
|
||||
return reinterpret_cast<jlong>(rocksdb::NewTimedEnv(base_env));
|
||||
auto* base_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jbase_env_handle);
|
||||
return reinterpret_cast<jlong>(ROCKSDB_NAMESPACE::NewTimedEnv(base_env));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -227,7 +231,7 @@ jlong Java_org_rocksdb_TimedEnv_createTimedEnv(
|
||||
*/
|
||||
void Java_org_rocksdb_TimedEnv_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* e = reinterpret_cast<rocksdb::Env*>(jhandle);
|
||||
auto* e = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jhandle);
|
||||
assert(e != nullptr);
|
||||
delete e;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::EnvOptions methods
|
||||
// calling C++ ROCKSDB_NAMESPACE::EnvOptions methods
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -12,20 +12,20 @@
|
||||
#include "include/org_rocksdb_EnvOptions.h"
|
||||
#include "rocksdb/env.h"
|
||||
|
||||
#define ENV_OPTIONS_SET_BOOL(_jhandle, _opt) \
|
||||
reinterpret_cast<rocksdb::EnvOptions *>(_jhandle)->_opt = \
|
||||
#define ENV_OPTIONS_SET_BOOL(_jhandle, _opt) \
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(_jhandle)->_opt = \
|
||||
static_cast<bool>(_opt)
|
||||
|
||||
#define ENV_OPTIONS_SET_SIZE_T(_jhandle, _opt) \
|
||||
reinterpret_cast<rocksdb::EnvOptions *>(_jhandle)->_opt = \
|
||||
#define ENV_OPTIONS_SET_SIZE_T(_jhandle, _opt) \
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(_jhandle)->_opt = \
|
||||
static_cast<size_t>(_opt)
|
||||
|
||||
#define ENV_OPTIONS_SET_UINT64_T(_jhandle, _opt) \
|
||||
reinterpret_cast<rocksdb::EnvOptions *>(_jhandle)->_opt = \
|
||||
#define ENV_OPTIONS_SET_UINT64_T(_jhandle, _opt) \
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(_jhandle)->_opt = \
|
||||
static_cast<uint64_t>(_opt)
|
||||
|
||||
#define ENV_OPTIONS_GET(_jhandle, _opt) \
|
||||
reinterpret_cast<rocksdb::EnvOptions *>(_jhandle)->_opt
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(_jhandle)->_opt
|
||||
|
||||
/*
|
||||
* Class: org_rocksdb_EnvOptions
|
||||
@@ -34,7 +34,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_EnvOptions_newEnvOptions__(
|
||||
JNIEnv*, jclass) {
|
||||
auto *env_opt = new rocksdb::EnvOptions();
|
||||
auto *env_opt = new ROCKSDB_NAMESPACE::EnvOptions();
|
||||
return reinterpret_cast<jlong>(env_opt);
|
||||
}
|
||||
|
||||
@@ -45,9 +45,9 @@ jlong Java_org_rocksdb_EnvOptions_newEnvOptions__(
|
||||
*/
|
||||
jlong Java_org_rocksdb_EnvOptions_newEnvOptions__J(
|
||||
JNIEnv*, jclass, jlong jdboptions_handle) {
|
||||
auto* db_options =
|
||||
reinterpret_cast<rocksdb::DBOptions*>(jdboptions_handle);
|
||||
auto* env_opt = new rocksdb::EnvOptions(*db_options);
|
||||
auto *db_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions *>(jdboptions_handle);
|
||||
auto *env_opt = new ROCKSDB_NAMESPACE::EnvOptions(*db_options);
|
||||
return reinterpret_cast<jlong>(env_opt);
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ jlong Java_org_rocksdb_EnvOptions_newEnvOptions__J(
|
||||
*/
|
||||
void Java_org_rocksdb_EnvOptions_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto *eo = reinterpret_cast<rocksdb::EnvOptions *>(jhandle);
|
||||
auto *eo = reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(jhandle);
|
||||
assert(eo != nullptr);
|
||||
delete eo;
|
||||
}
|
||||
@@ -291,7 +291,8 @@ jlong Java_org_rocksdb_EnvOptions_writableFileMaxBufferSize(
|
||||
void Java_org_rocksdb_EnvOptions_setRateLimiter(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong rl_handle) {
|
||||
auto *sptr_rate_limiter =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter> *>(rl_handle);
|
||||
auto *env_opt = reinterpret_cast<rocksdb::EnvOptions *>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter> *>(
|
||||
rl_handle);
|
||||
auto *env_opt = reinterpret_cast<ROCKSDB_NAMESPACE::EnvOptions *>(jhandle);
|
||||
env_opt->rate_limiter = sptr_rate_limiter->get();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::FilterPolicy.
|
||||
// ROCKSDB_NAMESPACE::FilterPolicy.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -24,8 +24,10 @@
|
||||
jlong Java_org_rocksdb_BloomFilter_createNewBloomFilter(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jdouble bits_per_key,
|
||||
jboolean use_block_base_builder) {
|
||||
auto* sptr_filter = new std::shared_ptr<const rocksdb::FilterPolicy>(
|
||||
rocksdb::NewBloomFilterPolicy(bits_per_key, use_block_base_builder));
|
||||
auto* sptr_filter =
|
||||
new std::shared_ptr<const ROCKSDB_NAMESPACE::FilterPolicy>(
|
||||
ROCKSDB_NAMESPACE::NewBloomFilterPolicy(bits_per_key,
|
||||
use_block_base_builder));
|
||||
return reinterpret_cast<jlong>(sptr_filter);
|
||||
}
|
||||
|
||||
@@ -37,6 +39,7 @@ jlong Java_org_rocksdb_BloomFilter_createNewBloomFilter(
|
||||
void Java_org_rocksdb_Filter_disposeInternal(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* handle =
|
||||
reinterpret_cast<std::shared_ptr<const rocksdb::FilterPolicy>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<const ROCKSDB_NAMESPACE::FilterPolicy>*>(
|
||||
jhandle);
|
||||
delete handle; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::FilterPolicy.
|
||||
// ROCKSDB_NAMESPACE::FilterPolicy.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__(
|
||||
JNIEnv*, jclass) {
|
||||
auto* options = new rocksdb::IngestExternalFileOptions();
|
||||
auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
|
||||
return reinterpret_cast<jlong>(options);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__Z
|
||||
JNIEnv*, jclass, jboolean jmove_files,
|
||||
jboolean jsnapshot_consistency, jboolean jallow_global_seqno,
|
||||
jboolean jallow_blocking_flush) {
|
||||
auto* options = new rocksdb::IngestExternalFileOptions();
|
||||
auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
|
||||
options->move_files = static_cast<bool>(jmove_files);
|
||||
options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
|
||||
options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
|
||||
@@ -47,7 +47,7 @@ jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__Z
|
||||
jboolean Java_org_rocksdb_IngestExternalFileOptions_moveFiles(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->move_files);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ jboolean Java_org_rocksdb_IngestExternalFileOptions_moveFiles(
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_setMoveFiles(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jmove_files) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->move_files = static_cast<bool>(jmove_files);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ void Java_org_rocksdb_IngestExternalFileOptions_setMoveFiles(
|
||||
jboolean Java_org_rocksdb_IngestExternalFileOptions_snapshotConsistency(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->snapshot_consistency);
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ jboolean Java_org_rocksdb_IngestExternalFileOptions_snapshotConsistency(
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_setSnapshotConsistency(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jsnapshot_consistency) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ void Java_org_rocksdb_IngestExternalFileOptions_setSnapshotConsistency(
|
||||
jboolean Java_org_rocksdb_IngestExternalFileOptions_allowGlobalSeqNo(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->allow_global_seqno);
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ jboolean Java_org_rocksdb_IngestExternalFileOptions_allowGlobalSeqNo(
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_setAllowGlobalSeqNo(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jallow_global_seqno) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ void Java_org_rocksdb_IngestExternalFileOptions_setAllowGlobalSeqNo(
|
||||
jboolean Java_org_rocksdb_IngestExternalFileOptions_allowBlockingFlush(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return static_cast<jboolean>(options->allow_blocking_flush);
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ jboolean Java_org_rocksdb_IngestExternalFileOptions_allowBlockingFlush(
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_setAllowBlockingFlush(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jallow_blocking_flush) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->allow_blocking_flush = static_cast<bool>(jallow_blocking_flush);
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ void Java_org_rocksdb_IngestExternalFileOptions_setAllowBlockingFlush(
|
||||
jboolean Java_org_rocksdb_IngestExternalFileOptions_ingestBehind(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return options->ingest_behind == JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ jboolean Java_org_rocksdb_IngestExternalFileOptions_ingestBehind(
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_setIngestBehind(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jingest_behind) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->ingest_behind = jingest_behind == JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ void Java_org_rocksdb_IngestExternalFileOptions_setIngestBehind(
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_IngestExternalFileOptions_writeGlobalSeqno(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
return options->write_global_seqno == JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_IngestExternalFileOptions_writeGloba
|
||||
JNIEXPORT void JNICALL Java_org_rocksdb_IngestExternalFileOptions_setWriteGlobalSeqno(
|
||||
JNIEnv*, jobject, jlong jhandle, jboolean jwrite_global_seqno) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
options->write_global_seqno = jwrite_global_seqno == JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -191,6 +191,6 @@ JNIEXPORT void JNICALL Java_org_rocksdb_IngestExternalFileOptions_setWriteGlobal
|
||||
void Java_org_rocksdb_IngestExternalFileOptions_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* options =
|
||||
reinterpret_cast<rocksdb::IngestExternalFileOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
|
||||
delete options;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Iterator methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Iterator methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -23,7 +23,7 @@
|
||||
void Java_org_rocksdb_RocksIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
assert(it != nullptr);
|
||||
delete it;
|
||||
}
|
||||
@@ -36,7 +36,7 @@ void Java_org_rocksdb_RocksIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_RocksIterator_isValid0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<rocksdb::Iterator*>(handle)->Valid();
|
||||
return reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Valid();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -47,7 +47,7 @@ jboolean Java_org_rocksdb_RocksIterator_isValid0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_RocksIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->SeekToFirst();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->SeekToFirst();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -58,7 +58,7 @@ void Java_org_rocksdb_RocksIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_RocksIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->SeekToLast();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->SeekToLast();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -68,7 +68,7 @@ void Java_org_rocksdb_RocksIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_RocksIterator_next0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->Next();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Next();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -78,7 +78,7 @@ void Java_org_rocksdb_RocksIterator_next0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_RocksIterator_prev0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->Prev();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Prev();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -95,9 +95,10 @@ void Java_org_rocksdb_RocksIterator_seek0(JNIEnv* env, jobject /*jobj*/,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
it->Seek(target_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jtarget, target, JNI_ABORT);
|
||||
@@ -112,9 +113,12 @@ void Java_org_rocksdb_RocksIterator_seekDirect0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle, jobject jtarget,
|
||||
jint jtarget_off,
|
||||
jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto seek = [&it](rocksdb::Slice& target_slice) { it->Seek(target_slice); };
|
||||
rocksdb::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off, jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
auto seek = [&it](ROCKSDB_NAMESPACE::Slice& target_slice) {
|
||||
it->Seek(target_slice);
|
||||
};
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -125,12 +129,12 @@ void Java_org_rocksdb_RocksIterator_seekDirect0(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_RocksIterator_seekForPrevDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto seekPrev = [&it](rocksdb::Slice& target_slice) {
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
auto seekPrev = [&it](ROCKSDB_NAMESPACE::Slice& target_slice) {
|
||||
it->SeekForPrev(target_slice);
|
||||
};
|
||||
rocksdb::JniUtil::k_op_direct(seekPrev, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(seekPrev, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -148,9 +152,10 @@ void Java_org_rocksdb_RocksIterator_seekForPrev0(JNIEnv* env, jobject /*jobj*/,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
it->SeekForPrev(target_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jtarget, target, JNI_ABORT);
|
||||
@@ -163,14 +168,14 @@ void Java_org_rocksdb_RocksIterator_seekForPrev0(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_RocksIterator_status0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Status s = it->status();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Status s = it->status();
|
||||
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -180,8 +185,8 @@ void Java_org_rocksdb_RocksIterator_status0(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jbyteArray Java_org_rocksdb_RocksIterator_key0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice key_slice = it->key();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice key_slice = it->key();
|
||||
|
||||
jbyteArray jkey = env->NewByteArray(static_cast<jsize>(key_slice.size()));
|
||||
if (jkey == nullptr) {
|
||||
@@ -203,10 +208,10 @@ jint Java_org_rocksdb_RocksIterator_keyDirect0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle, jobject jtarget,
|
||||
jint jtarget_off,
|
||||
jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice key_slice = it->key();
|
||||
return rocksdb::JniUtil::copyToDirect(env, key_slice, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice key_slice = it->key();
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyToDirect(env, key_slice, jtarget,
|
||||
jtarget_off, jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -216,8 +221,8 @@ jint Java_org_rocksdb_RocksIterator_keyDirect0(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jbyteArray Java_org_rocksdb_RocksIterator_value0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice value_slice = it->value();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice value_slice = it->value();
|
||||
|
||||
jbyteArray jkeyValue =
|
||||
env->NewByteArray(static_cast<jsize>(value_slice.size()));
|
||||
@@ -240,8 +245,8 @@ jint Java_org_rocksdb_RocksIterator_valueDirect0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle, jobject jtarget,
|
||||
jint jtarget_off,
|
||||
jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice value_slice = it->value();
|
||||
return rocksdb::JniUtil::copyToDirect(env, value_slice, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice value_slice = it->value();
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyToDirect(env, value_slice, jtarget,
|
||||
jtarget_off, jtarget_len);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "rocksjni/jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
JniCallback::JniCallback(JNIEnv* env, jobject jcallback_obj) {
|
||||
// Note: jcallback_obj may be accessed by multiple threads,
|
||||
// so we ref the jvm not the env
|
||||
@@ -50,4 +50,4 @@ JniCallback::~JniCallback() {
|
||||
releaseJniEnv(attached_thread);
|
||||
}
|
||||
// @lint-ignore TXT4 T25377293 Grandfathered in
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
@@ -11,19 +11,21 @@
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
namespace rocksdb {
|
||||
class JniCallback {
|
||||
public:
|
||||
JniCallback(JNIEnv* env, jobject jcallback_obj);
|
||||
virtual ~JniCallback();
|
||||
#include "rocksdb/rocksdb_namespace.h"
|
||||
|
||||
protected:
|
||||
JavaVM* m_jvm;
|
||||
jobject m_jcallback_obj;
|
||||
JNIEnv* getJniEnv(jboolean* attached) const;
|
||||
void releaseJniEnv(jboolean& attached) const;
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
class JniCallback {
|
||||
public:
|
||||
JniCallback(JNIEnv* env, jobject jcallback_obj);
|
||||
virtual ~JniCallback();
|
||||
|
||||
protected:
|
||||
JavaVM* m_jvm;
|
||||
jobject m_jcallback_obj;
|
||||
JNIEnv* getJniEnv(jboolean* attached) const;
|
||||
void releaseJniEnv(jboolean& attached) const;
|
||||
};
|
||||
}
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
// @lint-ignore TXT4 T25377293 Grandfathered in
|
||||
#endif // JAVA_ROCKSJNI_JNICALLBACK_H_
|
||||
#endif // JAVA_ROCKSJNI_JNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Logger.
|
||||
// ROCKSDB_NAMESPACE::Logger.
|
||||
|
||||
#include "include/org_rocksdb_Logger.h"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "rocksjni/loggerjnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
LoggerJniCallback::LoggerJniCallback(JNIEnv* env, jobject jlogger)
|
||||
: JniCallback(env, jlogger) {
|
||||
@@ -107,22 +107,22 @@ void LoggerJniCallback::Logv(const InfoLogLevel log_level, const char* format,
|
||||
// determine InfoLogLevel java enum instance
|
||||
jobject jlog_level;
|
||||
switch (log_level) {
|
||||
case rocksdb::InfoLogLevel::DEBUG_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::DEBUG_LEVEL:
|
||||
jlog_level = m_jdebug_level;
|
||||
break;
|
||||
case rocksdb::InfoLogLevel::INFO_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::INFO_LEVEL:
|
||||
jlog_level = m_jinfo_level;
|
||||
break;
|
||||
case rocksdb::InfoLogLevel::WARN_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::WARN_LEVEL:
|
||||
jlog_level = m_jwarn_level;
|
||||
break;
|
||||
case rocksdb::InfoLogLevel::ERROR_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::ERROR_LEVEL:
|
||||
jlog_level = m_jerror_level;
|
||||
break;
|
||||
case rocksdb::InfoLogLevel::FATAL_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::FATAL_LEVEL:
|
||||
jlog_level = m_jfatal_level;
|
||||
break;
|
||||
case rocksdb::InfoLogLevel::HEADER_LEVEL:
|
||||
case ROCKSDB_NAMESPACE::InfoLogLevel::HEADER_LEVEL:
|
||||
jlog_level = m_jheader_level;
|
||||
break;
|
||||
default:
|
||||
@@ -218,7 +218,7 @@ LoggerJniCallback::~LoggerJniCallback() {
|
||||
releaseJniEnv(attached_thread);
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
/*
|
||||
* Class: org_rocksdb_Logger
|
||||
@@ -227,11 +227,11 @@ LoggerJniCallback::~LoggerJniCallback() {
|
||||
*/
|
||||
jlong Java_org_rocksdb_Logger_createNewLoggerOptions(JNIEnv* env, jobject jobj,
|
||||
jlong joptions) {
|
||||
auto* sptr_logger = new std::shared_ptr<rocksdb::LoggerJniCallback>(
|
||||
new rocksdb::LoggerJniCallback(env, jobj));
|
||||
auto* sptr_logger = new std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>(
|
||||
new ROCKSDB_NAMESPACE::LoggerJniCallback(env, jobj));
|
||||
|
||||
// set log level
|
||||
auto* options = reinterpret_cast<rocksdb::Options*>(joptions);
|
||||
auto* options = reinterpret_cast<ROCKSDB_NAMESPACE::Options*>(joptions);
|
||||
sptr_logger->get()->SetInfoLogLevel(options->info_log_level);
|
||||
|
||||
return reinterpret_cast<jlong>(sptr_logger);
|
||||
@@ -245,11 +245,12 @@ jlong Java_org_rocksdb_Logger_createNewLoggerOptions(JNIEnv* env, jobject jobj,
|
||||
jlong Java_org_rocksdb_Logger_createNewLoggerDbOptions(JNIEnv* env,
|
||||
jobject jobj,
|
||||
jlong jdb_options) {
|
||||
auto* sptr_logger = new std::shared_ptr<rocksdb::LoggerJniCallback>(
|
||||
new rocksdb::LoggerJniCallback(env, jobj));
|
||||
auto* sptr_logger = new std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>(
|
||||
new ROCKSDB_NAMESPACE::LoggerJniCallback(env, jobj));
|
||||
|
||||
// set log level
|
||||
auto* db_options = reinterpret_cast<rocksdb::DBOptions*>(jdb_options);
|
||||
auto* db_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdb_options);
|
||||
sptr_logger->get()->SetInfoLogLevel(db_options->info_log_level);
|
||||
|
||||
return reinterpret_cast<jlong>(sptr_logger);
|
||||
@@ -263,9 +264,10 @@ jlong Java_org_rocksdb_Logger_createNewLoggerDbOptions(JNIEnv* env,
|
||||
void Java_org_rocksdb_Logger_setInfoLogLevel(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jhandle, jbyte jlog_level) {
|
||||
auto* handle =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::LoggerJniCallback>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>*>(
|
||||
jhandle);
|
||||
handle->get()->SetInfoLogLevel(
|
||||
static_cast<rocksdb::InfoLogLevel>(jlog_level));
|
||||
static_cast<ROCKSDB_NAMESPACE::InfoLogLevel>(jlog_level));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -276,7 +278,8 @@ void Java_org_rocksdb_Logger_setInfoLogLevel(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jbyte Java_org_rocksdb_Logger_infoLogLevel(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* handle =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::LoggerJniCallback>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>*>(
|
||||
jhandle);
|
||||
return static_cast<jbyte>(handle->get()->GetInfoLogLevel());
|
||||
}
|
||||
|
||||
@@ -288,6 +291,7 @@ jbyte Java_org_rocksdb_Logger_infoLogLevel(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_Logger_disposeInternal(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* handle =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::LoggerJniCallback>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>*>(
|
||||
jhandle);
|
||||
delete handle; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Logger
|
||||
// ROCKSDB_NAMESPACE::Logger
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_LOGGERJNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_LOGGERJNICALLBACK_H_
|
||||
@@ -16,34 +16,34 @@
|
||||
#include "port/port.h"
|
||||
#include "rocksdb/env.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class LoggerJniCallback : public JniCallback, public Logger {
|
||||
public:
|
||||
LoggerJniCallback(JNIEnv* env, jobject jLogger);
|
||||
~LoggerJniCallback();
|
||||
class LoggerJniCallback : public JniCallback, public Logger {
|
||||
public:
|
||||
LoggerJniCallback(JNIEnv* env, jobject jLogger);
|
||||
~LoggerJniCallback();
|
||||
|
||||
using Logger::SetInfoLogLevel;
|
||||
using Logger::GetInfoLogLevel;
|
||||
// Write an entry to the log file with the specified format.
|
||||
virtual void Logv(const char* format, va_list ap);
|
||||
// Write an entry to the log file with the specified log level
|
||||
// and format. Any log with level under the internal log level
|
||||
// of *this (see @SetInfoLogLevel and @GetInfoLogLevel) will not be
|
||||
// printed.
|
||||
virtual void Logv(const InfoLogLevel log_level,
|
||||
const char* format, va_list ap);
|
||||
using Logger::SetInfoLogLevel;
|
||||
using Logger::GetInfoLogLevel;
|
||||
// Write an entry to the log file with the specified format.
|
||||
virtual void Logv(const char* format, va_list ap);
|
||||
// Write an entry to the log file with the specified log level
|
||||
// and format. Any log with level under the internal log level
|
||||
// of *this (see @SetInfoLogLevel and @GetInfoLogLevel) will not be
|
||||
// printed.
|
||||
virtual void Logv(const InfoLogLevel log_level, const char* format,
|
||||
va_list ap);
|
||||
|
||||
private:
|
||||
jmethodID m_jLogMethodId;
|
||||
jobject m_jdebug_level;
|
||||
jobject m_jinfo_level;
|
||||
jobject m_jwarn_level;
|
||||
jobject m_jerror_level;
|
||||
jobject m_jfatal_level;
|
||||
jobject m_jheader_level;
|
||||
std::unique_ptr<char[]> format_str(const char* format, va_list ap) const;
|
||||
private:
|
||||
jmethodID m_jLogMethodId;
|
||||
jobject m_jdebug_level;
|
||||
jobject m_jinfo_level;
|
||||
jobject m_jwarn_level;
|
||||
jobject m_jerror_level;
|
||||
jobject m_jfatal_level;
|
||||
jobject m_jheader_level;
|
||||
std::unique_ptr<char[]> format_str(const char* format, va_list ap) const;
|
||||
};
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_LOGGERJNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::LRUCache.
|
||||
// ROCKSDB_NAMESPACE::LRUCache.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -21,8 +21,8 @@ jlong Java_org_rocksdb_LRUCache_newLRUCache(JNIEnv* /*env*/, jclass /*jcls*/,
|
||||
jint jnum_shard_bits,
|
||||
jboolean jstrict_capacity_limit,
|
||||
jdouble jhigh_pri_pool_ratio) {
|
||||
auto* sptr_lru_cache =
|
||||
new std::shared_ptr<rocksdb::Cache>(rocksdb::NewLRUCache(
|
||||
auto* sptr_lru_cache = new std::shared_ptr<ROCKSDB_NAMESPACE::Cache>(
|
||||
ROCKSDB_NAMESPACE::NewLRUCache(
|
||||
static_cast<size_t>(jcapacity), static_cast<int>(jnum_shard_bits),
|
||||
static_cast<bool>(jstrict_capacity_limit),
|
||||
static_cast<double>(jhigh_pri_pool_ratio)));
|
||||
@@ -38,6 +38,6 @@ void Java_org_rocksdb_LRUCache_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_lru_cache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache>*>(jhandle);
|
||||
delete sptr_lru_cache; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
*/
|
||||
jobject Java_org_rocksdb_MemoryUtil_getApproximateMemoryUsageByType(
|
||||
JNIEnv *env, jclass /*jclazz*/, jlongArray jdb_handles, jlongArray jcache_handles) {
|
||||
|
||||
std::vector<rocksdb::DB*> dbs;
|
||||
std::vector<ROCKSDB_NAMESPACE::DB *> dbs;
|
||||
jsize db_handle_count = env->GetArrayLength(jdb_handles);
|
||||
if(db_handle_count > 0) {
|
||||
jlong *ptr_jdb_handles = env->GetLongArrayElements(jdb_handles, nullptr);
|
||||
@@ -33,12 +32,13 @@ jobject Java_org_rocksdb_MemoryUtil_getApproximateMemoryUsageByType(
|
||||
return nullptr;
|
||||
}
|
||||
for (jsize i = 0; i < db_handle_count; i++) {
|
||||
dbs.push_back(reinterpret_cast<rocksdb::DB *>(ptr_jdb_handles[i]));
|
||||
dbs.push_back(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DB *>(ptr_jdb_handles[i]));
|
||||
}
|
||||
env->ReleaseLongArrayElements(jdb_handles, ptr_jdb_handles, JNI_ABORT);
|
||||
}
|
||||
|
||||
std::unordered_set<const rocksdb::Cache*> cache_set;
|
||||
std::unordered_set<const ROCKSDB_NAMESPACE::Cache *> cache_set;
|
||||
jsize cache_handle_count = env->GetArrayLength(jcache_handles);
|
||||
if(cache_handle_count > 0) {
|
||||
jlong *ptr_jcache_handles = env->GetLongArrayElements(jcache_handles, nullptr);
|
||||
@@ -48,37 +48,43 @@ jobject Java_org_rocksdb_MemoryUtil_getApproximateMemoryUsageByType(
|
||||
}
|
||||
for (jsize i = 0; i < cache_handle_count; i++) {
|
||||
auto *cache_ptr =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache> *>(ptr_jcache_handles[i]);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache> *>(
|
||||
ptr_jcache_handles[i]);
|
||||
cache_set.insert(cache_ptr->get());
|
||||
}
|
||||
env->ReleaseLongArrayElements(jcache_handles, ptr_jcache_handles, JNI_ABORT);
|
||||
}
|
||||
|
||||
std::map<rocksdb::MemoryUtil::UsageType, uint64_t> usage_by_type;
|
||||
if(rocksdb::MemoryUtil::GetApproximateMemoryUsageByType(dbs, cache_set, &usage_by_type) != rocksdb::Status::OK()) {
|
||||
std::map<ROCKSDB_NAMESPACE::MemoryUtil::UsageType, uint64_t> usage_by_type;
|
||||
if (ROCKSDB_NAMESPACE::MemoryUtil::GetApproximateMemoryUsageByType(
|
||||
dbs, cache_set, &usage_by_type) != ROCKSDB_NAMESPACE::Status::OK()) {
|
||||
// Non-OK status
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
jobject jusage_by_type = rocksdb::HashMapJni::construct(
|
||||
jobject jusage_by_type = ROCKSDB_NAMESPACE::HashMapJni::construct(
|
||||
env, static_cast<uint32_t>(usage_by_type.size()));
|
||||
if (jusage_by_type == nullptr) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
const rocksdb::HashMapJni::FnMapKV<const rocksdb::MemoryUtil::UsageType, const uint64_t, jobject, jobject>
|
||||
fn_map_kv =
|
||||
[env](const std::pair<rocksdb::MemoryUtil::UsageType, uint64_t>& pair) {
|
||||
const ROCKSDB_NAMESPACE::HashMapJni::FnMapKV<
|
||||
const ROCKSDB_NAMESPACE::MemoryUtil::UsageType, const uint64_t, jobject,
|
||||
jobject>
|
||||
fn_map_kv = [env](
|
||||
const std::pair<ROCKSDB_NAMESPACE::MemoryUtil::UsageType,
|
||||
uint64_t> &pair) {
|
||||
// Construct key
|
||||
const jobject jusage_type =
|
||||
rocksdb::ByteJni::valueOf(env, rocksdb::MemoryUsageTypeJni::toJavaMemoryUsageType(pair.first));
|
||||
const jobject jusage_type = ROCKSDB_NAMESPACE::ByteJni::valueOf(
|
||||
env, ROCKSDB_NAMESPACE::MemoryUsageTypeJni::toJavaMemoryUsageType(
|
||||
pair.first));
|
||||
if (jusage_type == nullptr) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
// Construct value
|
||||
const jobject jusage_value =
|
||||
rocksdb::LongJni::valueOf(env, pair.second);
|
||||
ROCKSDB_NAMESPACE::LongJni::valueOf(env, pair.second);
|
||||
if (jusage_value == nullptr) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
@@ -89,8 +95,9 @@ jobject Java_org_rocksdb_MemoryUtil_getApproximateMemoryUsageByType(
|
||||
jusage_value));
|
||||
};
|
||||
|
||||
if (!rocksdb::HashMapJni::putAll(env, jusage_by_type, usage_by_type.begin(),
|
||||
usage_by_type.end(), fn_map_kv)) {
|
||||
if (!ROCKSDB_NAMESPACE::HashMapJni::putAll(env, jusage_by_type,
|
||||
usage_by_type.begin(),
|
||||
usage_by_type.end(), fn_map_kv)) {
|
||||
// exception occcurred
|
||||
jusage_by_type = nullptr;
|
||||
}
|
||||
|
||||
@@ -20,13 +20,14 @@
|
||||
jlong Java_org_rocksdb_HashSkipListMemTableConfig_newMemTableFactoryHandle(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jbucket_count, jint jheight,
|
||||
jint jbranching_factor) {
|
||||
rocksdb::Status s = rocksdb::JniUtil::check_if_jlong_fits_size_t(jbucket_count);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::JniUtil::check_if_jlong_fits_size_t(jbucket_count);
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(rocksdb::NewHashSkipListRepFactory(
|
||||
return reinterpret_cast<jlong>(ROCKSDB_NAMESPACE::NewHashSkipListRepFactory(
|
||||
static_cast<size_t>(jbucket_count), static_cast<int32_t>(jheight),
|
||||
static_cast<int32_t>(jbranching_factor)));
|
||||
}
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -39,19 +40,20 @@ jlong Java_org_rocksdb_HashLinkedListMemTableConfig_newMemTableFactoryHandle(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jbucket_count,
|
||||
jlong jhuge_page_tlb_size, jint jbucket_entries_logging_threshold,
|
||||
jboolean jif_log_bucket_dist_when_flash, jint jthreshold_use_skiplist) {
|
||||
rocksdb::Status statusBucketCount =
|
||||
rocksdb::JniUtil::check_if_jlong_fits_size_t(jbucket_count);
|
||||
rocksdb::Status statusHugePageTlb =
|
||||
rocksdb::JniUtil::check_if_jlong_fits_size_t(jhuge_page_tlb_size);
|
||||
ROCKSDB_NAMESPACE::Status statusBucketCount =
|
||||
ROCKSDB_NAMESPACE::JniUtil::check_if_jlong_fits_size_t(jbucket_count);
|
||||
ROCKSDB_NAMESPACE::Status statusHugePageTlb =
|
||||
ROCKSDB_NAMESPACE::JniUtil::check_if_jlong_fits_size_t(
|
||||
jhuge_page_tlb_size);
|
||||
if (statusBucketCount.ok() && statusHugePageTlb.ok()) {
|
||||
return reinterpret_cast<jlong>(rocksdb::NewHashLinkListRepFactory(
|
||||
return reinterpret_cast<jlong>(ROCKSDB_NAMESPACE::NewHashLinkListRepFactory(
|
||||
static_cast<size_t>(jbucket_count),
|
||||
static_cast<size_t>(jhuge_page_tlb_size),
|
||||
static_cast<int32_t>(jbucket_entries_logging_threshold),
|
||||
static_cast<bool>(jif_log_bucket_dist_when_flash),
|
||||
static_cast<int32_t>(jthreshold_use_skiplist)));
|
||||
}
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(
|
||||
env, !statusBucketCount.ok() ? statusBucketCount : statusHugePageTlb);
|
||||
return 0;
|
||||
}
|
||||
@@ -63,12 +65,13 @@ jlong Java_org_rocksdb_HashLinkedListMemTableConfig_newMemTableFactoryHandle(
|
||||
*/
|
||||
jlong Java_org_rocksdb_VectorMemTableConfig_newMemTableFactoryHandle(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jreserved_size) {
|
||||
rocksdb::Status s = rocksdb::JniUtil::check_if_jlong_fits_size_t(jreserved_size);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::JniUtil::check_if_jlong_fits_size_t(jreserved_size);
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(
|
||||
new rocksdb::VectorRepFactory(static_cast<size_t>(jreserved_size)));
|
||||
return reinterpret_cast<jlong>(new ROCKSDB_NAMESPACE::VectorRepFactory(
|
||||
static_cast<size_t>(jreserved_size)));
|
||||
}
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -79,11 +82,12 @@ jlong Java_org_rocksdb_VectorMemTableConfig_newMemTableFactoryHandle(
|
||||
*/
|
||||
jlong Java_org_rocksdb_SkipListMemTableConfig_newMemTableFactoryHandle0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jlookahead) {
|
||||
rocksdb::Status s = rocksdb::JniUtil::check_if_jlong_fits_size_t(jlookahead);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::JniUtil::check_if_jlong_fits_size_t(jlookahead);
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(
|
||||
new rocksdb::SkipListFactory(static_cast<size_t>(jlookahead)));
|
||||
return reinterpret_cast<jlong>(new ROCKSDB_NAMESPACE::SkipListFactory(
|
||||
static_cast<size_t>(jlookahead)));
|
||||
}
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::MergeOperator.
|
||||
// for ROCKSDB_NAMESPACE::MergeOperator.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -32,8 +32,10 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_StringAppendOperator_newSharedStringAppendOperator(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/, jchar jdelim) {
|
||||
auto* sptr_string_append_op = new std::shared_ptr<rocksdb::MergeOperator>(
|
||||
rocksdb::MergeOperators::CreateStringAppendOperator((char)jdelim));
|
||||
auto* sptr_string_append_op =
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>(
|
||||
ROCKSDB_NAMESPACE::MergeOperators::CreateStringAppendOperator(
|
||||
(char)jdelim));
|
||||
return reinterpret_cast<jlong>(sptr_string_append_op);
|
||||
}
|
||||
|
||||
@@ -46,7 +48,8 @@ void Java_org_rocksdb_StringAppendOperator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_string_append_op =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::MergeOperator>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>*>(
|
||||
jhandle);
|
||||
delete sptr_string_append_op; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -57,8 +60,9 @@ void Java_org_rocksdb_StringAppendOperator_disposeInternal(JNIEnv* /*env*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_UInt64AddOperator_newSharedUInt64AddOperator(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/) {
|
||||
auto* sptr_uint64_add_op = new std::shared_ptr<rocksdb::MergeOperator>(
|
||||
rocksdb::MergeOperators::CreateUInt64AddOperator());
|
||||
auto* sptr_uint64_add_op =
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>(
|
||||
ROCKSDB_NAMESPACE::MergeOperators::CreateUInt64AddOperator());
|
||||
return reinterpret_cast<jlong>(sptr_uint64_add_op);
|
||||
}
|
||||
|
||||
@@ -71,6 +75,7 @@ void Java_org_rocksdb_UInt64AddOperator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_uint64_add_op =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::MergeOperator>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::MergeOperator>*>(
|
||||
jhandle);
|
||||
delete sptr_uint64_add_op; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#include "include/org_rocksdb_NativeComparatorWrapperTest_NativeStringComparatorWrapper.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class NativeComparatorWrapperTestStringComparator : public Comparator {
|
||||
const char* Name() const {
|
||||
@@ -29,7 +29,7 @@ class NativeComparatorWrapperTestStringComparator : public Comparator {
|
||||
|
||||
void FindShortSuccessor(std::string* /*key*/) const { return; }
|
||||
};
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
/*
|
||||
* Class: org_rocksdb_NativeComparatorWrapperTest_NativeStringComparatorWrapper
|
||||
@@ -38,6 +38,7 @@ class NativeComparatorWrapperTestStringComparator : public Comparator {
|
||||
*/
|
||||
jlong Java_org_rocksdb_NativeComparatorWrapperTest_00024NativeStringComparatorWrapper_newStringComparator(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/) {
|
||||
auto* comparator = new rocksdb::NativeComparatorWrapperTestStringComparator();
|
||||
auto* comparator =
|
||||
new ROCKSDB_NAMESPACE::NativeComparatorWrapperTestStringComparator();
|
||||
return reinterpret_cast<jlong>(comparator);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::TransactionDB.
|
||||
// for ROCKSDB_NAMESPACE::TransactionDB.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -29,16 +29,18 @@ jlong Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2(
|
||||
return 0;
|
||||
}
|
||||
|
||||
auto* options = reinterpret_cast<rocksdb::Options*>(joptions_handle);
|
||||
rocksdb::OptimisticTransactionDB* otdb = nullptr;
|
||||
rocksdb::Status s =
|
||||
rocksdb::OptimisticTransactionDB::Open(*options, db_path, &otdb);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Options*>(joptions_handle);
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionDB* otdb = nullptr;
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionDB::Open(*options, db_path,
|
||||
&otdb);
|
||||
env->ReleaseStringUTFChars(jdb_path, db_path);
|
||||
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(otdb);
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -58,7 +60,7 @@ Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2_3_3B_3J(
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor> column_families;
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor> column_families;
|
||||
const jsize len_cols = env->GetArrayLength(jcolumn_names);
|
||||
if (len_cols > 0) {
|
||||
if (env->EnsureLocalCapacity(len_cols) != 0) {
|
||||
@@ -104,10 +106,10 @@ Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2_3_3B_3J(
|
||||
|
||||
const std::string cf_name(reinterpret_cast<char*>(jcf_name),
|
||||
jcf_name_len);
|
||||
const rocksdb::ColumnFamilyOptions* cf_options =
|
||||
reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jco[i]);
|
||||
const ROCKSDB_NAMESPACE::ColumnFamilyOptions* cf_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyOptions*>(jco[i]);
|
||||
column_families.push_back(
|
||||
rocksdb::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
|
||||
env->ReleaseByteArrayElements(jcn_ba, jcf_name, JNI_ABORT);
|
||||
env->DeleteLocalRef(jcn);
|
||||
@@ -115,11 +117,13 @@ Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2_3_3B_3J(
|
||||
env->ReleaseLongArrayElements(jcolumn_options_handles, jco, JNI_ABORT);
|
||||
}
|
||||
|
||||
auto* db_options = reinterpret_cast<rocksdb::DBOptions*>(jdb_options_handle);
|
||||
std::vector<rocksdb::ColumnFamilyHandle*> handles;
|
||||
rocksdb::OptimisticTransactionDB* otdb = nullptr;
|
||||
const rocksdb::Status s = rocksdb::OptimisticTransactionDB::Open(
|
||||
*db_options, db_path, column_families, &handles, &otdb);
|
||||
auto* db_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdb_options_handle);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*> handles;
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionDB* otdb = nullptr;
|
||||
const ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionDB::Open(
|
||||
*db_options, db_path, column_families, &handles, &otdb);
|
||||
|
||||
env->ReleaseStringUTFChars(jdb_path, db_path);
|
||||
|
||||
@@ -146,7 +150,7 @@ Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2_3_3B_3J(
|
||||
return jresults;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -158,7 +162,7 @@ Java_org_rocksdb_OptimisticTransactionDB_open__JLjava_lang_String_2_3_3B_3J(
|
||||
void Java_org_rocksdb_OptimisticTransactionDB_disposeInternal(
|
||||
JNIEnv *, jobject, jlong jhandle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
assert(optimistic_txn_db != nullptr);
|
||||
delete optimistic_txn_db;
|
||||
}
|
||||
@@ -171,10 +175,10 @@ void Java_org_rocksdb_OptimisticTransactionDB_disposeInternal(
|
||||
void Java_org_rocksdb_OptimisticTransactionDB_closeDatabase(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
assert(optimistic_txn_db != nullptr);
|
||||
rocksdb::Status s = optimistic_txn_db->Close();
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::Status s = optimistic_txn_db->Close();
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -185,10 +189,10 @@ void Java_org_rocksdb_OptimisticTransactionDB_closeDatabase(
|
||||
jlong Java_org_rocksdb_OptimisticTransactionDB_beginTransaction__JJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
rocksdb::Transaction* txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn =
|
||||
optimistic_txn_db->BeginTransaction(*write_options);
|
||||
return reinterpret_cast<jlong>(txn);
|
||||
}
|
||||
@@ -202,13 +206,13 @@ jlong Java_org_rocksdb_OptimisticTransactionDB_beginTransaction__JJJ(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jwrite_options_handle, jlong joptimistic_txn_options_handle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* optimistic_txn_options =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
joptimistic_txn_options_handle);
|
||||
rocksdb::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
ROCKSDB_NAMESPACE::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
*write_options, *optimistic_txn_options);
|
||||
return reinterpret_cast<jlong>(txn);
|
||||
}
|
||||
@@ -222,12 +226,13 @@ jlong Java_org_rocksdb_OptimisticTransactionDB_beginTransaction_1withOld__JJJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle,
|
||||
jlong jold_txn_handle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
auto* old_txn = reinterpret_cast<rocksdb::Transaction*>(jold_txn_handle);
|
||||
rocksdb::OptimisticTransactionOptions optimistic_txn_options;
|
||||
rocksdb::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* old_txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jold_txn_handle);
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionOptions optimistic_txn_options;
|
||||
ROCKSDB_NAMESPACE::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
*write_options, optimistic_txn_options, old_txn);
|
||||
|
||||
// RocksJava relies on the assumption that
|
||||
@@ -247,14 +252,15 @@ jlong Java_org_rocksdb_OptimisticTransactionDB_beginTransaction_1withOld__JJJJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle,
|
||||
jlong joptimistic_txn_options_handle, jlong jold_txn_handle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* optimistic_txn_options =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
joptimistic_txn_options_handle);
|
||||
auto* old_txn = reinterpret_cast<rocksdb::Transaction*>(jold_txn_handle);
|
||||
rocksdb::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
auto* old_txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jold_txn_handle);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn = optimistic_txn_db->BeginTransaction(
|
||||
*write_options, *optimistic_txn_options, old_txn);
|
||||
|
||||
// RocksJava relies on the assumption that
|
||||
@@ -273,6 +279,6 @@ jlong Java_org_rocksdb_OptimisticTransactionDB_beginTransaction_1withOld__JJJJ(
|
||||
jlong Java_org_rocksdb_OptimisticTransactionDB_getBaseDB(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* optimistic_txn_db =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionDB*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionDB*>(jhandle);
|
||||
return reinterpret_cast<jlong>(optimistic_txn_db->GetBaseDB());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::OptimisticTransactionOptions.
|
||||
// for ROCKSDB_NAMESPACE::OptimisticTransactionOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOptions(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/) {
|
||||
rocksdb::OptimisticTransactionOptions* opts =
|
||||
new rocksdb::OptimisticTransactionOptions();
|
||||
ROCKSDB_NAMESPACE::OptimisticTransactionOptions* opts =
|
||||
new ROCKSDB_NAMESPACE::OptimisticTransactionOptions();
|
||||
return reinterpret_cast<jlong>(opts);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,8 @@ jlong Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOpti
|
||||
jboolean Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* opts =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
jhandle);
|
||||
return opts->set_snapshot;
|
||||
}
|
||||
|
||||
@@ -45,7 +46,8 @@ jboolean Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(
|
||||
void Java_org_rocksdb_OptimisticTransactionOptions_setSetSnapshot(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean jset_snapshot) {
|
||||
auto* opts =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
jhandle);
|
||||
opts->set_snapshot = jset_snapshot;
|
||||
}
|
||||
|
||||
@@ -58,8 +60,10 @@ void Java_org_rocksdb_OptimisticTransactionOptions_setComparator(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jcomparator_handle) {
|
||||
auto* opts =
|
||||
reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
|
||||
opts->cmp = reinterpret_cast<rocksdb::Comparator*>(jcomparator_handle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
jhandle);
|
||||
opts->cmp =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Comparator*>(jcomparator_handle);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -69,5 +73,6 @@ void Java_org_rocksdb_OptimisticTransactionOptions_setComparator(
|
||||
*/
|
||||
void Java_org_rocksdb_OptimisticTransactionOptions_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
|
||||
jhandle);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::OptionsUtil methods from Java side.
|
||||
// calling C++ ROCKSDB_NAMESPACE::OptionsUtil methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <string>
|
||||
@@ -18,17 +18,18 @@
|
||||
|
||||
void build_column_family_descriptor_list(
|
||||
JNIEnv* env, jobject jcfds,
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor>& cf_descs) {
|
||||
jmethodID add_mid = rocksdb::ListJni::getListAddMethodId(env);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor>& cf_descs) {
|
||||
jmethodID add_mid = ROCKSDB_NAMESPACE::ListJni::getListAddMethodId(env);
|
||||
if (add_mid == nullptr) {
|
||||
// exception occurred accessing method
|
||||
return;
|
||||
}
|
||||
|
||||
// Column family descriptor
|
||||
for (rocksdb::ColumnFamilyDescriptor& cfd : cf_descs) {
|
||||
for (ROCKSDB_NAMESPACE::ColumnFamilyDescriptor& cfd : cf_descs) {
|
||||
// Construct a ColumnFamilyDescriptor java object
|
||||
jobject jcfd = rocksdb::ColumnFamilyDescriptorJni::construct(env, &cfd);
|
||||
jobject jcfd =
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyDescriptorJni::construct(env, &cfd);
|
||||
if (env->ExceptionCheck()) {
|
||||
// exception occurred constructing object
|
||||
if (jcfd != nullptr) {
|
||||
@@ -58,19 +59,20 @@ void Java_org_rocksdb_OptionsUtil_loadLatestOptions(
|
||||
JNIEnv* env, jclass /*jcls*/, jstring jdbpath, jlong jenv_handle,
|
||||
jlong jdb_opts_handle, jobject jcfds, jboolean ignore_unknown_options) {
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
auto db_path = rocksdb::JniUtil::copyStdString(env, jdbpath, &has_exception);
|
||||
auto db_path =
|
||||
ROCKSDB_NAMESPACE::JniUtil::copyStdString(env, jdbpath, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
// exception occurred
|
||||
return;
|
||||
}
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor> cf_descs;
|
||||
rocksdb::Status s = rocksdb::LoadLatestOptions(
|
||||
db_path, reinterpret_cast<rocksdb::Env*>(jenv_handle),
|
||||
reinterpret_cast<rocksdb::DBOptions*>(jdb_opts_handle), &cf_descs,
|
||||
ignore_unknown_options);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor> cf_descs;
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::LoadLatestOptions(
|
||||
db_path, reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jenv_handle),
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdb_opts_handle),
|
||||
&cf_descs, ignore_unknown_options);
|
||||
if (!s.ok()) {
|
||||
// error, raise an exception
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
} else {
|
||||
build_column_family_descriptor_list(env, jcfds, cf_descs);
|
||||
}
|
||||
@@ -85,19 +87,20 @@ void Java_org_rocksdb_OptionsUtil_loadOptionsFromFile(
|
||||
JNIEnv* env, jclass /*jcls*/, jstring jopts_file_name, jlong jenv_handle,
|
||||
jlong jdb_opts_handle, jobject jcfds, jboolean ignore_unknown_options) {
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
auto opts_file_name = rocksdb::JniUtil::copyStdString(env, jopts_file_name, &has_exception);
|
||||
auto opts_file_name = ROCKSDB_NAMESPACE::JniUtil::copyStdString(
|
||||
env, jopts_file_name, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
// exception occurred
|
||||
return;
|
||||
}
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor> cf_descs;
|
||||
rocksdb::Status s = rocksdb::LoadOptionsFromFile(
|
||||
opts_file_name, reinterpret_cast<rocksdb::Env*>(jenv_handle),
|
||||
reinterpret_cast<rocksdb::DBOptions*>(jdb_opts_handle), &cf_descs,
|
||||
ignore_unknown_options);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor> cf_descs;
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::LoadOptionsFromFile(
|
||||
opts_file_name, reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jenv_handle),
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdb_opts_handle),
|
||||
&cf_descs, ignore_unknown_options);
|
||||
if (!s.ok()) {
|
||||
// error, raise an exception
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
} else {
|
||||
build_column_family_descriptor_list(env, jcfds, cf_descs);
|
||||
}
|
||||
@@ -111,18 +114,19 @@ void Java_org_rocksdb_OptionsUtil_loadOptionsFromFile(
|
||||
jstring Java_org_rocksdb_OptionsUtil_getLatestOptionsFileName(
|
||||
JNIEnv* env, jclass /*jcls*/, jstring jdbpath, jlong jenv_handle) {
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
auto db_path = rocksdb::JniUtil::copyStdString(env, jdbpath, &has_exception);
|
||||
auto db_path =
|
||||
ROCKSDB_NAMESPACE::JniUtil::copyStdString(env, jdbpath, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
std::string options_file_name;
|
||||
rocksdb::Status s = rocksdb::GetLatestOptionsFileName(
|
||||
db_path, reinterpret_cast<rocksdb::Env*>(jenv_handle),
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::GetLatestOptionsFileName(
|
||||
db_path, reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jenv_handle),
|
||||
&options_file_name);
|
||||
if (!s.ok()) {
|
||||
// error, raise an exception
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return nullptr;
|
||||
} else {
|
||||
return env->NewStringUTF(options_file_name.c_str());
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::PersistentCache.
|
||||
// ROCKSDB_NAMESPACE::PersistentCache.
|
||||
|
||||
#include <jni.h>
|
||||
#include <string>
|
||||
@@ -22,20 +22,23 @@
|
||||
jlong Java_org_rocksdb_PersistentCache_newPersistentCache(
|
||||
JNIEnv* env, jclass, jlong jenv_handle, jstring jpath,
|
||||
jlong jsz, jlong jlogger_handle, jboolean joptimized_for_nvm) {
|
||||
auto* rocks_env = reinterpret_cast<rocksdb::Env*>(jenv_handle);
|
||||
auto* rocks_env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jenv_handle);
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
std::string path = rocksdb::JniUtil::copyStdString(env, jpath, &has_exception);
|
||||
std::string path =
|
||||
ROCKSDB_NAMESPACE::JniUtil::copyStdString(env, jpath, &has_exception);
|
||||
if (has_exception == JNI_TRUE) {
|
||||
return 0;
|
||||
}
|
||||
auto* logger =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::LoggerJniCallback>*>(jlogger_handle);
|
||||
auto* cache = new std::shared_ptr<rocksdb::PersistentCache>(nullptr);
|
||||
rocksdb::Status s = rocksdb::NewPersistentCache(
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::LoggerJniCallback>*>(
|
||||
jlogger_handle);
|
||||
auto* cache =
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::PersistentCache>(nullptr);
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::NewPersistentCache(
|
||||
rocks_env, path, static_cast<uint64_t>(jsz), *logger,
|
||||
static_cast<bool>(joptimized_for_nvm), cache);
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
return reinterpret_cast<jlong>(cache);
|
||||
}
|
||||
@@ -48,6 +51,7 @@ jlong Java_org_rocksdb_PersistentCache_newPersistentCache(
|
||||
void Java_org_rocksdb_PersistentCache_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* cache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::PersistentCache>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::PersistentCache>*>(
|
||||
jhandle);
|
||||
delete cache; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,9 +19,10 @@ jlong Java_org_rocksdb_RateLimiter_newRateLimiterHandle(
|
||||
jlong jrefill_period_micros, jint jfairness, jbyte jrate_limiter_mode,
|
||||
jboolean jauto_tune) {
|
||||
auto rate_limiter_mode =
|
||||
rocksdb::RateLimiterModeJni::toCppRateLimiterMode(jrate_limiter_mode);
|
||||
auto* sptr_rate_limiter =
|
||||
new std::shared_ptr<rocksdb::RateLimiter>(rocksdb::NewGenericRateLimiter(
|
||||
ROCKSDB_NAMESPACE::RateLimiterModeJni::toCppRateLimiterMode(
|
||||
jrate_limiter_mode);
|
||||
auto* sptr_rate_limiter = new std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>(
|
||||
ROCKSDB_NAMESPACE::NewGenericRateLimiter(
|
||||
static_cast<int64_t>(jrate_bytes_per_second),
|
||||
static_cast<int64_t>(jrefill_period_micros),
|
||||
static_cast<int32_t>(jfairness), rate_limiter_mode, jauto_tune));
|
||||
@@ -38,7 +39,8 @@ void Java_org_rocksdb_RateLimiter_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* handle =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
jhandle);
|
||||
delete handle; // delete std::shared_ptr
|
||||
}
|
||||
|
||||
@@ -51,7 +53,7 @@ void Java_org_rocksdb_RateLimiter_setBytesPerSecond(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle,
|
||||
jlong jbytes_per_second) {
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(handle)
|
||||
->get()
|
||||
->SetBytesPerSecond(jbytes_per_second);
|
||||
}
|
||||
@@ -64,7 +66,8 @@ void Java_org_rocksdb_RateLimiter_setBytesPerSecond(JNIEnv* /*env*/,
|
||||
jlong Java_org_rocksdb_RateLimiter_getBytesPerSecond(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
return reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
handle)
|
||||
->get()
|
||||
->GetBytesPerSecond();
|
||||
}
|
||||
@@ -76,9 +79,9 @@ jlong Java_org_rocksdb_RateLimiter_getBytesPerSecond(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_RateLimiter_request(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jlong jbytes) {
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(handle)
|
||||
->get()
|
||||
->Request(jbytes, rocksdb::Env::IO_TOTAL);
|
||||
->Request(jbytes, ROCKSDB_NAMESPACE::Env::IO_TOTAL);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -89,7 +92,8 @@ void Java_org_rocksdb_RateLimiter_request(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong Java_org_rocksdb_RateLimiter_getSingleBurstBytes(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
return reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
handle)
|
||||
->get()
|
||||
->GetSingleBurstBytes();
|
||||
}
|
||||
@@ -102,7 +106,8 @@ jlong Java_org_rocksdb_RateLimiter_getSingleBurstBytes(JNIEnv* /*env*/,
|
||||
jlong Java_org_rocksdb_RateLimiter_getTotalBytesThrough(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
return reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
handle)
|
||||
->get()
|
||||
->GetTotalBytesThrough();
|
||||
}
|
||||
@@ -115,7 +120,8 @@ jlong Java_org_rocksdb_RateLimiter_getTotalBytesThrough(JNIEnv* /*env*/,
|
||||
jlong Java_org_rocksdb_RateLimiter_getTotalRequests(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<std::shared_ptr<rocksdb::RateLimiter>*>(handle)
|
||||
return reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::RateLimiter>*>(
|
||||
handle)
|
||||
->get()
|
||||
->GetTotalRequests();
|
||||
}
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_RemoveEmptyValueCompactionFilter_createNewRemoveEmptyValueCompactionFilter0(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/) {
|
||||
auto* compaction_filter = new rocksdb::RemoveEmptyValueCompactionFilter();
|
||||
auto* compaction_filter =
|
||||
new ROCKSDB_NAMESPACE::RemoveEmptyValueCompactionFilter();
|
||||
|
||||
// set the native handle to our native compaction filter
|
||||
return reinterpret_cast<jlong>(compaction_filter);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::RestoreOptions methods
|
||||
// calling C++ ROCKSDB_NAMESPACE::RestoreOptions methods
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_RestoreOptions_newRestoreOptions(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jboolean keep_log_files) {
|
||||
auto* ropt = new rocksdb::RestoreOptions(keep_log_files);
|
||||
auto* ropt = new ROCKSDB_NAMESPACE::RestoreOptions(keep_log_files);
|
||||
return reinterpret_cast<jlong>(ropt);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ jlong Java_org_rocksdb_RestoreOptions_newRestoreOptions(
|
||||
void Java_org_rocksdb_RestoreOptions_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* ropt = reinterpret_cast<rocksdb::RestoreOptions*>(jhandle);
|
||||
auto* ropt = reinterpret_cast<ROCKSDB_NAMESPACE::RestoreOptions*>(jhandle);
|
||||
assert(ropt);
|
||||
delete ropt;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,6 @@ void Java_org_rocksdb_RocksCallbackObject_disposeInternal(JNIEnv* /*env*/,
|
||||
// JniCallback -> ComparatorJniCallback
|
||||
// I think this is okay, as Comparator and JniCallback both have virtual
|
||||
// destructors...
|
||||
delete reinterpret_cast<rocksdb::JniCallback*>(handle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::JniCallback*>(handle);
|
||||
// @lint-ignore TXT4 T25377293 Grandfathered in
|
||||
}
|
||||
@@ -18,7 +18,8 @@
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseException(JNIEnv* env,
|
||||
jobject /*jobj*/) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, std::string("test message"));
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env,
|
||||
std::string("test message"));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -28,8 +29,8 @@ void Java_org_rocksdb_RocksDBExceptionTest_raiseException(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCode(
|
||||
JNIEnv* env, jobject /*jobj*/) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, "test message",
|
||||
rocksdb::Status::NotSupported());
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "test message", ROCKSDB_NAMESPACE::Status::NotSupported());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -39,7 +40,8 @@ void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCode(
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCode(
|
||||
JNIEnv* env, jobject /*jobj*/) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, rocksdb::Status::NotSupported());
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, ROCKSDB_NAMESPACE::Status::NotSupported());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -49,9 +51,10 @@ void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCode(
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeSubCode(
|
||||
JNIEnv* env, jobject /*jobj*/) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "test message",
|
||||
rocksdb::Status::TimedOut(rocksdb::Status::SubCode::kLockTimeout));
|
||||
ROCKSDB_NAMESPACE::Status::TimedOut(
|
||||
ROCKSDB_NAMESPACE::Status::SubCode::kLockTimeout));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -61,8 +64,9 @@ void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeSubCode(
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCodeSubCode(
|
||||
JNIEnv* env, jobject /*jobj*/) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(
|
||||
env, rocksdb::Status::TimedOut(rocksdb::Status::SubCode::kLockTimeout));
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, ROCKSDB_NAMESPACE::Status::TimedOut(
|
||||
ROCKSDB_NAMESPACE::Status::SubCode::kLockTimeout));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -72,7 +76,7 @@ void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCodeSubC
|
||||
*/
|
||||
void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeState(
|
||||
JNIEnv* env, jobject /*jobj*/) {
|
||||
rocksdb::Slice state("test state");
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, "test message",
|
||||
rocksdb::Status::NotSupported(state));
|
||||
ROCKSDB_NAMESPACE::Slice state("test state");
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
|
||||
env, "test message", ROCKSDB_NAMESPACE::Status::NotSupported(state));
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::Slice.
|
||||
// ROCKSDB_NAMESPACE::Slice.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -43,7 +43,7 @@ jlong Java_org_rocksdb_AbstractSlice_createNewSliceFromString(JNIEnv* env,
|
||||
buf[len] = 0;
|
||||
env->ReleaseStringUTFChars(jstr, str);
|
||||
|
||||
const auto* slice = new rocksdb::Slice(buf);
|
||||
const auto* slice = new ROCKSDB_NAMESPACE::Slice(buf);
|
||||
return reinterpret_cast<jlong>(slice);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ jlong Java_org_rocksdb_AbstractSlice_createNewSliceFromString(JNIEnv* env,
|
||||
*/
|
||||
jint Java_org_rocksdb_AbstractSlice_size0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
return static_cast<jint>(slice->size());
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ jint Java_org_rocksdb_AbstractSlice_size0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
jboolean Java_org_rocksdb_AbstractSlice_empty0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/, jlong handle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
return slice->empty();
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ jboolean Java_org_rocksdb_AbstractSlice_empty0(JNIEnv* /*env*/,
|
||||
*/
|
||||
jstring Java_org_rocksdb_AbstractSlice_toString0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle, jboolean hex) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const std::string s = slice->ToString(hex);
|
||||
return env->NewStringUTF(s.c_str());
|
||||
}
|
||||
@@ -88,8 +88,9 @@ jstring Java_org_rocksdb_AbstractSlice_toString0(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jint Java_org_rocksdb_AbstractSlice_compare0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jlong otherHandle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* otherSlice = reinterpret_cast<rocksdb::Slice*>(otherHandle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const auto* otherSlice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(otherHandle);
|
||||
return slice->compare(*otherSlice);
|
||||
}
|
||||
|
||||
@@ -102,8 +103,9 @@ jboolean Java_org_rocksdb_AbstractSlice_startsWith0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle,
|
||||
jlong otherHandle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* otherSlice = reinterpret_cast<rocksdb::Slice*>(otherHandle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const auto* otherSlice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(otherHandle);
|
||||
return slice->starts_with(*otherSlice);
|
||||
}
|
||||
|
||||
@@ -115,7 +117,7 @@ jboolean Java_org_rocksdb_AbstractSlice_startsWith0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_AbstractSlice_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
delete reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
}
|
||||
|
||||
// </editor-fold>
|
||||
@@ -141,7 +143,7 @@ jlong Java_org_rocksdb_Slice_createNewSlice0(JNIEnv* env, jclass /*jcls*/,
|
||||
return 0;
|
||||
}
|
||||
|
||||
const auto* slice = new rocksdb::Slice((const char*)buf, len);
|
||||
const auto* slice = new ROCKSDB_NAMESPACE::Slice((const char*)buf, len);
|
||||
return reinterpret_cast<jlong>(slice);
|
||||
}
|
||||
|
||||
@@ -165,7 +167,7 @@ jlong Java_org_rocksdb_Slice_createNewSlice1(JNIEnv* env, jclass /*jcls*/,
|
||||
memcpy(buf, ptrData, len - 1);
|
||||
buf[len - 1] = '\0';
|
||||
|
||||
const auto* slice = new rocksdb::Slice(buf, len - 1);
|
||||
const auto* slice = new ROCKSDB_NAMESPACE::Slice(buf, len - 1);
|
||||
|
||||
env->ReleaseByteArrayElements(data, ptrData, JNI_ABORT);
|
||||
|
||||
@@ -179,7 +181,7 @@ jlong Java_org_rocksdb_Slice_createNewSlice1(JNIEnv* env, jclass /*jcls*/,
|
||||
*/
|
||||
jbyteArray Java_org_rocksdb_Slice_data0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const jsize len = static_cast<jsize>(slice->size());
|
||||
const jbyteArray data = env->NewByteArray(len);
|
||||
if (data == nullptr) {
|
||||
@@ -207,7 +209,7 @@ jbyteArray Java_org_rocksdb_Slice_data0(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_Slice_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jboolean shouldRelease,
|
||||
jlong internalBufferOffset) {
|
||||
auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
if (shouldRelease == JNI_TRUE) {
|
||||
const char* buf = slice->data_ - internalBufferOffset;
|
||||
delete[] buf;
|
||||
@@ -222,7 +224,7 @@ void Java_org_rocksdb_Slice_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_Slice_removePrefix0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jint length) {
|
||||
auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
slice->remove_prefix(length);
|
||||
}
|
||||
|
||||
@@ -234,7 +236,7 @@ void Java_org_rocksdb_Slice_removePrefix0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_Slice_disposeInternalBuf(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/, jlong handle,
|
||||
jlong internalBufferOffset) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const char* buf = slice->data_ - internalBufferOffset;
|
||||
delete[] buf;
|
||||
}
|
||||
@@ -257,13 +259,14 @@ jlong Java_org_rocksdb_DirectSlice_createNewDirectSlice0(JNIEnv* env,
|
||||
if (data_addr == nullptr) {
|
||||
// error: memory region is undefined, given object is not a direct
|
||||
// java.nio.Buffer, or JNI access to direct buffers is not supported by JVM
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(
|
||||
env, rocksdb::Status::InvalidArgument("Could not access DirectBuffer"));
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(
|
||||
env, ROCKSDB_NAMESPACE::Status::InvalidArgument(
|
||||
"Could not access DirectBuffer"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
const auto* ptrData = reinterpret_cast<char*>(data_addr);
|
||||
const auto* slice = new rocksdb::Slice(ptrData, length);
|
||||
const auto* slice = new ROCKSDB_NAMESPACE::Slice(ptrData, length);
|
||||
return reinterpret_cast<jlong>(slice);
|
||||
}
|
||||
|
||||
@@ -279,13 +282,14 @@ jlong Java_org_rocksdb_DirectSlice_createNewDirectSlice1(JNIEnv* env,
|
||||
if (data_addr == nullptr) {
|
||||
// error: memory region is undefined, given object is not a direct
|
||||
// java.nio.Buffer, or JNI access to direct buffers is not supported by JVM
|
||||
rocksdb::IllegalArgumentExceptionJni::ThrowNew(
|
||||
env, rocksdb::Status::InvalidArgument("Could not access DirectBuffer"));
|
||||
ROCKSDB_NAMESPACE::IllegalArgumentExceptionJni::ThrowNew(
|
||||
env, ROCKSDB_NAMESPACE::Status::InvalidArgument(
|
||||
"Could not access DirectBuffer"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
const auto* ptrData = reinterpret_cast<char*>(data_addr);
|
||||
const auto* slice = new rocksdb::Slice(ptrData);
|
||||
const auto* slice = new ROCKSDB_NAMESPACE::Slice(ptrData);
|
||||
return reinterpret_cast<jlong>(slice);
|
||||
}
|
||||
|
||||
@@ -296,7 +300,7 @@ jlong Java_org_rocksdb_DirectSlice_createNewDirectSlice1(JNIEnv* env,
|
||||
*/
|
||||
jobject Java_org_rocksdb_DirectSlice_data0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
return env->NewDirectByteBuffer(const_cast<char*>(slice->data()),
|
||||
slice->size());
|
||||
}
|
||||
@@ -308,7 +312,7 @@ jobject Java_org_rocksdb_DirectSlice_data0(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jbyte Java_org_rocksdb_DirectSlice_get0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jint offset) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
return (*slice)[offset];
|
||||
}
|
||||
|
||||
@@ -320,7 +324,7 @@ jbyte Java_org_rocksdb_DirectSlice_get0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_DirectSlice_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle, jboolean shouldRelease,
|
||||
jlong internalBufferOffset) {
|
||||
auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
if (shouldRelease == JNI_TRUE) {
|
||||
const char* buf = slice->data_ - internalBufferOffset;
|
||||
delete[] buf;
|
||||
@@ -336,7 +340,7 @@ void Java_org_rocksdb_DirectSlice_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_DirectSlice_removePrefix0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/, jlong handle,
|
||||
jint length) {
|
||||
auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
slice->remove_prefix(length);
|
||||
}
|
||||
|
||||
@@ -348,7 +352,7 @@ void Java_org_rocksdb_DirectSlice_removePrefix0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_DirectSlice_disposeInternalBuf(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong handle,
|
||||
jlong internalBufferOffset) {
|
||||
const auto* slice = reinterpret_cast<rocksdb::Slice*>(handle);
|
||||
const auto* slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(handle);
|
||||
const char* buf = slice->data_ - internalBufferOffset;
|
||||
delete[] buf;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
jlong Java_org_rocksdb_Snapshot_getSequenceNumber(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jsnapshot_handle) {
|
||||
auto* snapshot = reinterpret_cast<rocksdb::Snapshot*>(jsnapshot_handle);
|
||||
auto* snapshot =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Snapshot*>(jsnapshot_handle);
|
||||
return snapshot->GetSequenceNumber();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::SstFileManager methods
|
||||
// calling C++ ROCKSDB_NAMESPACE::SstFileManager methods
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -23,30 +23,31 @@ jlong Java_org_rocksdb_SstFileManager_newSstFileManager(
|
||||
JNIEnv* jnienv, jclass /*jcls*/, jlong jenv_handle, jlong jlogger_handle,
|
||||
jlong jrate_bytes, jdouble jmax_trash_db_ratio,
|
||||
jlong jmax_delete_chunk_bytes) {
|
||||
auto* env = reinterpret_cast<rocksdb::Env*>(jenv_handle);
|
||||
rocksdb::Status s;
|
||||
rocksdb::SstFileManager* sst_file_manager = nullptr;
|
||||
auto* env = reinterpret_cast<ROCKSDB_NAMESPACE::Env*>(jenv_handle);
|
||||
ROCKSDB_NAMESPACE::Status s;
|
||||
ROCKSDB_NAMESPACE::SstFileManager* sst_file_manager = nullptr;
|
||||
|
||||
if (jlogger_handle != 0) {
|
||||
auto* sptr_logger =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Logger>*>(jlogger_handle);
|
||||
sst_file_manager = rocksdb::NewSstFileManager(
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Logger>*>(
|
||||
jlogger_handle);
|
||||
sst_file_manager = ROCKSDB_NAMESPACE::NewSstFileManager(
|
||||
env, *sptr_logger, "", jrate_bytes, true, &s, jmax_trash_db_ratio,
|
||||
jmax_delete_chunk_bytes);
|
||||
} else {
|
||||
sst_file_manager = rocksdb::NewSstFileManager(env, nullptr, "", jrate_bytes,
|
||||
true, &s, jmax_trash_db_ratio,
|
||||
jmax_delete_chunk_bytes);
|
||||
sst_file_manager = ROCKSDB_NAMESPACE::NewSstFileManager(
|
||||
env, nullptr, "", jrate_bytes, true, &s, jmax_trash_db_ratio,
|
||||
jmax_delete_chunk_bytes);
|
||||
}
|
||||
|
||||
if (!s.ok()) {
|
||||
if (sst_file_manager != nullptr) {
|
||||
delete sst_file_manager;
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(jnienv, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(jnienv, s);
|
||||
}
|
||||
auto* sptr_sst_file_manager =
|
||||
new std::shared_ptr<rocksdb::SstFileManager>(sst_file_manager);
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>(sst_file_manager);
|
||||
|
||||
return reinterpret_cast<jlong>(sptr_sst_file_manager);
|
||||
}
|
||||
@@ -60,7 +61,8 @@ void Java_org_rocksdb_SstFileManager_setMaxAllowedSpaceUsage(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jmax_allowed_space) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
sptr_sst_file_manager->get()->SetMaxAllowedSpaceUsage(jmax_allowed_space);
|
||||
}
|
||||
|
||||
@@ -73,7 +75,8 @@ void Java_org_rocksdb_SstFileManager_setCompactionBufferSize(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jcompaction_buffer_size) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
sptr_sst_file_manager->get()->SetCompactionBufferSize(
|
||||
jcompaction_buffer_size);
|
||||
}
|
||||
@@ -86,7 +89,8 @@ void Java_org_rocksdb_SstFileManager_setCompactionBufferSize(
|
||||
jboolean Java_org_rocksdb_SstFileManager_isMaxAllowedSpaceReached(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
return sptr_sst_file_manager->get()->IsMaxAllowedSpaceReached();
|
||||
}
|
||||
|
||||
@@ -99,7 +103,8 @@ jboolean
|
||||
Java_org_rocksdb_SstFileManager_isMaxAllowedSpaceReachedIncludingCompactions(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
return sptr_sst_file_manager->get()
|
||||
->IsMaxAllowedSpaceReachedIncludingCompactions();
|
||||
}
|
||||
@@ -113,7 +118,8 @@ jlong Java_org_rocksdb_SstFileManager_getTotalSize(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
return sptr_sst_file_manager->get()->GetTotalSize();
|
||||
}
|
||||
|
||||
@@ -126,19 +132,22 @@ jobject Java_org_rocksdb_SstFileManager_getTrackedFiles(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
auto tracked_files = sptr_sst_file_manager->get()->GetTrackedFiles();
|
||||
|
||||
//TODO(AR) could refactor to share code with rocksdb::HashMapJni::fromCppMap(env, tracked_files);
|
||||
// TODO(AR) could refactor to share code with
|
||||
// ROCKSDB_NAMESPACE::HashMapJni::fromCppMap(env, tracked_files);
|
||||
|
||||
const jobject jtracked_files = rocksdb::HashMapJni::construct(
|
||||
const jobject jtracked_files = ROCKSDB_NAMESPACE::HashMapJni::construct(
|
||||
env, static_cast<uint32_t>(tracked_files.size()));
|
||||
if (jtracked_files == nullptr) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const rocksdb::HashMapJni::FnMapKV<const std::string, const uint64_t, jobject, jobject>
|
||||
const ROCKSDB_NAMESPACE::HashMapJni::FnMapKV<const std::string,
|
||||
const uint64_t, jobject, jobject>
|
||||
fn_map_kv =
|
||||
[env](const std::pair<const std::string, const uint64_t>& pair) {
|
||||
const jstring jtracked_file_path =
|
||||
@@ -148,7 +157,7 @@ jobject Java_org_rocksdb_SstFileManager_getTrackedFiles(JNIEnv* env,
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
const jobject jtracked_file_size =
|
||||
rocksdb::LongJni::valueOf(env, pair.second);
|
||||
ROCKSDB_NAMESPACE::LongJni::valueOf(env, pair.second);
|
||||
if (jtracked_file_size == nullptr) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
@@ -158,8 +167,9 @@ jobject Java_org_rocksdb_SstFileManager_getTrackedFiles(JNIEnv* env,
|
||||
jtracked_file_size));
|
||||
};
|
||||
|
||||
if (!rocksdb::HashMapJni::putAll(env, jtracked_files, tracked_files.begin(),
|
||||
tracked_files.end(), fn_map_kv)) {
|
||||
if (!ROCKSDB_NAMESPACE::HashMapJni::putAll(env, jtracked_files,
|
||||
tracked_files.begin(),
|
||||
tracked_files.end(), fn_map_kv)) {
|
||||
// exception occcurred
|
||||
return nullptr;
|
||||
}
|
||||
@@ -175,7 +185,8 @@ jobject Java_org_rocksdb_SstFileManager_getTrackedFiles(JNIEnv* env,
|
||||
jlong Java_org_rocksdb_SstFileManager_getDeleteRateBytesPerSecond(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
return sptr_sst_file_manager->get()->GetDeleteRateBytesPerSecond();
|
||||
}
|
||||
|
||||
@@ -187,7 +198,8 @@ jlong Java_org_rocksdb_SstFileManager_getDeleteRateBytesPerSecond(
|
||||
void Java_org_rocksdb_SstFileManager_setDeleteRateBytesPerSecond(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jlong jdelete_rate) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
sptr_sst_file_manager->get()->SetDeleteRateBytesPerSecond(jdelete_rate);
|
||||
}
|
||||
|
||||
@@ -200,7 +212,8 @@ jdouble Java_org_rocksdb_SstFileManager_getMaxTrashDBRatio(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
return sptr_sst_file_manager->get()->GetMaxTrashDBRatio();
|
||||
}
|
||||
|
||||
@@ -214,7 +227,8 @@ void Java_org_rocksdb_SstFileManager_setMaxTrashDBRatio(JNIEnv* /*env*/,
|
||||
jlong jhandle,
|
||||
jdouble jratio) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
sptr_sst_file_manager->get()->SetMaxTrashDBRatio(jratio);
|
||||
}
|
||||
|
||||
@@ -227,6 +241,7 @@ void Java_org_rocksdb_SstFileManager_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* sptr_sst_file_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::SstFileManager>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::SstFileManager>*>(
|
||||
jhandle);
|
||||
delete sptr_sst_file_manager;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Iterator methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Iterator methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -22,7 +22,7 @@
|
||||
void Java_org_rocksdb_SstFileReaderIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
assert(it != nullptr);
|
||||
delete it;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ void Java_org_rocksdb_SstFileReaderIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_SstFileReaderIterator_isValid0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<rocksdb::Iterator*>(handle)->Valid();
|
||||
return reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Valid();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -46,7 +46,7 @@ jboolean Java_org_rocksdb_SstFileReaderIterator_isValid0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_SstFileReaderIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->SeekToFirst();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->SeekToFirst();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -57,7 +57,7 @@ void Java_org_rocksdb_SstFileReaderIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_SstFileReaderIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->SeekToLast();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->SeekToLast();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -68,7 +68,7 @@ void Java_org_rocksdb_SstFileReaderIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_SstFileReaderIterator_next0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->Next();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Next();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -79,7 +79,7 @@ void Java_org_rocksdb_SstFileReaderIterator_next0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_SstFileReaderIterator_prev0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::Iterator*>(handle)->Prev();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle)->Prev();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -97,9 +97,10 @@ void Java_org_rocksdb_SstFileReaderIterator_seek0(JNIEnv* env, jobject /*jobj*/,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
it->Seek(target_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jtarget, target, JNI_ABORT);
|
||||
@@ -121,9 +122,10 @@ void Java_org_rocksdb_SstFileReaderIterator_seekForPrev0(JNIEnv* env,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
it->SeekForPrev(target_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jtarget, target, JNI_ABORT);
|
||||
@@ -137,14 +139,14 @@ void Java_org_rocksdb_SstFileReaderIterator_seekForPrev0(JNIEnv* env,
|
||||
void Java_org_rocksdb_SstFileReaderIterator_status0(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Status s = it->status();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Status s = it->status();
|
||||
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -155,8 +157,8 @@ void Java_org_rocksdb_SstFileReaderIterator_status0(JNIEnv* env,
|
||||
jbyteArray Java_org_rocksdb_SstFileReaderIterator_key0(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice key_slice = it->key();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice key_slice = it->key();
|
||||
|
||||
jbyteArray jkey = env->NewByteArray(static_cast<jsize>(key_slice.size()));
|
||||
if (jkey == nullptr) {
|
||||
@@ -176,14 +178,14 @@ jbyteArray Java_org_rocksdb_SstFileReaderIterator_key0(JNIEnv* env,
|
||||
*/
|
||||
jbyteArray Java_org_rocksdb_SstFileReaderIterator_value0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice value_slice = it->value();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice value_slice = it->value();
|
||||
|
||||
jbyteArray jkeyValue =
|
||||
env->NewByteArray(static_cast<jsize>(value_slice.size()));
|
||||
if(jkeyValue == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return nullptr;
|
||||
jbyteArray jkeyValue =
|
||||
env->NewByteArray(static_cast<jsize>(value_slice.size()));
|
||||
if (jkeyValue == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return nullptr;
|
||||
}
|
||||
env->SetByteArrayRegion(jkeyValue, 0, static_cast<jsize>(value_slice.size()),
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(value_slice.data())));
|
||||
@@ -198,10 +200,10 @@ jbyteArray Java_org_rocksdb_SstFileReaderIterator_value0(JNIEnv* env, jobject /*
|
||||
jint Java_org_rocksdb_SstFileReaderIterator_keyDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice key_slice = it->key();
|
||||
return rocksdb::JniUtil::copyToDirect(env, key_slice, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice key_slice = it->key();
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyToDirect(env, key_slice, jtarget,
|
||||
jtarget_off, jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -212,10 +214,10 @@ jint Java_org_rocksdb_SstFileReaderIterator_keyDirect0(
|
||||
jint Java_org_rocksdb_SstFileReaderIterator_valueDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
rocksdb::Slice value_slice = it->value();
|
||||
return rocksdb::JniUtil::copyToDirect(env, value_slice, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Slice value_slice = it->value();
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyToDirect(env, value_slice, jtarget,
|
||||
jtarget_off, jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -226,9 +228,12 @@ jint Java_org_rocksdb_SstFileReaderIterator_valueDirect0(
|
||||
void Java_org_rocksdb_SstFileReaderIterator_seekDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto seek = [&it](rocksdb::Slice& target_slice) { it->Seek(target_slice); };
|
||||
rocksdb::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off, jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
auto seek = [&it](ROCKSDB_NAMESPACE::Slice& target_slice) {
|
||||
it->Seek(target_slice);
|
||||
};
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -239,10 +244,10 @@ void Java_org_rocksdb_SstFileReaderIterator_seekDirect0(
|
||||
void Java_org_rocksdb_SstFileReaderIterator_seekForPrevDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::Iterator*>(handle);
|
||||
auto seekPrev = [&it](rocksdb::Slice& target_slice) {
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(handle);
|
||||
auto seekPrev = [&it](ROCKSDB_NAMESPACE::Slice& target_slice) {
|
||||
it->SeekForPrev(target_slice);
|
||||
};
|
||||
rocksdb::JniUtil::k_op_direct(seekPrev, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(seekPrev, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::SstFileReader methods
|
||||
// calling C++ ROCKSDB_NAMESPACE::SstFileReader methods
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -25,9 +25,10 @@
|
||||
jlong Java_org_rocksdb_SstFileReader_newSstFileReader(JNIEnv * /*env*/,
|
||||
jclass /*jcls*/,
|
||||
jlong joptions) {
|
||||
auto *options = reinterpret_cast<const rocksdb::Options *>(joptions);
|
||||
rocksdb::SstFileReader *sst_file_reader =
|
||||
new rocksdb::SstFileReader(*options);
|
||||
auto *options =
|
||||
reinterpret_cast<const ROCKSDB_NAMESPACE::Options *>(joptions);
|
||||
ROCKSDB_NAMESPACE::SstFileReader *sst_file_reader =
|
||||
new ROCKSDB_NAMESPACE::SstFileReader(*options);
|
||||
return reinterpret_cast<jlong>(sst_file_reader);
|
||||
}
|
||||
|
||||
@@ -43,12 +44,13 @@ void Java_org_rocksdb_SstFileReader_open(JNIEnv *env, jobject /*jobj*/,
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileReader *>(jhandle)->Open(file_path);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileReader *>(jhandle)->Open(
|
||||
file_path);
|
||||
env->ReleaseStringUTFChars(jfile_path, file_path);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,9 +63,10 @@ jlong Java_org_rocksdb_SstFileReader_newIterator(JNIEnv * /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong jread_options_handle) {
|
||||
auto *sst_file_reader = reinterpret_cast<rocksdb::SstFileReader *>(jhandle);
|
||||
auto *sst_file_reader =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileReader *>(jhandle);
|
||||
auto *read_options =
|
||||
reinterpret_cast<rocksdb::ReadOptions *>(jread_options_handle);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions *>(jread_options_handle);
|
||||
return reinterpret_cast<jlong>(sst_file_reader->NewIterator(*read_options));
|
||||
}
|
||||
|
||||
@@ -75,7 +78,7 @@ jlong Java_org_rocksdb_SstFileReader_newIterator(JNIEnv * /*env*/,
|
||||
void Java_org_rocksdb_SstFileReader_disposeInternal(JNIEnv * /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::SstFileReader *>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::SstFileReader *>(jhandle);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -86,10 +89,11 @@ void Java_org_rocksdb_SstFileReader_disposeInternal(JNIEnv * /*env*/,
|
||||
void Java_org_rocksdb_SstFileReader_verifyChecksum(JNIEnv *env,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto *sst_file_reader = reinterpret_cast<rocksdb::SstFileReader *>(jhandle);
|
||||
auto *sst_file_reader =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileReader *>(jhandle);
|
||||
auto s = sst_file_reader->VerifyChecksum();
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,10 +105,12 @@ void Java_org_rocksdb_SstFileReader_verifyChecksum(JNIEnv *env,
|
||||
jobject Java_org_rocksdb_SstFileReader_getTableProperties(JNIEnv *env,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto *sst_file_reader = reinterpret_cast<rocksdb::SstFileReader *>(jhandle);
|
||||
std::shared_ptr<const rocksdb::TableProperties> tp =
|
||||
auto *sst_file_reader =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileReader *>(jhandle);
|
||||
std::shared_ptr<const ROCKSDB_NAMESPACE::TableProperties> tp =
|
||||
sst_file_reader->GetTableProperties();
|
||||
jobject jtable_properties =
|
||||
rocksdb::TablePropertiesJni::fromCppTableProperties(env, *(tp.get()));
|
||||
ROCKSDB_NAMESPACE::TablePropertiesJni::fromCppTableProperties(
|
||||
env, *(tp.get()));
|
||||
return jtable_properties;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling C++ rocksdb::SstFileWriter methods
|
||||
// calling C++ ROCKSDB_NAMESPACE::SstFileWriter methods
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -25,24 +25,26 @@
|
||||
jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJJB(
|
||||
JNIEnv * /*env*/, jclass /*jcls*/, jlong jenvoptions, jlong joptions,
|
||||
jlong jcomparator_handle, jbyte jcomparator_type) {
|
||||
rocksdb::Comparator *comparator = nullptr;
|
||||
ROCKSDB_NAMESPACE::Comparator *comparator = nullptr;
|
||||
switch (jcomparator_type) {
|
||||
// JAVA_COMPARATOR
|
||||
case 0x0:
|
||||
comparator = reinterpret_cast<rocksdb::ComparatorJniCallback *>(
|
||||
comparator = reinterpret_cast<ROCKSDB_NAMESPACE::ComparatorJniCallback *>(
|
||||
jcomparator_handle);
|
||||
break;
|
||||
|
||||
// JAVA_NATIVE_COMPARATOR_WRAPPER
|
||||
case 0x1:
|
||||
comparator = reinterpret_cast<rocksdb::Comparator *>(jcomparator_handle);
|
||||
comparator =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Comparator *>(jcomparator_handle);
|
||||
break;
|
||||
}
|
||||
auto *env_options =
|
||||
reinterpret_cast<const rocksdb::EnvOptions *>(jenvoptions);
|
||||
auto *options = reinterpret_cast<const rocksdb::Options *>(joptions);
|
||||
rocksdb::SstFileWriter *sst_file_writer =
|
||||
new rocksdb::SstFileWriter(*env_options, *options, comparator);
|
||||
reinterpret_cast<const ROCKSDB_NAMESPACE::EnvOptions *>(jenvoptions);
|
||||
auto *options =
|
||||
reinterpret_cast<const ROCKSDB_NAMESPACE::Options *>(joptions);
|
||||
ROCKSDB_NAMESPACE::SstFileWriter *sst_file_writer =
|
||||
new ROCKSDB_NAMESPACE::SstFileWriter(*env_options, *options, comparator);
|
||||
return reinterpret_cast<jlong>(sst_file_writer);
|
||||
}
|
||||
|
||||
@@ -56,10 +58,11 @@ jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJ(JNIEnv * /*env*/,
|
||||
jlong jenvoptions,
|
||||
jlong joptions) {
|
||||
auto *env_options =
|
||||
reinterpret_cast<const rocksdb::EnvOptions *>(jenvoptions);
|
||||
auto *options = reinterpret_cast<const rocksdb::Options *>(joptions);
|
||||
rocksdb::SstFileWriter *sst_file_writer =
|
||||
new rocksdb::SstFileWriter(*env_options, *options);
|
||||
reinterpret_cast<const ROCKSDB_NAMESPACE::EnvOptions *>(jenvoptions);
|
||||
auto *options =
|
||||
reinterpret_cast<const ROCKSDB_NAMESPACE::Options *>(joptions);
|
||||
ROCKSDB_NAMESPACE::SstFileWriter *sst_file_writer =
|
||||
new ROCKSDB_NAMESPACE::SstFileWriter(*env_options, *options);
|
||||
return reinterpret_cast<jlong>(sst_file_writer);
|
||||
}
|
||||
|
||||
@@ -75,12 +78,13 @@ void Java_org_rocksdb_SstFileWriter_open(JNIEnv *env, jobject /*jobj*/,
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Open(file_path);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Open(
|
||||
file_path);
|
||||
env->ReleaseStringUTFChars(jfile_path, file_path);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,12 +96,14 @@ void Java_org_rocksdb_SstFileWriter_open(JNIEnv *env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_SstFileWriter_put__JJJ(JNIEnv *env, jobject /*jobj*/,
|
||||
jlong jhandle, jlong jkey_handle,
|
||||
jlong jvalue_handle) {
|
||||
auto *key_slice = reinterpret_cast<rocksdb::Slice *>(jkey_handle);
|
||||
auto *value_slice = reinterpret_cast<rocksdb::Slice *>(jvalue_handle);
|
||||
rocksdb::Status s = reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Put(
|
||||
*key_slice, *value_slice);
|
||||
auto *key_slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice *>(jkey_handle);
|
||||
auto *value_slice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice *>(jvalue_handle);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Put(
|
||||
*key_slice, *value_slice);
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,8 +120,8 @@ void Java_org_rocksdb_SstFileWriter_put__J_3B_3B(JNIEnv *env, jobject /*jobj*/,
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
rocksdb::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
|
||||
jbyte *value = env->GetByteArrayElements(jval, nullptr);
|
||||
if (value == nullptr) {
|
||||
@@ -123,17 +129,18 @@ void Java_org_rocksdb_SstFileWriter_put__J_3B_3B(JNIEnv *env, jobject /*jobj*/,
|
||||
env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
|
||||
return;
|
||||
}
|
||||
rocksdb::Slice value_slice(reinterpret_cast<char *>(value),
|
||||
env->GetArrayLength(jval));
|
||||
ROCKSDB_NAMESPACE::Slice value_slice(reinterpret_cast<char *>(value),
|
||||
env->GetArrayLength(jval));
|
||||
|
||||
rocksdb::Status s = reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Put(
|
||||
key_slice, value_slice);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Put(
|
||||
key_slice, value_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
|
||||
env->ReleaseByteArrayElements(jval, value, JNI_ABORT);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,16 +154,18 @@ void Java_org_rocksdb_SstFileWriter_putDirect(JNIEnv *env, jobject /*jdb*/,
|
||||
jint jkey_off, jint jkey_len,
|
||||
jobject jval, jint jval_off,
|
||||
jint jval_len) {
|
||||
auto *writer = reinterpret_cast<rocksdb::SstFileWriter *>(jdb_handle);
|
||||
auto put = [&env, &writer](rocksdb::Slice &key, rocksdb::Slice &value) {
|
||||
rocksdb::Status s = writer->Put(key, value);
|
||||
auto *writer =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jdb_handle);
|
||||
auto put = [&env, &writer](ROCKSDB_NAMESPACE::Slice &key,
|
||||
ROCKSDB_NAMESPACE::Slice &value) {
|
||||
ROCKSDB_NAMESPACE::Status s = writer->Put(key, value);
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
};
|
||||
rocksdb::JniUtil::kv_op_direct(put, env, jkey, jkey_off, jkey_len, jval,
|
||||
jval_off, jval_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op_direct(put, env, jkey, jkey_off, jkey_len,
|
||||
jval, jval_off, jval_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -166,7 +175,8 @@ void Java_org_rocksdb_SstFileWriter_putDirect(JNIEnv *env, jobject /*jdb*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_SstFileWriter_fileSize(JNIEnv * /*env*/, jobject /*jdb*/,
|
||||
jlong jdb_handle) {
|
||||
auto *writer = reinterpret_cast<rocksdb::SstFileWriter *>(jdb_handle);
|
||||
auto *writer =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jdb_handle);
|
||||
return static_cast<jlong>(writer->FileSize());
|
||||
}
|
||||
|
||||
@@ -178,13 +188,14 @@ jlong Java_org_rocksdb_SstFileWriter_fileSize(JNIEnv * /*env*/, jobject /*jdb*/,
|
||||
void Java_org_rocksdb_SstFileWriter_merge__JJJ(JNIEnv *env, jobject /*jobj*/,
|
||||
jlong jhandle, jlong jkey_handle,
|
||||
jlong jvalue_handle) {
|
||||
auto *key_slice = reinterpret_cast<rocksdb::Slice *>(jkey_handle);
|
||||
auto *value_slice = reinterpret_cast<rocksdb::Slice *>(jvalue_handle);
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Merge(*key_slice,
|
||||
*value_slice);
|
||||
auto *key_slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice *>(jkey_handle);
|
||||
auto *value_slice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice *>(jvalue_handle);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Merge(
|
||||
*key_slice, *value_slice);
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,8 +214,8 @@ void Java_org_rocksdb_SstFileWriter_merge__J_3B_3B(JNIEnv *env,
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
rocksdb::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
|
||||
jbyte *value = env->GetByteArrayElements(jval, nullptr);
|
||||
if (value == nullptr) {
|
||||
@@ -212,18 +223,18 @@ void Java_org_rocksdb_SstFileWriter_merge__J_3B_3B(JNIEnv *env,
|
||||
env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
|
||||
return;
|
||||
}
|
||||
rocksdb::Slice value_slice(reinterpret_cast<char *>(value),
|
||||
env->GetArrayLength(jval));
|
||||
ROCKSDB_NAMESPACE::Slice value_slice(reinterpret_cast<char *>(value),
|
||||
env->GetArrayLength(jval));
|
||||
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Merge(key_slice,
|
||||
value_slice);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Merge(
|
||||
key_slice, value_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
|
||||
env->ReleaseByteArrayElements(jval, value, JNI_ABORT);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,16 +251,17 @@ void Java_org_rocksdb_SstFileWriter_delete__J_3B(JNIEnv *env, jobject /*jobj*/,
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
rocksdb::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char *>(key),
|
||||
env->GetArrayLength(jkey));
|
||||
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Delete(key_slice);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Delete(
|
||||
key_slice);
|
||||
|
||||
env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
|
||||
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,11 +273,12 @@ void Java_org_rocksdb_SstFileWriter_delete__J_3B(JNIEnv *env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_SstFileWriter_delete__JJ(JNIEnv *env, jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong jkey_handle) {
|
||||
auto *key_slice = reinterpret_cast<rocksdb::Slice *>(jkey_handle);
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Delete(*key_slice);
|
||||
auto *key_slice = reinterpret_cast<ROCKSDB_NAMESPACE::Slice *>(jkey_handle);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Delete(
|
||||
*key_slice);
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,10 +289,10 @@ void Java_org_rocksdb_SstFileWriter_delete__JJ(JNIEnv *env, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_SstFileWriter_finish(JNIEnv *env, jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::SstFileWriter *>(jhandle)->Finish();
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle)->Finish();
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,5 +304,5 @@ void Java_org_rocksdb_SstFileWriter_finish(JNIEnv *env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_SstFileWriter_disposeInternal(JNIEnv * /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::SstFileWriter *>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::SstFileWriter *>(jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Statistics methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Statistics methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <memory>
|
||||
@@ -55,10 +55,11 @@ jlong Java_org_rocksdb_Statistics_newStatistics___3B(
|
||||
*/
|
||||
jlong Java_org_rocksdb_Statistics_newStatistics___3BJ(
|
||||
JNIEnv* env, jclass, jbyteArray jhistograms, jlong jother_statistics_handle) {
|
||||
std::shared_ptr<rocksdb::Statistics>* pSptr_other_statistics = nullptr;
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>* pSptr_other_statistics =
|
||||
nullptr;
|
||||
if (jother_statistics_handle > 0) {
|
||||
pSptr_other_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jother_statistics_handle);
|
||||
}
|
||||
|
||||
@@ -73,8 +74,8 @@ jlong Java_org_rocksdb_Statistics_newStatistics___3BJ(
|
||||
}
|
||||
|
||||
for (jsize i = 0; i < len; i++) {
|
||||
const rocksdb::Histograms histogram =
|
||||
rocksdb::HistogramTypeJni::toCppHistograms(jhistogram[i]);
|
||||
const ROCKSDB_NAMESPACE::Histograms histogram =
|
||||
ROCKSDB_NAMESPACE::HistogramTypeJni::toCppHistograms(jhistogram[i]);
|
||||
histograms.emplace(histogram);
|
||||
}
|
||||
|
||||
@@ -82,13 +83,16 @@ jlong Java_org_rocksdb_Statistics_newStatistics___3BJ(
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<rocksdb::Statistics> sptr_other_statistics = nullptr;
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::Statistics> sptr_other_statistics =
|
||||
nullptr;
|
||||
if (pSptr_other_statistics != nullptr) {
|
||||
sptr_other_statistics = *pSptr_other_statistics;
|
||||
}
|
||||
|
||||
auto* pSptr_statistics = new std::shared_ptr<rocksdb::StatisticsJni>(
|
||||
new rocksdb::StatisticsJni(sptr_other_statistics, histograms));
|
||||
auto* pSptr_statistics =
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::StatisticsJni>(
|
||||
new ROCKSDB_NAMESPACE::StatisticsJni(sptr_other_statistics,
|
||||
histograms));
|
||||
|
||||
return reinterpret_cast<jlong>(pSptr_statistics);
|
||||
}
|
||||
@@ -102,7 +106,8 @@ void Java_org_rocksdb_Statistics_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
if (jhandle > 0) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
delete pSptr_statistics;
|
||||
}
|
||||
}
|
||||
@@ -115,9 +120,10 @@ void Java_org_rocksdb_Statistics_disposeInternal(
|
||||
jbyte Java_org_rocksdb_Statistics_statsLevel(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
return rocksdb::StatsLevelJni::toJavaStatsLevel(
|
||||
return ROCKSDB_NAMESPACE::StatsLevelJni::toJavaStatsLevel(
|
||||
pSptr_statistics->get()->get_stats_level());
|
||||
}
|
||||
|
||||
@@ -129,9 +135,11 @@ jbyte Java_org_rocksdb_Statistics_statsLevel(
|
||||
void Java_org_rocksdb_Statistics_setStatsLevel(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jstats_level) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
auto stats_level = rocksdb::StatsLevelJni::toCppStatsLevel(jstats_level);
|
||||
auto stats_level =
|
||||
ROCKSDB_NAMESPACE::StatsLevelJni::toCppStatsLevel(jstats_level);
|
||||
pSptr_statistics->get()->set_stats_level(stats_level);
|
||||
}
|
||||
|
||||
@@ -143,9 +151,10 @@ void Java_org_rocksdb_Statistics_setStatsLevel(
|
||||
jlong Java_org_rocksdb_Statistics_getTickerCount(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jticker_type) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
auto ticker = rocksdb::TickerTypeJni::toCppTickers(jticker_type);
|
||||
auto ticker = ROCKSDB_NAMESPACE::TickerTypeJni::toCppTickers(jticker_type);
|
||||
uint64_t count = pSptr_statistics->get()->getTickerCount(ticker);
|
||||
return static_cast<jlong>(count);
|
||||
}
|
||||
@@ -158,9 +167,10 @@ jlong Java_org_rocksdb_Statistics_getTickerCount(
|
||||
jlong Java_org_rocksdb_Statistics_getAndResetTickerCount(
|
||||
JNIEnv*, jobject, jlong jhandle, jbyte jticker_type) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
auto ticker = rocksdb::TickerTypeJni::toCppTickers(jticker_type);
|
||||
auto ticker = ROCKSDB_NAMESPACE::TickerTypeJni::toCppTickers(jticker_type);
|
||||
return pSptr_statistics->get()->getAndResetTickerCount(ticker);
|
||||
}
|
||||
|
||||
@@ -172,24 +182,27 @@ jlong Java_org_rocksdb_Statistics_getAndResetTickerCount(
|
||||
jobject Java_org_rocksdb_Statistics_getHistogramData(
|
||||
JNIEnv* env, jobject, jlong jhandle, jbyte jhistogram_type) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
|
||||
// TODO(AR) perhaps better to construct a Java Object Wrapper that
|
||||
// uses ptr to C++ `new HistogramData`
|
||||
rocksdb::HistogramData data;
|
||||
ROCKSDB_NAMESPACE::HistogramData data;
|
||||
|
||||
auto histogram = rocksdb::HistogramTypeJni::toCppHistograms(jhistogram_type);
|
||||
auto histogram =
|
||||
ROCKSDB_NAMESPACE::HistogramTypeJni::toCppHistograms(jhistogram_type);
|
||||
pSptr_statistics->get()->histogramData(
|
||||
static_cast<rocksdb::Histograms>(histogram), &data);
|
||||
static_cast<ROCKSDB_NAMESPACE::Histograms>(histogram), &data);
|
||||
|
||||
jclass jclazz = rocksdb::HistogramDataJni::getJClass(env);
|
||||
jclass jclazz = ROCKSDB_NAMESPACE::HistogramDataJni::getJClass(env);
|
||||
if (jclazz == nullptr) {
|
||||
// exception occurred accessing class
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
jmethodID mid = rocksdb::HistogramDataJni::getConstructorMethodId(env);
|
||||
jmethodID mid =
|
||||
ROCKSDB_NAMESPACE::HistogramDataJni::getConstructorMethodId(env);
|
||||
if (mid == nullptr) {
|
||||
// exception occurred accessing method
|
||||
return nullptr;
|
||||
@@ -209,9 +222,11 @@ jobject Java_org_rocksdb_Statistics_getHistogramData(
|
||||
jstring Java_org_rocksdb_Statistics_getHistogramString(
|
||||
JNIEnv* env, jobject, jlong jhandle, jbyte jhistogram_type) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
auto histogram = rocksdb::HistogramTypeJni::toCppHistograms(jhistogram_type);
|
||||
auto histogram =
|
||||
ROCKSDB_NAMESPACE::HistogramTypeJni::toCppHistograms(jhistogram_type);
|
||||
auto str = pSptr_statistics->get()->getHistogramString(histogram);
|
||||
return env->NewStringUTF(str.c_str());
|
||||
}
|
||||
@@ -224,11 +239,12 @@ jstring Java_org_rocksdb_Statistics_getHistogramString(
|
||||
void Java_org_rocksdb_Statistics_reset(
|
||||
JNIEnv* env, jobject, jlong jhandle) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
rocksdb::Status s = pSptr_statistics->get()->Reset();
|
||||
ROCKSDB_NAMESPACE::Status s = pSptr_statistics->get()->Reset();
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,7 +256,8 @@ void Java_org_rocksdb_Statistics_reset(
|
||||
jstring Java_org_rocksdb_Statistics_toString(
|
||||
JNIEnv* env, jobject, jlong jhandle) {
|
||||
auto* pSptr_statistics =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Statistics>*>(jhandle);
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Statistics>*>(
|
||||
jhandle);
|
||||
assert(pSptr_statistics != nullptr);
|
||||
auto str = pSptr_statistics->get()->ToString();
|
||||
return env->NewStringUTF(str.c_str());
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Statistics
|
||||
// ROCKSDB_NAMESPACE::Statistics
|
||||
|
||||
#include "rocksjni/statisticsjni.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
StatisticsJni::StatisticsJni(std::shared_ptr<Statistics> stats)
|
||||
: StatisticsImpl(stats), m_ignore_histograms() {}
|
||||
@@ -29,4 +29,4 @@ bool StatisticsJni::HistEnabledForType(uint32_t type) const {
|
||||
return true;
|
||||
}
|
||||
// @lint-ignore TXT4 T25377293 Grandfathered in
|
||||
};
|
||||
}; // namespace ROCKSDB_NAMESPACE
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Statistics
|
||||
// ROCKSDB_NAMESPACE::Statistics
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_STATISTICSJNI_H_
|
||||
#define JAVA_ROCKSJNI_STATISTICSJNI_H_
|
||||
@@ -15,20 +15,20 @@
|
||||
#include "rocksdb/statistics.h"
|
||||
#include "monitoring/statistics.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class StatisticsJni : public StatisticsImpl {
|
||||
public:
|
||||
StatisticsJni(std::shared_ptr<Statistics> stats);
|
||||
StatisticsJni(std::shared_ptr<Statistics> stats,
|
||||
const std::set<uint32_t> ignore_histograms);
|
||||
virtual bool HistEnabledForType(uint32_t type) const override;
|
||||
class StatisticsJni : public StatisticsImpl {
|
||||
public:
|
||||
StatisticsJni(std::shared_ptr<Statistics> stats);
|
||||
StatisticsJni(std::shared_ptr<Statistics> stats,
|
||||
const std::set<uint32_t> ignore_histograms);
|
||||
virtual bool HistEnabledForType(uint32_t type) const override;
|
||||
|
||||
private:
|
||||
const std::set<uint32_t> m_ignore_histograms;
|
||||
private:
|
||||
const std::set<uint32_t> m_ignore_histograms;
|
||||
};
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
// @lint-ignore TXT4 T25377293 Grandfathered in
|
||||
#endif // JAVA_ROCKSJNI_STATISTICSJNI_H_
|
||||
@@ -3,7 +3,8 @@
|
||||
// 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++ for rocksdb::Options.
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// ROCKSDB_NAMESPACE::Options.
|
||||
|
||||
#include "rocksdb/table.h"
|
||||
#include <jni.h>
|
||||
@@ -23,16 +24,19 @@ jlong Java_org_rocksdb_PlainTableConfig_newTableFactoryHandle(
|
||||
jint jbloom_bits_per_key, jdouble jhash_table_ratio, jint jindex_sparseness,
|
||||
jint jhuge_page_tlb_size, jbyte jencoding_type, jboolean jfull_scan_mode,
|
||||
jboolean jstore_index_in_file) {
|
||||
rocksdb::PlainTableOptions options = rocksdb::PlainTableOptions();
|
||||
ROCKSDB_NAMESPACE::PlainTableOptions options =
|
||||
ROCKSDB_NAMESPACE::PlainTableOptions();
|
||||
options.user_key_len = jkey_size;
|
||||
options.bloom_bits_per_key = jbloom_bits_per_key;
|
||||
options.hash_table_ratio = jhash_table_ratio;
|
||||
options.index_sparseness = jindex_sparseness;
|
||||
options.huge_page_tlb_size = jhuge_page_tlb_size;
|
||||
options.encoding_type = static_cast<rocksdb::EncodingType>(jencoding_type);
|
||||
options.encoding_type =
|
||||
static_cast<ROCKSDB_NAMESPACE::EncodingType>(jencoding_type);
|
||||
options.full_scan_mode = jfull_scan_mode;
|
||||
options.store_index_in_file = jstore_index_in_file;
|
||||
return reinterpret_cast<jlong>(rocksdb::NewPlainTableFactory(options));
|
||||
return reinterpret_cast<jlong>(
|
||||
ROCKSDB_NAMESPACE::NewPlainTableFactory(options));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -59,7 +63,7 @@ jlong Java_org_rocksdb_BlockBasedTableConfig_newTableFactoryHandle(
|
||||
jboolean jblock_align, jlong jblock_cache_size,
|
||||
jint jblock_cache_num_shard_bits, jlong jblock_cache_compressed_size,
|
||||
jint jblock_cache_compressed_num_shard_bits) {
|
||||
rocksdb::BlockBasedTableOptions options;
|
||||
ROCKSDB_NAMESPACE::BlockBasedTableOptions options;
|
||||
options.cache_index_and_filter_blocks =
|
||||
static_cast<bool>(jcache_index_and_filter_blocks);
|
||||
options.cache_index_and_filter_blocks_with_high_priority =
|
||||
@@ -69,29 +73,30 @@ jlong Java_org_rocksdb_BlockBasedTableConfig_newTableFactoryHandle(
|
||||
options.pin_top_level_index_and_filter =
|
||||
static_cast<bool>(jpin_top_level_index_and_filter);
|
||||
options.index_type =
|
||||
rocksdb::IndexTypeJni::toCppIndexType(jindex_type_value);
|
||||
ROCKSDB_NAMESPACE::IndexTypeJni::toCppIndexType(jindex_type_value);
|
||||
options.data_block_index_type =
|
||||
rocksdb::DataBlockIndexTypeJni::toCppDataBlockIndexType(
|
||||
ROCKSDB_NAMESPACE::DataBlockIndexTypeJni::toCppDataBlockIndexType(
|
||||
jdata_block_index_type_value);
|
||||
options.data_block_hash_table_util_ratio =
|
||||
static_cast<double>(jdata_block_hash_table_util_ratio);
|
||||
options.checksum =
|
||||
rocksdb::ChecksumTypeJni::toCppChecksumType(jchecksum_type_value);
|
||||
options.checksum = ROCKSDB_NAMESPACE::ChecksumTypeJni::toCppChecksumType(
|
||||
jchecksum_type_value);
|
||||
options.no_block_cache = static_cast<bool>(jno_block_cache);
|
||||
if (options.no_block_cache) {
|
||||
options.block_cache = nullptr;
|
||||
} else {
|
||||
if (jblock_cache_handle > 0) {
|
||||
std::shared_ptr<rocksdb::Cache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache> *>(jblock_cache_handle);
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::Cache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache> *>(
|
||||
jblock_cache_handle);
|
||||
options.block_cache = *pCache;
|
||||
} else if (jblock_cache_size >= 0) {
|
||||
if (jblock_cache_num_shard_bits > 0) {
|
||||
options.block_cache = rocksdb::NewLRUCache(
|
||||
options.block_cache = ROCKSDB_NAMESPACE::NewLRUCache(
|
||||
static_cast<size_t>(jblock_cache_size),
|
||||
static_cast<int>(jblock_cache_num_shard_bits));
|
||||
} else {
|
||||
options.block_cache = rocksdb::NewLRUCache(
|
||||
options.block_cache = ROCKSDB_NAMESPACE::NewLRUCache(
|
||||
static_cast<size_t>(jblock_cache_size));
|
||||
}
|
||||
} else {
|
||||
@@ -100,21 +105,23 @@ jlong Java_org_rocksdb_BlockBasedTableConfig_newTableFactoryHandle(
|
||||
}
|
||||
}
|
||||
if (jpersistent_cache_handle > 0) {
|
||||
std::shared_ptr<rocksdb::PersistentCache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::PersistentCache> *>(jpersistent_cache_handle);
|
||||
options.persistent_cache = *pCache;
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::PersistentCache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::PersistentCache> *>(
|
||||
jpersistent_cache_handle);
|
||||
options.persistent_cache = *pCache;
|
||||
}
|
||||
if (jblock_cache_compressed_handle > 0) {
|
||||
std::shared_ptr<rocksdb::Cache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache> *>(jblock_cache_compressed_handle);
|
||||
options.block_cache_compressed = *pCache;
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::Cache> *pCache =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache> *>(
|
||||
jblock_cache_compressed_handle);
|
||||
options.block_cache_compressed = *pCache;
|
||||
} else if (jblock_cache_compressed_size > 0) {
|
||||
if (jblock_cache_compressed_num_shard_bits > 0) {
|
||||
options.block_cache_compressed = rocksdb::NewLRUCache(
|
||||
options.block_cache_compressed = ROCKSDB_NAMESPACE::NewLRUCache(
|
||||
static_cast<size_t>(jblock_cache_compressed_size),
|
||||
static_cast<int>(jblock_cache_compressed_num_shard_bits));
|
||||
} else {
|
||||
options.block_cache_compressed = rocksdb::NewLRUCache(
|
||||
options.block_cache_compressed = ROCKSDB_NAMESPACE::NewLRUCache(
|
||||
static_cast<size_t>(jblock_cache_compressed_size));
|
||||
}
|
||||
}
|
||||
@@ -126,8 +133,8 @@ jlong Java_org_rocksdb_BlockBasedTableConfig_newTableFactoryHandle(
|
||||
options.partition_filters = static_cast<bool>(jpartition_filters);
|
||||
options.use_delta_encoding = static_cast<bool>(juse_delta_encoding);
|
||||
if (jfilter_policy_handle > 0) {
|
||||
std::shared_ptr<rocksdb::FilterPolicy> *pFilterPolicy =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::FilterPolicy> *>(
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::FilterPolicy> *pFilterPolicy =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::FilterPolicy> *>(
|
||||
jfilter_policy_handle);
|
||||
options.filter_policy = *pFilterPolicy;
|
||||
}
|
||||
@@ -138,5 +145,6 @@ jlong Java_org_rocksdb_BlockBasedTableConfig_newTableFactoryHandle(
|
||||
options.enable_index_compression = static_cast<bool>(jenable_index_compression);
|
||||
options.block_align = static_cast<bool>(jblock_align);
|
||||
|
||||
return reinterpret_cast<jlong>(rocksdb::NewBlockBasedTableFactory(options));
|
||||
return reinterpret_cast<jlong>(
|
||||
ROCKSDB_NAMESPACE::NewBlockBasedTableFactory(options));
|
||||
}
|
||||
|
||||
@@ -20,6 +20,6 @@
|
||||
jlong Java_org_rocksdb_AbstractTableFilter_createNewTableFilter(
|
||||
JNIEnv* env, jobject jtable_filter) {
|
||||
auto* table_filter_jnicallback =
|
||||
new rocksdb::TableFilterJniCallback(env, jtable_filter);
|
||||
new ROCKSDB_NAMESPACE::TableFilterJniCallback(env, jtable_filter);
|
||||
return reinterpret_cast<jlong>(table_filter_jnicallback);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TableFilter.
|
||||
// ROCKSDB_NAMESPACE::TableFilter.
|
||||
|
||||
#include "rocksjni/table_filter_jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
TableFilterJniCallback::TableFilterJniCallback(
|
||||
JNIEnv* env, jobject jtable_filter)
|
||||
: JniCallback(env, jtable_filter) {
|
||||
@@ -26,37 +26,41 @@ TableFilterJniCallback::TableFilterJniCallback(
|
||||
on each call to the function itself as
|
||||
it may be called from multiple threads
|
||||
*/
|
||||
m_table_filter_function = [this](const rocksdb::TableProperties& table_properties) {
|
||||
jboolean attached_thread = JNI_FALSE;
|
||||
JNIEnv* thread_env = getJniEnv(&attached_thread);
|
||||
assert(thread_env != nullptr);
|
||||
m_table_filter_function =
|
||||
[this](const ROCKSDB_NAMESPACE::TableProperties& table_properties) {
|
||||
jboolean attached_thread = JNI_FALSE;
|
||||
JNIEnv* thread_env = getJniEnv(&attached_thread);
|
||||
assert(thread_env != nullptr);
|
||||
|
||||
// create a Java TableProperties object
|
||||
jobject jtable_properties = TablePropertiesJni::fromCppTableProperties(thread_env, table_properties);
|
||||
if (jtable_properties == nullptr) {
|
||||
// exception thrown from fromCppTableProperties
|
||||
thread_env->ExceptionDescribe(); // print out exception to stderr
|
||||
releaseJniEnv(attached_thread);
|
||||
return false;
|
||||
}
|
||||
// create a Java TableProperties object
|
||||
jobject jtable_properties = TablePropertiesJni::fromCppTableProperties(
|
||||
thread_env, table_properties);
|
||||
if (jtable_properties == nullptr) {
|
||||
// exception thrown from fromCppTableProperties
|
||||
thread_env->ExceptionDescribe(); // print out exception to stderr
|
||||
releaseJniEnv(attached_thread);
|
||||
return false;
|
||||
}
|
||||
|
||||
jboolean result = thread_env->CallBooleanMethod(m_jcallback_obj, m_jfilter_methodid, jtable_properties);
|
||||
if (thread_env->ExceptionCheck()) {
|
||||
// exception thrown from CallBooleanMethod
|
||||
thread_env->DeleteLocalRef(jtable_properties);
|
||||
thread_env->ExceptionDescribe(); // print out exception to stderr
|
||||
releaseJniEnv(attached_thread);
|
||||
return false;
|
||||
}
|
||||
jboolean result = thread_env->CallBooleanMethod(
|
||||
m_jcallback_obj, m_jfilter_methodid, jtable_properties);
|
||||
if (thread_env->ExceptionCheck()) {
|
||||
// exception thrown from CallBooleanMethod
|
||||
thread_env->DeleteLocalRef(jtable_properties);
|
||||
thread_env->ExceptionDescribe(); // print out exception to stderr
|
||||
releaseJniEnv(attached_thread);
|
||||
return false;
|
||||
}
|
||||
|
||||
// ok... cleanup and then return
|
||||
releaseJniEnv(attached_thread);
|
||||
return static_cast<bool>(result);
|
||||
};
|
||||
// ok... cleanup and then return
|
||||
releaseJniEnv(attached_thread);
|
||||
return static_cast<bool>(result);
|
||||
};
|
||||
}
|
||||
|
||||
std::function<bool(const rocksdb::TableProperties&)> TableFilterJniCallback::GetTableFilterFunction() {
|
||||
std::function<bool(const ROCKSDB_NAMESPACE::TableProperties&)>
|
||||
TableFilterJniCallback::GetTableFilterFunction() {
|
||||
return m_table_filter_function;
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TableFilter.
|
||||
// ROCKSDB_NAMESPACE::TableFilter.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_TABLE_FILTER_JNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_TABLE_FILTER_JNICALLBACK_H_
|
||||
@@ -16,19 +16,21 @@
|
||||
#include "rocksdb/table_properties.h"
|
||||
#include "rocksjni/jnicallback.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class TableFilterJniCallback : public JniCallback {
|
||||
public:
|
||||
TableFilterJniCallback(
|
||||
JNIEnv* env, jobject jtable_filter);
|
||||
std::function<bool(const rocksdb::TableProperties&)> GetTableFilterFunction();
|
||||
std::function<bool(const ROCKSDB_NAMESPACE::TableProperties&)>
|
||||
GetTableFilterFunction();
|
||||
|
||||
private:
|
||||
private:
|
||||
jmethodID m_jfilter_methodid;
|
||||
std::function<bool(const rocksdb::TableProperties&)> m_table_filter_function;
|
||||
std::function<bool(const ROCKSDB_NAMESPACE::TableProperties&)>
|
||||
m_table_filter_function;
|
||||
};
|
||||
|
||||
} //namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_TABLE_FILTER_JNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::ThreadStatus methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::ThreadStatus methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_getThreadTypeName(
|
||||
JNIEnv* env, jclass, jbyte jthread_type_value) {
|
||||
auto name = rocksdb::ThreadStatus::GetThreadTypeName(
|
||||
rocksdb::ThreadTypeJni::toCppThreadType(jthread_type_value));
|
||||
return rocksdb::JniUtil::toJavaString(env, &name, true);
|
||||
auto name = ROCKSDB_NAMESPACE::ThreadStatus::GetThreadTypeName(
|
||||
ROCKSDB_NAMESPACE::ThreadTypeJni::toCppThreadType(jthread_type_value));
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -31,9 +31,10 @@ jstring Java_org_rocksdb_ThreadStatus_getThreadTypeName(
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_getOperationName(
|
||||
JNIEnv* env, jclass, jbyte joperation_type_value) {
|
||||
auto name = rocksdb::ThreadStatus::GetOperationName(
|
||||
rocksdb::OperationTypeJni::toCppOperationType(joperation_type_value));
|
||||
return rocksdb::JniUtil::toJavaString(env, &name, true);
|
||||
auto name = ROCKSDB_NAMESPACE::ThreadStatus::GetOperationName(
|
||||
ROCKSDB_NAMESPACE::OperationTypeJni::toCppOperationType(
|
||||
joperation_type_value));
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -43,9 +44,9 @@ jstring Java_org_rocksdb_ThreadStatus_getOperationName(
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_microsToStringNative(
|
||||
JNIEnv* env, jclass, jlong jmicros) {
|
||||
auto str =
|
||||
rocksdb::ThreadStatus::MicrosToString(static_cast<uint64_t>(jmicros));
|
||||
return rocksdb::JniUtil::toJavaString(env, &str, true);
|
||||
auto str = ROCKSDB_NAMESPACE::ThreadStatus::MicrosToString(
|
||||
static_cast<uint64_t>(jmicros));
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &str, true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -55,9 +56,10 @@ jstring Java_org_rocksdb_ThreadStatus_microsToStringNative(
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_getOperationStageName(
|
||||
JNIEnv* env, jclass, jbyte joperation_stage_value) {
|
||||
auto name = rocksdb::ThreadStatus::GetOperationStageName(
|
||||
rocksdb::OperationStageJni::toCppOperationStage(joperation_stage_value));
|
||||
return rocksdb::JniUtil::toJavaString(env, &name, true);
|
||||
auto name = ROCKSDB_NAMESPACE::ThreadStatus::GetOperationStageName(
|
||||
ROCKSDB_NAMESPACE::OperationStageJni::toCppOperationStage(
|
||||
joperation_stage_value));
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -67,10 +69,11 @@ jstring Java_org_rocksdb_ThreadStatus_getOperationStageName(
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_getOperationPropertyName(
|
||||
JNIEnv* env, jclass, jbyte joperation_type_value, jint jindex) {
|
||||
auto name = rocksdb::ThreadStatus::GetOperationPropertyName(
|
||||
rocksdb::OperationTypeJni::toCppOperationType(joperation_type_value),
|
||||
auto name = ROCKSDB_NAMESPACE::ThreadStatus::GetOperationPropertyName(
|
||||
ROCKSDB_NAMESPACE::OperationTypeJni::toCppOperationType(
|
||||
joperation_type_value),
|
||||
static_cast<int>(jindex));
|
||||
return rocksdb::JniUtil::toJavaString(env, &name, true);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -96,10 +99,11 @@ jobject Java_org_rocksdb_ThreadStatus_interpretOperationProperties(
|
||||
env->ReleaseLongArrayElements(joperation_properties, jop, JNI_ABORT);
|
||||
|
||||
// call the function
|
||||
auto result = rocksdb::ThreadStatus::InterpretOperationProperties(
|
||||
rocksdb::OperationTypeJni::toCppOperationType(joperation_type_value),
|
||||
auto result = ROCKSDB_NAMESPACE::ThreadStatus::InterpretOperationProperties(
|
||||
ROCKSDB_NAMESPACE::OperationTypeJni::toCppOperationType(
|
||||
joperation_type_value),
|
||||
op_properties.get());
|
||||
jobject jresult = rocksdb::HashMapJni::fromCppMap(env, &result);
|
||||
jobject jresult = ROCKSDB_NAMESPACE::HashMapJni::fromCppMap(env, &result);
|
||||
if (env->ExceptionCheck()) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
@@ -115,7 +119,7 @@ jobject Java_org_rocksdb_ThreadStatus_interpretOperationProperties(
|
||||
*/
|
||||
jstring Java_org_rocksdb_ThreadStatus_getStateName(
|
||||
JNIEnv* env, jclass, jbyte jstate_type_value) {
|
||||
auto name = rocksdb::ThreadStatus::GetStateName(
|
||||
rocksdb::StateTypeJni::toCppStateType(jstate_type_value));
|
||||
return rocksdb::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
auto name = ROCKSDB_NAMESPACE::ThreadStatus::GetStateName(
|
||||
ROCKSDB_NAMESPACE::StateTypeJni::toCppStateType(jstate_type_value));
|
||||
return ROCKSDB_NAMESPACE::JniUtil::toJavaString(env, &name, true);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::CompactionFilterFactory.
|
||||
// ROCKSDB_NAMESPACE::CompactionFilterFactory.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_AbstractTraceWriter_createNewTraceWriter(
|
||||
JNIEnv* env, jobject jobj) {
|
||||
auto* trace_writer = new rocksdb::TraceWriterJniCallback(env, jobj);
|
||||
auto* trace_writer = new ROCKSDB_NAMESPACE::TraceWriterJniCallback(env, jobj);
|
||||
return reinterpret_cast<jlong>(trace_writer);
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TraceWriter.
|
||||
// ROCKSDB_NAMESPACE::TraceWriter.
|
||||
|
||||
#include "rocksjni/trace_writer_jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
TraceWriterJniCallback::TraceWriterJniCallback(
|
||||
JNIEnv* env, jobject jtrace_writer)
|
||||
: JniCallback(env, jtrace_writer) {
|
||||
@@ -112,4 +112,4 @@ uint64_t TraceWriterJniCallback::GetFileSize() {
|
||||
return static_cast<uint64_t>(jfile_size);
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TraceWriter.
|
||||
// ROCKSDB_NAMESPACE::TraceWriter.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_TRACE_WRITER_JNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_TRACE_WRITER_JNICALLBACK_H_
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "rocksdb/trace_reader_writer.h"
|
||||
#include "rocksjni/jnicallback.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class TraceWriterJniCallback : public JniCallback, public TraceWriter {
|
||||
public:
|
||||
@@ -31,6 +31,6 @@ class TraceWriterJniCallback : public JniCallback, public TraceWriter {
|
||||
jmethodID m_jget_file_size_methodid;
|
||||
};
|
||||
|
||||
} //namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_TRACE_WRITER_JNICALLBACK_H_
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::TransactionDB.
|
||||
// for ROCKSDB_NAMESPACE::TransactionDB.
|
||||
|
||||
#include <jni.h>
|
||||
#include <functional>
|
||||
@@ -27,23 +27,25 @@
|
||||
jlong Java_org_rocksdb_TransactionDB_open__JJLjava_lang_String_2(
|
||||
JNIEnv* env, jclass, jlong joptions_handle,
|
||||
jlong jtxn_db_options_handle, jstring jdb_path) {
|
||||
auto* options = reinterpret_cast<rocksdb::Options*>(joptions_handle);
|
||||
auto* options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Options*>(joptions_handle);
|
||||
auto* txn_db_options =
|
||||
reinterpret_cast<rocksdb::TransactionDBOptions*>(jtxn_db_options_handle);
|
||||
rocksdb::TransactionDB* tdb = nullptr;
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(
|
||||
jtxn_db_options_handle);
|
||||
ROCKSDB_NAMESPACE::TransactionDB* tdb = nullptr;
|
||||
const char* db_path = env->GetStringUTFChars(jdb_path, nullptr);
|
||||
if (db_path == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return 0;
|
||||
}
|
||||
rocksdb::Status s =
|
||||
rocksdb::TransactionDB::Open(*options, *txn_db_options, db_path, &tdb);
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::TransactionDB::Open(
|
||||
*options, *txn_db_options, db_path, &tdb);
|
||||
env->ReleaseStringUTFChars(jdb_path, db_path);
|
||||
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(tdb);
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -76,7 +78,7 @@ jlongArray Java_org_rocksdb_TransactionDB_open__JJLjava_lang_String_2_3_3B_3J(
|
||||
env->ReleaseStringUTFChars(jdb_path, db_path);
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor> column_families;
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor> column_families;
|
||||
for (int i = 0; i < len_cols; i++) {
|
||||
const jobject jcn = env->GetObjectArrayElement(jcolumn_names, i);
|
||||
if (env->ExceptionCheck()) {
|
||||
@@ -105,22 +107,24 @@ jlongArray Java_org_rocksdb_TransactionDB_open__JJLjava_lang_String_2_3_3B_3J(
|
||||
return nullptr;
|
||||
}
|
||||
const std::string cf_name(reinterpret_cast<char*>(jcf_name), jcf_name_len);
|
||||
const rocksdb::ColumnFamilyOptions* cf_options =
|
||||
reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jco[i]);
|
||||
const ROCKSDB_NAMESPACE::ColumnFamilyOptions* cf_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyOptions*>(jco[i]);
|
||||
column_families.push_back(
|
||||
rocksdb::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
|
||||
env->ReleaseByteArrayElements(jcn_ba, jcf_name, JNI_ABORT);
|
||||
env->DeleteLocalRef(jcn);
|
||||
}
|
||||
env->ReleaseLongArrayElements(jcolumn_options_handles, jco, JNI_ABORT);
|
||||
|
||||
auto* db_options = reinterpret_cast<rocksdb::DBOptions*>(jdb_options_handle);
|
||||
auto* db_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdb_options_handle);
|
||||
auto* txn_db_options =
|
||||
reinterpret_cast<rocksdb::TransactionDBOptions*>(jtxn_db_options_handle);
|
||||
std::vector<rocksdb::ColumnFamilyHandle*> handles;
|
||||
rocksdb::TransactionDB* tdb = nullptr;
|
||||
const rocksdb::Status s = rocksdb::TransactionDB::Open(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(
|
||||
jtxn_db_options_handle);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*> handles;
|
||||
ROCKSDB_NAMESPACE::TransactionDB* tdb = nullptr;
|
||||
const ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::TransactionDB::Open(
|
||||
*db_options, *txn_db_options, db_path, column_families, &handles, &tdb);
|
||||
|
||||
// check if open operation was successful
|
||||
@@ -146,7 +150,7 @@ jlongArray Java_org_rocksdb_TransactionDB_open__JJLjava_lang_String_2_3_3B_3J(
|
||||
}
|
||||
return jresults;
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
@@ -158,7 +162,7 @@ jlongArray Java_org_rocksdb_TransactionDB_open__JJLjava_lang_String_2_3_3B_3J(
|
||||
*/
|
||||
void Java_org_rocksdb_TransactionDB_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
assert(txn_db != nullptr);
|
||||
delete txn_db;
|
||||
}
|
||||
@@ -170,10 +174,10 @@ void Java_org_rocksdb_TransactionDB_disposeInternal(
|
||||
*/
|
||||
void Java_org_rocksdb_TransactionDB_closeDatabase(
|
||||
JNIEnv* env, jclass, jlong jhandle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
assert(txn_db != nullptr);
|
||||
rocksdb::Status s = txn_db->Close();
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::Status s = txn_db->Close();
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -183,10 +187,11 @@ void Java_org_rocksdb_TransactionDB_closeDatabase(
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionDB_beginTransaction__JJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
rocksdb::Transaction* txn = txn_db->BeginTransaction(*write_options);
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn =
|
||||
txn_db->BeginTransaction(*write_options);
|
||||
return reinterpret_cast<jlong>(txn);
|
||||
}
|
||||
|
||||
@@ -198,12 +203,12 @@ jlong Java_org_rocksdb_TransactionDB_beginTransaction__JJ(
|
||||
jlong Java_org_rocksdb_TransactionDB_beginTransaction__JJJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle,
|
||||
jlong jtxn_options_handle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
auto* txn_options =
|
||||
reinterpret_cast<rocksdb::TransactionOptions*>(jtxn_options_handle);
|
||||
rocksdb::Transaction* txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* txn_options = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(
|
||||
jtxn_options_handle);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn =
|
||||
txn_db->BeginTransaction(*write_options, *txn_options);
|
||||
return reinterpret_cast<jlong>(txn);
|
||||
}
|
||||
@@ -216,12 +221,13 @@ jlong Java_org_rocksdb_TransactionDB_beginTransaction__JJJ(
|
||||
jlong Java_org_rocksdb_TransactionDB_beginTransaction_1withOld__JJJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle,
|
||||
jlong jold_txn_handle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
auto* old_txn = reinterpret_cast<rocksdb::Transaction*>(jold_txn_handle);
|
||||
rocksdb::TransactionOptions txn_options;
|
||||
rocksdb::Transaction* txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* old_txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jold_txn_handle);
|
||||
ROCKSDB_NAMESPACE::TransactionOptions txn_options;
|
||||
ROCKSDB_NAMESPACE::Transaction* txn =
|
||||
txn_db->BeginTransaction(*write_options, txn_options, old_txn);
|
||||
|
||||
// RocksJava relies on the assumption that
|
||||
@@ -240,13 +246,14 @@ jlong Java_org_rocksdb_TransactionDB_beginTransaction_1withOld__JJJ(
|
||||
jlong Java_org_rocksdb_TransactionDB_beginTransaction_1withOld__JJJJ(
|
||||
JNIEnv*, jobject, jlong jhandle, jlong jwrite_options_handle,
|
||||
jlong jtxn_options_handle, jlong jold_txn_handle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
auto* write_options =
|
||||
reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
|
||||
auto* txn_options =
|
||||
reinterpret_cast<rocksdb::TransactionOptions*>(jtxn_options_handle);
|
||||
auto* old_txn = reinterpret_cast<rocksdb::Transaction*>(jold_txn_handle);
|
||||
rocksdb::Transaction* txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
|
||||
auto* txn_options = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(
|
||||
jtxn_options_handle);
|
||||
auto* old_txn =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jold_txn_handle);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn =
|
||||
txn_db->BeginTransaction(*write_options, *txn_options, old_txn);
|
||||
|
||||
// RocksJava relies on the assumption that
|
||||
@@ -264,13 +271,13 @@ jlong Java_org_rocksdb_TransactionDB_beginTransaction_1withOld__JJJJ(
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionDB_getTransactionByName(
|
||||
JNIEnv* env, jobject, jlong jhandle, jstring jname) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
const char* name = env->GetStringUTFChars(jname, nullptr);
|
||||
if (name == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return 0;
|
||||
}
|
||||
rocksdb::Transaction* txn = txn_db->GetTransactionByName(name);
|
||||
ROCKSDB_NAMESPACE::Transaction* txn = txn_db->GetTransactionByName(name);
|
||||
env->ReleaseStringUTFChars(jname, name);
|
||||
return reinterpret_cast<jlong>(txn);
|
||||
}
|
||||
@@ -282,8 +289,8 @@ jlong Java_org_rocksdb_TransactionDB_getTransactionByName(
|
||||
*/
|
||||
jlongArray Java_org_rocksdb_TransactionDB_getAllPreparedTransactions(
|
||||
JNIEnv* env, jobject, jlong jhandle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
std::vector<rocksdb::Transaction*> txns;
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
std::vector<ROCKSDB_NAMESPACE::Transaction*> txns;
|
||||
txn_db->GetAllPreparedTransactions(&txns);
|
||||
|
||||
const size_t size = txns.size();
|
||||
@@ -317,29 +324,29 @@ jlongArray Java_org_rocksdb_TransactionDB_getAllPreparedTransactions(
|
||||
*/
|
||||
jobject Java_org_rocksdb_TransactionDB_getLockStatusData(
|
||||
JNIEnv* env, jobject, jlong jhandle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
const std::unordered_multimap<uint32_t, rocksdb::KeyLockInfo>
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
const std::unordered_multimap<uint32_t, ROCKSDB_NAMESPACE::KeyLockInfo>
|
||||
lock_status_data = txn_db->GetLockStatusData();
|
||||
const jobject jlock_status_data = rocksdb::HashMapJni::construct(
|
||||
const jobject jlock_status_data = ROCKSDB_NAMESPACE::HashMapJni::construct(
|
||||
env, static_cast<uint32_t>(lock_status_data.size()));
|
||||
if (jlock_status_data == nullptr) {
|
||||
// exception occurred
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const rocksdb::HashMapJni::FnMapKV<const int32_t, const rocksdb::KeyLockInfo, jobject, jobject>
|
||||
const ROCKSDB_NAMESPACE::HashMapJni::FnMapKV<
|
||||
const int32_t, const ROCKSDB_NAMESPACE::KeyLockInfo, jobject, jobject>
|
||||
fn_map_kv =
|
||||
[env](
|
||||
const std::pair<const int32_t, const rocksdb::KeyLockInfo>&
|
||||
pair) {
|
||||
[env](const std::pair<const int32_t,
|
||||
const ROCKSDB_NAMESPACE::KeyLockInfo>& pair) {
|
||||
const jobject jlong_column_family_id =
|
||||
rocksdb::LongJni::valueOf(env, pair.first);
|
||||
ROCKSDB_NAMESPACE::LongJni::valueOf(env, pair.first);
|
||||
if (jlong_column_family_id == nullptr) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
}
|
||||
const jobject jkey_lock_info =
|
||||
rocksdb::KeyLockInfoJni::construct(env, pair.second);
|
||||
ROCKSDB_NAMESPACE::KeyLockInfoJni::construct(env, pair.second);
|
||||
if (jkey_lock_info == nullptr) {
|
||||
// an error occurred
|
||||
return std::unique_ptr<std::pair<jobject, jobject>>(nullptr);
|
||||
@@ -349,9 +356,9 @@ jobject Java_org_rocksdb_TransactionDB_getLockStatusData(
|
||||
jkey_lock_info));
|
||||
};
|
||||
|
||||
if (!rocksdb::HashMapJni::putAll(env, jlock_status_data,
|
||||
lock_status_data.begin(),
|
||||
lock_status_data.end(), fn_map_kv)) {
|
||||
if (!ROCKSDB_NAMESPACE::HashMapJni::putAll(
|
||||
env, jlock_status_data, lock_status_data.begin(),
|
||||
lock_status_data.end(), fn_map_kv)) {
|
||||
// exception occcurred
|
||||
return nullptr;
|
||||
}
|
||||
@@ -366,15 +373,15 @@ jobject Java_org_rocksdb_TransactionDB_getLockStatusData(
|
||||
*/
|
||||
jobjectArray Java_org_rocksdb_TransactionDB_getDeadlockInfoBuffer(
|
||||
JNIEnv* env, jobject jobj, jlong jhandle) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
const std::vector<rocksdb::DeadlockPath> deadlock_info_buffer =
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
const std::vector<ROCKSDB_NAMESPACE::DeadlockPath> deadlock_info_buffer =
|
||||
txn_db->GetDeadlockInfoBuffer();
|
||||
|
||||
const jsize deadlock_info_buffer_len =
|
||||
static_cast<jsize>(deadlock_info_buffer.size());
|
||||
jobjectArray jdeadlock_info_buffer =
|
||||
env->NewObjectArray(deadlock_info_buffer_len,
|
||||
rocksdb::DeadlockPathJni::getJClass(env), nullptr);
|
||||
jobjectArray jdeadlock_info_buffer = env->NewObjectArray(
|
||||
deadlock_info_buffer_len,
|
||||
ROCKSDB_NAMESPACE::DeadlockPathJni::getJClass(env), nullptr);
|
||||
if (jdeadlock_info_buffer == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return nullptr;
|
||||
@@ -384,13 +391,14 @@ jobjectArray Java_org_rocksdb_TransactionDB_getDeadlockInfoBuffer(
|
||||
auto buf_end = deadlock_info_buffer.end();
|
||||
for (auto buf_it = deadlock_info_buffer.begin(); buf_it != buf_end;
|
||||
++buf_it) {
|
||||
const rocksdb::DeadlockPath deadlock_path = *buf_it;
|
||||
const std::vector<rocksdb::DeadlockInfo> deadlock_infos =
|
||||
const ROCKSDB_NAMESPACE::DeadlockPath deadlock_path = *buf_it;
|
||||
const std::vector<ROCKSDB_NAMESPACE::DeadlockInfo> deadlock_infos =
|
||||
deadlock_path.path;
|
||||
const jsize deadlock_infos_len =
|
||||
static_cast<jsize>(deadlock_info_buffer.size());
|
||||
jobjectArray jdeadlock_infos = env->NewObjectArray(
|
||||
deadlock_infos_len, rocksdb::DeadlockInfoJni::getJClass(env), nullptr);
|
||||
deadlock_infos_len, ROCKSDB_NAMESPACE::DeadlockInfoJni::getJClass(env),
|
||||
nullptr);
|
||||
if (jdeadlock_infos == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
env->DeleteLocalRef(jdeadlock_info_buffer);
|
||||
@@ -401,10 +409,11 @@ jobjectArray Java_org_rocksdb_TransactionDB_getDeadlockInfoBuffer(
|
||||
auto infos_end = deadlock_infos.end();
|
||||
for (auto infos_it = deadlock_infos.begin(); infos_it != infos_end;
|
||||
++infos_it) {
|
||||
const rocksdb::DeadlockInfo deadlock_info = *infos_it;
|
||||
const jobject jdeadlock_info = rocksdb::TransactionDBJni::newDeadlockInfo(
|
||||
env, jobj, deadlock_info.m_txn_id, deadlock_info.m_cf_id,
|
||||
deadlock_info.m_waiting_key, deadlock_info.m_exclusive);
|
||||
const ROCKSDB_NAMESPACE::DeadlockInfo deadlock_info = *infos_it;
|
||||
const jobject jdeadlock_info =
|
||||
ROCKSDB_NAMESPACE::TransactionDBJni::newDeadlockInfo(
|
||||
env, jobj, deadlock_info.m_txn_id, deadlock_info.m_cf_id,
|
||||
deadlock_info.m_waiting_key, deadlock_info.m_exclusive);
|
||||
if (jdeadlock_info == nullptr) {
|
||||
// exception occcurred
|
||||
env->DeleteLocalRef(jdeadlock_info_buffer);
|
||||
@@ -421,8 +430,9 @@ jobjectArray Java_org_rocksdb_TransactionDB_getDeadlockInfoBuffer(
|
||||
}
|
||||
}
|
||||
|
||||
const jobject jdeadlock_path = rocksdb::DeadlockPathJni::construct(
|
||||
env, jdeadlock_infos, deadlock_path.limit_exceeded);
|
||||
const jobject jdeadlock_path =
|
||||
ROCKSDB_NAMESPACE::DeadlockPathJni::construct(
|
||||
env, jdeadlock_infos, deadlock_path.limit_exceeded);
|
||||
if (jdeadlock_path == nullptr) {
|
||||
// exception occcurred
|
||||
env->DeleteLocalRef(jdeadlock_info_buffer);
|
||||
@@ -448,6 +458,6 @@ jobjectArray Java_org_rocksdb_TransactionDB_getDeadlockInfoBuffer(
|
||||
*/
|
||||
void Java_org_rocksdb_TransactionDB_setDeadlockInfoBufferSize(
|
||||
JNIEnv*, jobject, jlong jhandle, jint jdeadlock_info_buffer_size) {
|
||||
auto* txn_db = reinterpret_cast<rocksdb::TransactionDB*>(jhandle);
|
||||
auto* txn_db = reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDB*>(jhandle);
|
||||
txn_db->SetDeadlockInfoBufferSize(jdeadlock_info_buffer_size);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::TransactionDBOptions.
|
||||
// for ROCKSDB_NAMESPACE::TransactionDBOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionDBOptions_newTransactionDBOptions(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/) {
|
||||
rocksdb::TransactionDBOptions* opts = new rocksdb::TransactionDBOptions();
|
||||
ROCKSDB_NAMESPACE::TransactionDBOptions* opts =
|
||||
new ROCKSDB_NAMESPACE::TransactionDBOptions();
|
||||
return reinterpret_cast<jlong>(opts);
|
||||
}
|
||||
|
||||
@@ -33,7 +34,8 @@ jlong Java_org_rocksdb_TransactionDBOptions_newTransactionDBOptions(
|
||||
jlong Java_org_rocksdb_TransactionDBOptions_getMaxNumLocks(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
return opts->max_num_locks;
|
||||
}
|
||||
|
||||
@@ -44,7 +46,8 @@ jlong Java_org_rocksdb_TransactionDBOptions_getMaxNumLocks(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_TransactionDBOptions_setMaxNumLocks(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jlong jmax_num_locks) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
opts->max_num_locks = jmax_num_locks;
|
||||
}
|
||||
|
||||
@@ -56,7 +59,8 @@ void Java_org_rocksdb_TransactionDBOptions_setMaxNumLocks(
|
||||
jlong Java_org_rocksdb_TransactionDBOptions_getNumStripes(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
return opts->num_stripes;
|
||||
}
|
||||
|
||||
@@ -69,7 +73,8 @@ void Java_org_rocksdb_TransactionDBOptions_setNumStripes(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong jnum_stripes) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
opts->num_stripes = jnum_stripes;
|
||||
}
|
||||
|
||||
@@ -80,7 +85,8 @@ void Java_org_rocksdb_TransactionDBOptions_setNumStripes(JNIEnv* /*env*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionDBOptions_getTransactionLockTimeout(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
return opts->transaction_lock_timeout;
|
||||
}
|
||||
|
||||
@@ -92,7 +98,8 @@ jlong Java_org_rocksdb_TransactionDBOptions_getTransactionLockTimeout(
|
||||
void Java_org_rocksdb_TransactionDBOptions_setTransactionLockTimeout(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jtransaction_lock_timeout) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
opts->transaction_lock_timeout = jtransaction_lock_timeout;
|
||||
}
|
||||
|
||||
@@ -103,7 +110,8 @@ void Java_org_rocksdb_TransactionDBOptions_setTransactionLockTimeout(
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionDBOptions_getDefaultLockTimeout(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
return opts->default_lock_timeout;
|
||||
}
|
||||
|
||||
@@ -115,7 +123,8 @@ jlong Java_org_rocksdb_TransactionDBOptions_getDefaultLockTimeout(
|
||||
void Java_org_rocksdb_TransactionDBOptions_setDefaultLockTimeout(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jdefault_lock_timeout) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
opts->default_lock_timeout = jdefault_lock_timeout;
|
||||
}
|
||||
|
||||
@@ -127,8 +136,9 @@ void Java_org_rocksdb_TransactionDBOptions_setDefaultLockTimeout(
|
||||
jbyte Java_org_rocksdb_TransactionDBOptions_getWritePolicy(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
return rocksdb::TxnDBWritePolicyJni::toJavaTxnDBWritePolicy(
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
return ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toJavaTxnDBWritePolicy(
|
||||
opts->write_policy);
|
||||
}
|
||||
|
||||
@@ -141,9 +151,11 @@ void Java_org_rocksdb_TransactionDBOptions_setWritePolicy(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jbyte jwrite_policy) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
opts->write_policy =
|
||||
rocksdb::TxnDBWritePolicyJni::toCppTxnDBWritePolicy(jwrite_policy);
|
||||
ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toCppTxnDBWritePolicy(
|
||||
jwrite_policy);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -154,5 +166,5 @@ void Java_org_rocksdb_TransactionDBOptions_setWritePolicy(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_TransactionDBOptions_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::TransactionDBOptions*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::Iterator methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::Iterator methods from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdio.h>
|
||||
@@ -22,7 +22,7 @@
|
||||
void Java_org_rocksdb_TransactionLogIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
delete reinterpret_cast<rocksdb::TransactionLogIterator*>(handle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionLogIterator*>(handle);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -33,7 +33,8 @@ void Java_org_rocksdb_TransactionLogIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_TransactionLogIterator_isValid(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<rocksdb::TransactionLogIterator*>(handle)->Valid();
|
||||
return reinterpret_cast<ROCKSDB_NAMESPACE::TransactionLogIterator*>(handle)
|
||||
->Valid();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -44,7 +45,7 @@ jboolean Java_org_rocksdb_TransactionLogIterator_isValid(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_TransactionLogIterator_next(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::TransactionLogIterator*>(handle)->Next();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionLogIterator*>(handle)->Next();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -55,10 +56,11 @@ void Java_org_rocksdb_TransactionLogIterator_next(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_TransactionLogIterator_status(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
rocksdb::Status s =
|
||||
reinterpret_cast<rocksdb::TransactionLogIterator*>(handle)->status();
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionLogIterator*>(handle)
|
||||
->status();
|
||||
if (!s.ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +72,8 @@ void Java_org_rocksdb_TransactionLogIterator_status(JNIEnv* env,
|
||||
jobject Java_org_rocksdb_TransactionLogIterator_getBatch(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
rocksdb::BatchResult batch_result =
|
||||
reinterpret_cast<rocksdb::TransactionLogIterator*>(handle)->GetBatch();
|
||||
return rocksdb::BatchResultJni::construct(env, batch_result);
|
||||
ROCKSDB_NAMESPACE::BatchResult batch_result =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionLogIterator*>(handle)
|
||||
->GetBatch();
|
||||
return ROCKSDB_NAMESPACE::BatchResultJni::construct(env, batch_result);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::TransactionNotifier.
|
||||
// for ROCKSDB_NAMESPACE::TransactionNotifier.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
jlong Java_org_rocksdb_AbstractTransactionNotifier_createNewTransactionNotifier(
|
||||
JNIEnv* env, jobject jobj) {
|
||||
auto* transaction_notifier =
|
||||
new rocksdb::TransactionNotifierJniCallback(env, jobj);
|
||||
new ROCKSDB_NAMESPACE::TransactionNotifierJniCallback(env, jobj);
|
||||
auto* sptr_transaction_notifier =
|
||||
new std::shared_ptr<rocksdb::TransactionNotifierJniCallback>(
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::TransactionNotifierJniCallback>(
|
||||
transaction_notifier);
|
||||
return reinterpret_cast<jlong>(sptr_transaction_notifier);
|
||||
}
|
||||
@@ -35,8 +35,9 @@ void Java_org_rocksdb_AbstractTransactionNotifier_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
// TODO(AR) refactor to use JniCallback::JniCallback
|
||||
// when https://github.com/facebook/rocksdb/pull/1241/ is merged
|
||||
std::shared_ptr<rocksdb::TransactionNotifierJniCallback>* handle =
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::TransactionNotifierJniCallback>* handle =
|
||||
reinterpret_cast<
|
||||
std::shared_ptr<rocksdb::TransactionNotifierJniCallback>*>(jhandle);
|
||||
std::shared_ptr<ROCKSDB_NAMESPACE::TransactionNotifierJniCallback>*>(
|
||||
jhandle);
|
||||
delete handle;
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TransactionNotifier.
|
||||
// ROCKSDB_NAMESPACE::TransactionNotifier.
|
||||
|
||||
#include "rocksjni/transaction_notifier_jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
TransactionNotifierJniCallback::TransactionNotifierJniCallback(JNIEnv* env,
|
||||
jobject jtransaction_notifier) : JniCallback(env, jtransaction_notifier) {
|
||||
@@ -36,4 +36,4 @@ void TransactionNotifierJniCallback::SnapshotCreated(
|
||||
|
||||
releaseJniEnv(attached_thread);
|
||||
}
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::TransactionNotifier.
|
||||
// ROCKSDB_NAMESPACE::TransactionNotifier.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_TRANSACTION_NOTIFIER_JNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_TRANSACTION_NOTIFIER_JNICALLBACK_H_
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "rocksdb/utilities/transaction.h"
|
||||
#include "rocksjni/jnicallback.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
/**
|
||||
* This class acts as a bridge between C++
|
||||
@@ -37,6 +37,6 @@ class TransactionNotifierJniCallback: public JniCallback,
|
||||
private:
|
||||
jmethodID m_jsnapshot_created_methodID;
|
||||
};
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_TRANSACTION_NOTIFIER_JNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++
|
||||
// for rocksdb::TransactionOptions.
|
||||
// for ROCKSDB_NAMESPACE::TransactionOptions.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionOptions_newTransactionOptions(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/) {
|
||||
auto* opts = new rocksdb::TransactionOptions();
|
||||
auto* opts = new ROCKSDB_NAMESPACE::TransactionOptions();
|
||||
return reinterpret_cast<jlong>(opts);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,8 @@ jlong Java_org_rocksdb_TransactionOptions_newTransactionOptions(
|
||||
jboolean Java_org_rocksdb_TransactionOptions_isSetSnapshot(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->set_snapshot;
|
||||
}
|
||||
|
||||
@@ -42,7 +43,8 @@ jboolean Java_org_rocksdb_TransactionOptions_isSetSnapshot(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_TransactionOptions_setSetSnapshot(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean jset_snapshot) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->set_snapshot = jset_snapshot;
|
||||
}
|
||||
|
||||
@@ -54,7 +56,8 @@ void Java_org_rocksdb_TransactionOptions_setSetSnapshot(
|
||||
jboolean Java_org_rocksdb_TransactionOptions_isDeadlockDetect(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->deadlock_detect;
|
||||
}
|
||||
|
||||
@@ -66,7 +69,8 @@ jboolean Java_org_rocksdb_TransactionOptions_isDeadlockDetect(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_TransactionOptions_setDeadlockDetect(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jboolean jdeadlock_detect) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->deadlock_detect = jdeadlock_detect;
|
||||
}
|
||||
|
||||
@@ -78,7 +82,8 @@ void Java_org_rocksdb_TransactionOptions_setDeadlockDetect(
|
||||
jlong Java_org_rocksdb_TransactionOptions_getLockTimeout(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->lock_timeout;
|
||||
}
|
||||
|
||||
@@ -91,7 +96,8 @@ void Java_org_rocksdb_TransactionOptions_setLockTimeout(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong jlock_timeout) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->lock_timeout = jlock_timeout;
|
||||
}
|
||||
|
||||
@@ -103,7 +109,8 @@ void Java_org_rocksdb_TransactionOptions_setLockTimeout(JNIEnv* /*env*/,
|
||||
jlong Java_org_rocksdb_TransactionOptions_getExpiration(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->expiration;
|
||||
}
|
||||
|
||||
@@ -116,7 +123,8 @@ void Java_org_rocksdb_TransactionOptions_setExpiration(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle,
|
||||
jlong jexpiration) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->expiration = jexpiration;
|
||||
}
|
||||
|
||||
@@ -127,7 +135,8 @@ void Java_org_rocksdb_TransactionOptions_setExpiration(JNIEnv* /*env*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_TransactionOptions_getDeadlockDetectDepth(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->deadlock_detect_depth;
|
||||
}
|
||||
|
||||
@@ -139,7 +148,8 @@ jlong Java_org_rocksdb_TransactionOptions_getDeadlockDetectDepth(
|
||||
void Java_org_rocksdb_TransactionOptions_setDeadlockDetectDepth(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jdeadlock_detect_depth) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->deadlock_detect_depth = jdeadlock_detect_depth;
|
||||
}
|
||||
|
||||
@@ -151,7 +161,8 @@ void Java_org_rocksdb_TransactionOptions_setDeadlockDetectDepth(
|
||||
jlong Java_org_rocksdb_TransactionOptions_getMaxWriteBatchSize(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
return opts->max_write_batch_size;
|
||||
}
|
||||
|
||||
@@ -163,7 +174,8 @@ jlong Java_org_rocksdb_TransactionOptions_getMaxWriteBatchSize(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_TransactionOptions_setMaxWriteBatchSize(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
|
||||
jlong jmax_write_batch_size) {
|
||||
auto* opts = reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
auto* opts =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
opts->max_write_batch_size = jmax_write_batch_size;
|
||||
}
|
||||
|
||||
@@ -175,5 +187,5 @@ void Java_org_rocksdb_TransactionOptions_setMaxWriteBatchSize(
|
||||
void Java_org_rocksdb_TransactionOptions_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jhandle) {
|
||||
delete reinterpret_cast<rocksdb::TransactionOptions*>(jhandle);
|
||||
delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::TtlDB methods.
|
||||
// calling c++ ROCKSDB_NAMESPACE::TtlDB methods.
|
||||
// from Java side.
|
||||
|
||||
#include <jni.h>
|
||||
@@ -32,10 +32,10 @@ jlong Java_org_rocksdb_TtlDB_open(
|
||||
return 0;
|
||||
}
|
||||
|
||||
auto* opt = reinterpret_cast<rocksdb::Options*>(joptions_handle);
|
||||
rocksdb::DBWithTTL* db = nullptr;
|
||||
rocksdb::Status s =
|
||||
rocksdb::DBWithTTL::Open(*opt, db_path, &db, jttl, jread_only);
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::Options*>(joptions_handle);
|
||||
ROCKSDB_NAMESPACE::DBWithTTL* db = nullptr;
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::DBWithTTL::Open(*opt, db_path, &db, jttl, jread_only);
|
||||
env->ReleaseStringUTFChars(jdb_path, db_path);
|
||||
|
||||
// as TTLDB extends RocksDB on the java side, we can reuse
|
||||
@@ -43,7 +43,7 @@ jlong Java_org_rocksdb_TtlDB_open(
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(db);
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -71,18 +71,18 @@ jlongArray Java_org_rocksdb_TtlDB_openCF(
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::vector<rocksdb::ColumnFamilyDescriptor> column_families;
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyDescriptor> column_families;
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
rocksdb::JniUtil::byteStrings<std::string>(
|
||||
ROCKSDB_NAMESPACE::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]);
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyOptions* cf_options =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyOptions*>(jco[idx]);
|
||||
column_families.push_back(
|
||||
rocksdb::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyDescriptor(cf_name, *cf_options));
|
||||
},
|
||||
&has_exception);
|
||||
|
||||
@@ -107,10 +107,10 @@ jlongArray Java_org_rocksdb_TtlDB_openCF(
|
||||
}
|
||||
env->ReleaseIntArrayElements(jttls, jttlv, JNI_ABORT);
|
||||
|
||||
auto* opt = reinterpret_cast<rocksdb::DBOptions*>(jopt_handle);
|
||||
std::vector<rocksdb::ColumnFamilyHandle*> handles;
|
||||
rocksdb::DBWithTTL* db = nullptr;
|
||||
rocksdb::Status s = rocksdb::DBWithTTL::Open(
|
||||
auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jopt_handle);
|
||||
std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*> handles;
|
||||
ROCKSDB_NAMESPACE::DBWithTTL* db = nullptr;
|
||||
ROCKSDB_NAMESPACE::Status s = ROCKSDB_NAMESPACE::DBWithTTL::Open(
|
||||
*opt, db_path, column_families, &handles, &db, ttl_values, jread_only);
|
||||
|
||||
// we have now finished with db_path
|
||||
@@ -141,7 +141,7 @@ jlongArray Java_org_rocksdb_TtlDB_openCF(
|
||||
|
||||
return jresults;
|
||||
} else {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -153,7 +153,7 @@ jlongArray Java_org_rocksdb_TtlDB_openCF(
|
||||
*/
|
||||
void Java_org_rocksdb_TtlDB_disposeInternal(
|
||||
JNIEnv*, jobject, jlong jhandle) {
|
||||
auto* ttl_db = reinterpret_cast<rocksdb::DBWithTTL*>(jhandle);
|
||||
auto* ttl_db = reinterpret_cast<ROCKSDB_NAMESPACE::DBWithTTL*>(jhandle);
|
||||
assert(ttl_db != nullptr);
|
||||
delete ttl_db;
|
||||
}
|
||||
@@ -165,10 +165,10 @@ void Java_org_rocksdb_TtlDB_disposeInternal(
|
||||
*/
|
||||
void Java_org_rocksdb_TtlDB_closeDatabase(
|
||||
JNIEnv* /* env */, jclass, jlong /* jhandle */) {
|
||||
//auto* ttl_db = reinterpret_cast<rocksdb::DBWithTTL*>(jhandle);
|
||||
//assert(ttl_db != nullptr);
|
||||
//rocksdb::Status s = ttl_db->Close();
|
||||
//rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
// auto* ttl_db = reinterpret_cast<ROCKSDB_NAMESPACE::DBWithTTL*>(jhandle);
|
||||
// assert(ttl_db != nullptr);
|
||||
// ROCKSDB_NAMESPACE::Status s = ttl_db->Close();
|
||||
// ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
|
||||
//TODO(AR) this is disabled until https://github.com/facebook/rocksdb/issues/4818 is resolved!
|
||||
}
|
||||
@@ -188,12 +188,12 @@ jlong Java_org_rocksdb_TtlDB_createColumnFamilyWithTtl(
|
||||
}
|
||||
const jsize len = env->GetArrayLength(jcolumn_name);
|
||||
|
||||
auto* cfOptions =
|
||||
reinterpret_cast<rocksdb::ColumnFamilyOptions*>(jcolumn_options);
|
||||
auto* cfOptions = reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyOptions*>(
|
||||
jcolumn_options);
|
||||
|
||||
auto* db_handle = reinterpret_cast<rocksdb::DBWithTTL*>(jdb_handle);
|
||||
rocksdb::ColumnFamilyHandle* handle;
|
||||
rocksdb::Status s = db_handle->CreateColumnFamilyWithTtl(
|
||||
auto* db_handle = reinterpret_cast<ROCKSDB_NAMESPACE::DBWithTTL*>(jdb_handle);
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyHandle* handle;
|
||||
ROCKSDB_NAMESPACE::Status s = db_handle->CreateColumnFamilyWithTtl(
|
||||
*cfOptions, std::string(reinterpret_cast<char*>(cfname), len), &handle,
|
||||
jttl);
|
||||
|
||||
@@ -202,6 +202,6 @@ jlong Java_org_rocksdb_TtlDB_createColumnFamilyWithTtl(
|
||||
if (s.ok()) {
|
||||
return reinterpret_cast<jlong>(handle);
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ for
|
||||
// rocksdb::WalFilter.
|
||||
// ROCKSDB_NAMESPACE::WalFilter.
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_AbstractWalFilter_createNewWalFilter(
|
||||
JNIEnv* env, jobject jobj) {
|
||||
auto* wal_filter = new rocksdb::WalFilterJniCallback(env, jobj);
|
||||
auto* wal_filter = new ROCKSDB_NAMESPACE::WalFilterJniCallback(env, jobj);
|
||||
return reinterpret_cast<jlong>(wal_filter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::WalFilter.
|
||||
// ROCKSDB_NAMESPACE::WalFilter.
|
||||
|
||||
#include "rocksjni/wal_filter_jnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
WalFilterJniCallback::WalFilterJniCallback(
|
||||
JNIEnv* env, jobject jwal_filter)
|
||||
: JniCallback(env, jwal_filter) {
|
||||
@@ -58,7 +58,7 @@ void WalFilterJniCallback::ColumnFamilyLogNumberMap(
|
||||
}
|
||||
|
||||
jobject jcf_lognumber_map =
|
||||
rocksdb::HashMapJni::fromCppMap(env, &cf_lognumber_map);
|
||||
ROCKSDB_NAMESPACE::HashMapJni::fromCppMap(env, &cf_lognumber_map);
|
||||
if (jcf_lognumber_map == nullptr) {
|
||||
// exception occurred
|
||||
env->ExceptionDescribe(); // print out exception to stderr
|
||||
@@ -67,7 +67,7 @@ void WalFilterJniCallback::ColumnFamilyLogNumberMap(
|
||||
}
|
||||
|
||||
jobject jcf_name_id_map =
|
||||
rocksdb::HashMapJni::fromCppMap(env, &cf_name_id_map);
|
||||
ROCKSDB_NAMESPACE::HashMapJni::fromCppMap(env, &cf_name_id_map);
|
||||
if (jcf_name_id_map == nullptr) {
|
||||
// exception occurred
|
||||
env->ExceptionDescribe(); // print out exception to stderr
|
||||
@@ -141,4 +141,4 @@ const char* WalFilterJniCallback::Name() const {
|
||||
return m_name.get();
|
||||
}
|
||||
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::WalFilter.
|
||||
// ROCKSDB_NAMESPACE::WalFilter.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_WAL_FILTER_JNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_WAL_FILTER_JNICALLBACK_H_
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "rocksdb/wal_filter.h"
|
||||
#include "rocksjni/jnicallback.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
class WalFilterJniCallback : public JniCallback, public WalFilter {
|
||||
public:
|
||||
@@ -37,6 +37,6 @@ class WalFilterJniCallback : public JniCallback, public WalFilter {
|
||||
jmethodID m_log_record_found_proxy_mid;
|
||||
};
|
||||
|
||||
} //namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_WAL_FILTER_JNICALLBACK_H_
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::WriteBatch methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::WriteBatch methods from Java side.
|
||||
#include <memory>
|
||||
|
||||
#include "db/memtable.h"
|
||||
@@ -30,7 +30,8 @@
|
||||
jlong Java_org_rocksdb_WriteBatch_newWriteBatch__I(JNIEnv* /*env*/,
|
||||
jclass /*jcls*/,
|
||||
jint jreserved_bytes) {
|
||||
auto* wb = new rocksdb::WriteBatch(static_cast<size_t>(jreserved_bytes));
|
||||
auto* wb =
|
||||
new ROCKSDB_NAMESPACE::WriteBatch(static_cast<size_t>(jreserved_bytes));
|
||||
return reinterpret_cast<jlong>(wb);
|
||||
}
|
||||
|
||||
@@ -44,7 +45,7 @@ jlong Java_org_rocksdb_WriteBatch_newWriteBatch___3BI(JNIEnv* env,
|
||||
jbyteArray jserialized,
|
||||
jint jserialized_length) {
|
||||
jboolean has_exception = JNI_FALSE;
|
||||
std::string serialized = rocksdb::JniUtil::byteString<std::string>(
|
||||
std::string serialized = ROCKSDB_NAMESPACE::JniUtil::byteString<std::string>(
|
||||
env, jserialized, jserialized_length,
|
||||
[](const char* str, const size_t len) { return std::string(str, len); },
|
||||
&has_exception);
|
||||
@@ -53,7 +54,7 @@ jlong Java_org_rocksdb_WriteBatch_newWriteBatch___3BI(JNIEnv* env,
|
||||
return 0;
|
||||
}
|
||||
|
||||
auto* wb = new rocksdb::WriteBatch(serialized);
|
||||
auto* wb = new ROCKSDB_NAMESPACE::WriteBatch(serialized);
|
||||
return reinterpret_cast<jlong>(wb);
|
||||
}
|
||||
|
||||
@@ -64,7 +65,7 @@ jlong Java_org_rocksdb_WriteBatch_newWriteBatch___3BI(JNIEnv* env,
|
||||
*/
|
||||
jint Java_org_rocksdb_WriteBatch_count0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return static_cast<jint>(wb->Count());
|
||||
@@ -77,7 +78,7 @@ jint Java_org_rocksdb_WriteBatch_count0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_WriteBatch_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
wb->Clear();
|
||||
@@ -91,7 +92,7 @@ void Java_org_rocksdb_WriteBatch_clear0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WriteBatch_setSavePoint0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
wb->SetSavePoint();
|
||||
@@ -105,7 +106,7 @@ void Java_org_rocksdb_WriteBatch_setSavePoint0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WriteBatch_rollbackToSavePoint0(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
auto s = wb->RollbackToSavePoint();
|
||||
@@ -113,7 +114,7 @@ void Java_org_rocksdb_WriteBatch_rollbackToSavePoint0(JNIEnv* env,
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -123,7 +124,7 @@ void Java_org_rocksdb_WriteBatch_rollbackToSavePoint0(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_WriteBatch_popSavePoint(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
auto s = wb->PopSavePoint();
|
||||
@@ -131,7 +132,7 @@ void Java_org_rocksdb_WriteBatch_popSavePoint(JNIEnv* env, jobject /*jobj*/,
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -142,7 +143,7 @@ void Java_org_rocksdb_WriteBatch_popSavePoint(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WriteBatch_setMaxBytes(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jwb_handle,
|
||||
jlong jmax_bytes) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
wb->SetMaxBytes(static_cast<size_t>(jmax_bytes));
|
||||
@@ -158,15 +159,17 @@ void Java_org_rocksdb_WriteBatch_put__J_3BI_3BI(JNIEnv* env, jobject jobj,
|
||||
jbyteArray jkey, jint jkey_len,
|
||||
jbyteArray jentry_value,
|
||||
jint jentry_value_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto put = [&wb](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto put = [&wb](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wb->Put(key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
put, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(put, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,17 +181,20 @@ void Java_org_rocksdb_WriteBatch_put__J_3BI_3BI(JNIEnv* env, jobject jobj,
|
||||
void Java_org_rocksdb_WriteBatch_put__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwb_handle, jbyteArray jkey, jint jkey_len,
|
||||
jbyteArray jentry_value, jint jentry_value_len, jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto put = [&wb, &cf_handle](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto put = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wb->Put(cf_handle, key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
put, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(put, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,18 +208,20 @@ void Java_org_rocksdb_WriteBatch_putDirect(JNIEnv* env, jobject /*jobj*/,
|
||||
jint jkey_offset, jint jkey_len,
|
||||
jobject jval, jint jval_offset,
|
||||
jint jval_len, jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto put = [&wb, &cf_handle](rocksdb::Slice& key, rocksdb::Slice& value) {
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto put = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice& key,
|
||||
ROCKSDB_NAMESPACE::Slice& value) {
|
||||
if (cf_handle == nullptr) {
|
||||
wb->Put(key, value);
|
||||
} else {
|
||||
wb->Put(cf_handle, key, value);
|
||||
}
|
||||
};
|
||||
rocksdb::JniUtil::kv_op_direct(put, env, jkey, jkey_offset, jkey_len, jval,
|
||||
jval_offset, jval_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op_direct(
|
||||
put, env, jkey, jkey_offset, jkey_len, jval, jval_offset, jval_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -224,15 +232,17 @@ void Java_org_rocksdb_WriteBatch_putDirect(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WriteBatch_merge__J_3BI_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwb_handle, jbyteArray jkey, jint jkey_len,
|
||||
jbyteArray jentry_value, jint jentry_value_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto merge = [&wb](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto merge = [&wb](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wb->Merge(key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
merge, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(merge, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,17 +254,20 @@ void Java_org_rocksdb_WriteBatch_merge__J_3BI_3BI(
|
||||
void Java_org_rocksdb_WriteBatch_merge__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwb_handle, jbyteArray jkey, jint jkey_len,
|
||||
jbyteArray jentry_value, jint jentry_value_len, jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto merge = [&wb, &cf_handle](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto merge = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wb->Merge(cf_handle, key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
merge, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(merge, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,13 +279,13 @@ void Java_org_rocksdb_WriteBatch_merge__J_3BI_3BIJ(
|
||||
void Java_org_rocksdb_WriteBatch_delete__J_3BI(JNIEnv* env, jobject jobj,
|
||||
jlong jwb_handle,
|
||||
jbyteArray jkey, jint jkey_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto remove = [&wb](rocksdb::Slice key) { return wb->Delete(key); };
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
auto remove = [&wb](ROCKSDB_NAMESPACE::Slice key) { return wb->Delete(key); };
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,17 +298,18 @@ void Java_org_rocksdb_WriteBatch_delete__J_3BIJ(JNIEnv* env, jobject jobj,
|
||||
jlong jwb_handle,
|
||||
jbyteArray jkey, jint jkey_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto remove = [&wb, &cf_handle](rocksdb::Slice key) {
|
||||
auto remove = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wb->Delete(cf_handle, key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,15 +322,16 @@ void Java_org_rocksdb_WriteBatch_singleDelete__J_3BI(JNIEnv* env, jobject jobj,
|
||||
jlong jwb_handle,
|
||||
jbyteArray jkey,
|
||||
jint jkey_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto single_delete = [&wb](rocksdb::Slice key) {
|
||||
auto single_delete = [&wb](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wb->SingleDelete(key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(single_delete, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(single_delete, env, jobj, jkey,
|
||||
jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,17 +345,19 @@ void Java_org_rocksdb_WriteBatch_singleDelete__J_3BIJ(JNIEnv* env, jobject jobj,
|
||||
jbyteArray jkey,
|
||||
jint jkey_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto single_delete = [&wb, &cf_handle](rocksdb::Slice key) {
|
||||
auto single_delete = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wb->SingleDelete(cf_handle, key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(single_delete, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(single_delete, env, jobj, jkey,
|
||||
jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,17 +370,19 @@ void Java_org_rocksdb_WriteBatch_removeDirect(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong jwb_handle, jobject jkey,
|
||||
jint jkey_offset, jint jkey_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto remove = [&wb, &cf_handle](rocksdb::Slice& key) {
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto remove = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice& key) {
|
||||
if (cf_handle == nullptr) {
|
||||
wb->Delete(key);
|
||||
} else {
|
||||
wb->Delete(cf_handle, key);
|
||||
}
|
||||
};
|
||||
rocksdb::JniUtil::k_op_direct(remove, env, jkey, jkey_offset, jkey_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(remove, env, jkey, jkey_offset,
|
||||
jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -374,16 +393,17 @@ void Java_org_rocksdb_WriteBatch_removeDirect(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WriteBatch_deleteRange__J_3BI_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwb_handle, jbyteArray jbegin_key,
|
||||
jint jbegin_key_len, jbyteArray jend_key, jint jend_key_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto deleteRange = [&wb](rocksdb::Slice beginKey, rocksdb::Slice endKey) {
|
||||
auto deleteRange = [&wb](ROCKSDB_NAMESPACE::Slice beginKey,
|
||||
ROCKSDB_NAMESPACE::Slice endKey) {
|
||||
return wb->DeleteRange(beginKey, endKey);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -396,19 +416,20 @@ void Java_org_rocksdb_WriteBatch_deleteRange__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwb_handle, jbyteArray jbegin_key,
|
||||
jint jbegin_key_len, jbyteArray jend_key, jint jend_key_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto deleteRange = [&wb, &cf_handle](rocksdb::Slice beginKey,
|
||||
rocksdb::Slice endKey) {
|
||||
auto deleteRange = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice beginKey,
|
||||
ROCKSDB_NAMESPACE::Slice endKey) {
|
||||
return wb->DeleteRange(cf_handle, beginKey, endKey);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -420,13 +441,15 @@ void Java_org_rocksdb_WriteBatch_deleteRange__J_3BI_3BIJ(
|
||||
void Java_org_rocksdb_WriteBatch_putLogData(JNIEnv* env, jobject jobj,
|
||||
jlong jwb_handle, jbyteArray jblob,
|
||||
jint jblob_len) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto putLogData = [&wb](rocksdb::Slice blob) { return wb->PutLogData(blob); };
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(putLogData, env, jobj, jblob, jblob_len);
|
||||
auto putLogData = [&wb](ROCKSDB_NAMESPACE::Slice blob) {
|
||||
return wb->PutLogData(blob);
|
||||
};
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(putLogData, env, jobj, jblob, jblob_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -438,16 +461,17 @@ void Java_org_rocksdb_WriteBatch_putLogData(JNIEnv* env, jobject jobj,
|
||||
void Java_org_rocksdb_WriteBatch_iterate(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong jwb_handle,
|
||||
jlong handlerHandle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
rocksdb::Status s = wb->Iterate(
|
||||
reinterpret_cast<rocksdb::WriteBatchHandlerJniCallback*>(handlerHandle));
|
||||
ROCKSDB_NAMESPACE::Status s = wb->Iterate(
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchHandlerJniCallback*>(
|
||||
handlerHandle));
|
||||
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -457,11 +481,11 @@ void Java_org_rocksdb_WriteBatch_iterate(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jbyteArray Java_org_rocksdb_WriteBatch_data(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
auto data = wb->Data();
|
||||
return rocksdb::JniUtil::copyBytes(env, data);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::copyBytes(env, data);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -471,7 +495,7 @@ jbyteArray Java_org_rocksdb_WriteBatch_data(JNIEnv* env, jobject /*jobj*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_WriteBatch_getDataSize(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
auto data_size = wb->GetDataSize();
|
||||
@@ -485,7 +509,7 @@ jlong Java_org_rocksdb_WriteBatch_getDataSize(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
jboolean Java_org_rocksdb_WriteBatch_hasPut(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasPut();
|
||||
@@ -499,7 +523,7 @@ jboolean Java_org_rocksdb_WriteBatch_hasPut(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jboolean Java_org_rocksdb_WriteBatch_hasDelete(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasDelete();
|
||||
@@ -512,7 +536,7 @@ jboolean Java_org_rocksdb_WriteBatch_hasDelete(JNIEnv* /*env*/,
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasSingleDelete(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasSingleDelete();
|
||||
@@ -525,7 +549,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasSingleDelete(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasDeleteRange(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasDeleteRange();
|
||||
@@ -538,7 +562,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasDeleteRange(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasMerge(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasMerge();
|
||||
@@ -551,7 +575,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasMerge(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasBeginPrepare(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasBeginPrepare();
|
||||
@@ -564,7 +588,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasBeginPrepare(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasEndPrepare(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasEndPrepare();
|
||||
@@ -577,7 +601,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasEndPrepare(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasCommit(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasCommit();
|
||||
@@ -590,7 +614,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasCommit(
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasRollback(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return wb->HasRollback();
|
||||
@@ -604,7 +628,7 @@ JNIEXPORT jboolean JNICALL Java_org_rocksdb_WriteBatch_hasRollback(
|
||||
void Java_org_rocksdb_WriteBatch_markWalTerminationPoint(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
wb->MarkWalTerminationPoint();
|
||||
@@ -618,11 +642,11 @@ void Java_org_rocksdb_WriteBatch_markWalTerminationPoint(JNIEnv* /*env*/,
|
||||
jobject Java_org_rocksdb_WriteBatch_getWalTerminationPoint(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
auto save_point = wb->GetWalTerminationPoint();
|
||||
return rocksdb::WriteBatchSavePointJni::construct(env, save_point);
|
||||
return ROCKSDB_NAMESPACE::WriteBatchSavePointJni::construct(env, save_point);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -633,7 +657,7 @@ jobject Java_org_rocksdb_WriteBatch_getWalTerminationPoint(JNIEnv* env,
|
||||
void Java_org_rocksdb_WriteBatch_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(handle);
|
||||
assert(wb != nullptr);
|
||||
delete wb;
|
||||
}
|
||||
@@ -645,6 +669,6 @@ void Java_org_rocksdb_WriteBatch_disposeInternal(JNIEnv* /*env*/,
|
||||
*/
|
||||
jlong Java_org_rocksdb_WriteBatch_00024Handler_createNewHandler0(JNIEnv* env,
|
||||
jobject jobj) {
|
||||
auto* wbjnic = new rocksdb::WriteBatchHandlerJniCallback(env, jobj);
|
||||
auto* wbjnic = new ROCKSDB_NAMESPACE::WriteBatchHandlerJniCallback(env, jobj);
|
||||
return reinterpret_cast<jlong>(wbjnic);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::WriteBatch methods testing from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::WriteBatch methods testing from Java side.
|
||||
#include <memory>
|
||||
|
||||
#include "db/memtable.h"
|
||||
@@ -33,40 +33,42 @@
|
||||
jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
jclass /*jclazz*/,
|
||||
jlong jwb_handle) {
|
||||
auto* b = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* b = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(b != nullptr);
|
||||
|
||||
// todo: Currently the following code is directly copied from
|
||||
// db/write_bench_test.cc. It could be implemented in java once
|
||||
// all the necessary components can be accessed via jni api.
|
||||
|
||||
rocksdb::InternalKeyComparator cmp(rocksdb::BytewiseComparator());
|
||||
auto factory = std::make_shared<rocksdb::SkipListFactory>();
|
||||
rocksdb::Options options;
|
||||
rocksdb::WriteBufferManager wb(options.db_write_buffer_size);
|
||||
ROCKSDB_NAMESPACE::InternalKeyComparator cmp(
|
||||
ROCKSDB_NAMESPACE::BytewiseComparator());
|
||||
auto factory = std::make_shared<ROCKSDB_NAMESPACE::SkipListFactory>();
|
||||
ROCKSDB_NAMESPACE::Options options;
|
||||
ROCKSDB_NAMESPACE::WriteBufferManager wb(options.db_write_buffer_size);
|
||||
options.memtable_factory = factory;
|
||||
rocksdb::MemTable* mem = new rocksdb::MemTable(
|
||||
cmp, rocksdb::ImmutableCFOptions(options),
|
||||
rocksdb::MutableCFOptions(options), &wb, rocksdb::kMaxSequenceNumber,
|
||||
0 /* column_family_id */);
|
||||
ROCKSDB_NAMESPACE::MemTable* mem = new ROCKSDB_NAMESPACE::MemTable(
|
||||
cmp, ROCKSDB_NAMESPACE::ImmutableCFOptions(options),
|
||||
ROCKSDB_NAMESPACE::MutableCFOptions(options), &wb,
|
||||
ROCKSDB_NAMESPACE::kMaxSequenceNumber, 0 /* column_family_id */);
|
||||
mem->Ref();
|
||||
std::string state;
|
||||
rocksdb::ColumnFamilyMemTablesDefault cf_mems_default(mem);
|
||||
rocksdb::Status s = rocksdb::WriteBatchInternal::InsertInto(
|
||||
b, &cf_mems_default, nullptr, nullptr);
|
||||
ROCKSDB_NAMESPACE::ColumnFamilyMemTablesDefault cf_mems_default(mem);
|
||||
ROCKSDB_NAMESPACE::Status s =
|
||||
ROCKSDB_NAMESPACE::WriteBatchInternal::InsertInto(b, &cf_mems_default,
|
||||
nullptr, nullptr);
|
||||
unsigned int count = 0;
|
||||
rocksdb::Arena arena;
|
||||
rocksdb::ScopedArenaIterator iter(
|
||||
mem->NewIterator(rocksdb::ReadOptions(), &arena));
|
||||
ROCKSDB_NAMESPACE::Arena arena;
|
||||
ROCKSDB_NAMESPACE::ScopedArenaIterator iter(
|
||||
mem->NewIterator(ROCKSDB_NAMESPACE::ReadOptions(), &arena));
|
||||
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
|
||||
rocksdb::ParsedInternalKey ikey;
|
||||
ROCKSDB_NAMESPACE::ParsedInternalKey ikey;
|
||||
ikey.clear();
|
||||
bool parsed = rocksdb::ParseInternalKey(iter->key(), &ikey);
|
||||
bool parsed = ROCKSDB_NAMESPACE::ParseInternalKey(iter->key(), &ikey);
|
||||
if (!parsed) {
|
||||
assert(parsed);
|
||||
}
|
||||
switch (ikey.type) {
|
||||
case rocksdb::kTypeValue:
|
||||
case ROCKSDB_NAMESPACE::kTypeValue:
|
||||
state.append("Put(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(", ");
|
||||
@@ -74,7 +76,7 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
state.append(")");
|
||||
count++;
|
||||
break;
|
||||
case rocksdb::kTypeMerge:
|
||||
case ROCKSDB_NAMESPACE::kTypeMerge:
|
||||
state.append("Merge(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(", ");
|
||||
@@ -82,19 +84,19 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
state.append(")");
|
||||
count++;
|
||||
break;
|
||||
case rocksdb::kTypeDeletion:
|
||||
case ROCKSDB_NAMESPACE::kTypeDeletion:
|
||||
state.append("Delete(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(")");
|
||||
count++;
|
||||
break;
|
||||
case rocksdb::kTypeSingleDeletion:
|
||||
case ROCKSDB_NAMESPACE::kTypeSingleDeletion:
|
||||
state.append("SingleDelete(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(")");
|
||||
count++;
|
||||
break;
|
||||
case rocksdb::kTypeRangeDeletion:
|
||||
case ROCKSDB_NAMESPACE::kTypeRangeDeletion:
|
||||
state.append("DeleteRange(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(", ");
|
||||
@@ -102,7 +104,7 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
state.append(")");
|
||||
count++;
|
||||
break;
|
||||
case rocksdb::kTypeLogData:
|
||||
case ROCKSDB_NAMESPACE::kTypeLogData:
|
||||
state.append("LogData(");
|
||||
state.append(ikey.user_key.ToString());
|
||||
state.append(")");
|
||||
@@ -117,13 +119,14 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
break;
|
||||
}
|
||||
state.append("@");
|
||||
state.append(rocksdb::NumberToString(ikey.sequence));
|
||||
state.append(ROCKSDB_NAMESPACE::NumberToString(ikey.sequence));
|
||||
}
|
||||
if (!s.ok()) {
|
||||
state.append(s.ToString());
|
||||
} else if (rocksdb::WriteBatchInternal::Count(b) != count) {
|
||||
} else if (ROCKSDB_NAMESPACE::WriteBatchInternal::Count(b) != count) {
|
||||
state.append("Err:CountMismatch(expected=");
|
||||
state.append(std::to_string(rocksdb::WriteBatchInternal::Count(b)));
|
||||
state.append(
|
||||
std::to_string(ROCKSDB_NAMESPACE::WriteBatchInternal::Count(b)));
|
||||
state.append(", actual=");
|
||||
state.append(std::to_string(count));
|
||||
state.append(")");
|
||||
@@ -155,11 +158,11 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_WriteBatchTestInternalHelper_setSequence(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/, jlong jwb_handle, jlong jsn) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
rocksdb::WriteBatchInternal::SetSequence(
|
||||
wb, static_cast<rocksdb::SequenceNumber>(jsn));
|
||||
ROCKSDB_NAMESPACE::WriteBatchInternal::SetSequence(
|
||||
wb, static_cast<ROCKSDB_NAMESPACE::SequenceNumber>(jsn));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -170,10 +173,11 @@ void Java_org_rocksdb_WriteBatchTestInternalHelper_setSequence(
|
||||
jlong Java_org_rocksdb_WriteBatchTestInternalHelper_sequence(JNIEnv* /*env*/,
|
||||
jclass /*jclazz*/,
|
||||
jlong jwb_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
|
||||
return static_cast<jlong>(rocksdb::WriteBatchInternal::Sequence(wb));
|
||||
return static_cast<jlong>(
|
||||
ROCKSDB_NAMESPACE::WriteBatchInternal::Sequence(wb));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -185,10 +189,10 @@ void Java_org_rocksdb_WriteBatchTestInternalHelper_append(JNIEnv* /*env*/,
|
||||
jclass /*jclazz*/,
|
||||
jlong jwb_handle_1,
|
||||
jlong jwb_handle_2) {
|
||||
auto* wb1 = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle_1);
|
||||
auto* wb1 = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle_1);
|
||||
assert(wb1 != nullptr);
|
||||
auto* wb2 = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle_2);
|
||||
auto* wb2 = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle_2);
|
||||
assert(wb2 != nullptr);
|
||||
|
||||
rocksdb::WriteBatchInternal::Append(wb1, wb2);
|
||||
ROCKSDB_NAMESPACE::WriteBatchInternal::Append(wb1, wb2);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the "bridge" between Java and C++ and enables
|
||||
// calling c++ rocksdb::WriteBatchWithIndex methods from Java side.
|
||||
// calling c++ ROCKSDB_NAMESPACE::WriteBatchWithIndex methods from Java side.
|
||||
|
||||
#include "rocksdb/utilities/write_batch_with_index.h"
|
||||
#include "include/org_rocksdb_WBWIRocksIterator.h"
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/) {
|
||||
auto* wbwi = new rocksdb::WriteBatchWithIndex();
|
||||
auto* wbwi = new ROCKSDB_NAMESPACE::WriteBatchWithIndex();
|
||||
return reinterpret_cast<jlong>(wbwi);
|
||||
}
|
||||
|
||||
@@ -30,8 +30,9 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__(
|
||||
*/
|
||||
jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__Z(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jboolean joverwrite_key) {
|
||||
auto* wbwi = new rocksdb::WriteBatchWithIndex(
|
||||
rocksdb::BytewiseComparator(), 0, static_cast<bool>(joverwrite_key));
|
||||
auto* wbwi = new ROCKSDB_NAMESPACE::WriteBatchWithIndex(
|
||||
ROCKSDB_NAMESPACE::BytewiseComparator(), 0,
|
||||
static_cast<bool>(joverwrite_key));
|
||||
return reinterpret_cast<jlong>(wbwi);
|
||||
}
|
||||
|
||||
@@ -43,21 +44,22 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__Z(
|
||||
jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__JBIZ(
|
||||
JNIEnv* /*env*/, jclass /*jcls*/, jlong jfallback_index_comparator_handle,
|
||||
jbyte jcomparator_type, jint jreserved_bytes, jboolean joverwrite_key) {
|
||||
rocksdb::Comparator* fallback_comparator = nullptr;
|
||||
ROCKSDB_NAMESPACE::Comparator* fallback_comparator = nullptr;
|
||||
switch (jcomparator_type) {
|
||||
// JAVA_COMPARATOR
|
||||
case 0x0:
|
||||
fallback_comparator = reinterpret_cast<rocksdb::ComparatorJniCallback*>(
|
||||
jfallback_index_comparator_handle);
|
||||
fallback_comparator =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ComparatorJniCallback*>(
|
||||
jfallback_index_comparator_handle);
|
||||
break;
|
||||
|
||||
// JAVA_NATIVE_COMPARATOR_WRAPPER
|
||||
case 0x1:
|
||||
fallback_comparator = reinterpret_cast<rocksdb::Comparator*>(
|
||||
fallback_comparator = reinterpret_cast<ROCKSDB_NAMESPACE::Comparator*>(
|
||||
jfallback_index_comparator_handle);
|
||||
break;
|
||||
}
|
||||
auto* wbwi = new rocksdb::WriteBatchWithIndex(
|
||||
auto* wbwi = new ROCKSDB_NAMESPACE::WriteBatchWithIndex(
|
||||
fallback_comparator, static_cast<size_t>(jreserved_bytes),
|
||||
static_cast<bool>(joverwrite_key));
|
||||
return reinterpret_cast<jlong>(wbwi);
|
||||
@@ -71,7 +73,8 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_newWriteBatchWithIndex__JBIZ(
|
||||
jint Java_org_rocksdb_WriteBatchWithIndex_count0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
return static_cast<jint>(wbwi->GetWriteBatch()->Count());
|
||||
@@ -85,15 +88,18 @@ jint Java_org_rocksdb_WriteBatchWithIndex_count0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_put__J_3BI_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jbyteArray jentry_value, jint jentry_value_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto put = [&wbwi](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto put = [&wbwi](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wbwi->Put(key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
put, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(put, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,17 +112,21 @@ void Java_org_rocksdb_WriteBatchWithIndex_put__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jbyteArray jentry_value, jint jentry_value_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto put = [&wbwi, &cf_handle](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto put = [&wbwi, &cf_handle](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wbwi->Put(cf_handle, key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
put, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(put, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,18 +139,20 @@ void Java_org_rocksdb_WriteBatchWithIndex_putDirect(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwb_handle, jobject jkey,
|
||||
jint jkey_offset, jint jkey_len, jobject jval, jint jval_offset,
|
||||
jint jval_len, jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto put = [&wb, &cf_handle](rocksdb::Slice& key, rocksdb::Slice& value) {
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto put = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice& key,
|
||||
ROCKSDB_NAMESPACE::Slice& value) {
|
||||
if (cf_handle == nullptr) {
|
||||
wb->Put(key, value);
|
||||
} else {
|
||||
wb->Put(cf_handle, key, value);
|
||||
}
|
||||
};
|
||||
rocksdb::JniUtil::kv_op_direct(put, env, jkey, jkey_offset, jkey_len, jval,
|
||||
jval_offset, jval_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op_direct(
|
||||
put, env, jkey, jkey_offset, jkey_len, jval, jval_offset, jval_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -151,15 +163,18 @@ void Java_org_rocksdb_WriteBatchWithIndex_putDirect(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_merge__J_3BI_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jbyteArray jentry_value, jint jentry_value_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto merge = [&wbwi](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto merge = [&wbwi](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wbwi->Merge(key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
merge, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(merge, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,17 +187,21 @@ void Java_org_rocksdb_WriteBatchWithIndex_merge__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jbyteArray jentry_value, jint jentry_value_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto merge = [&wbwi, &cf_handle](rocksdb::Slice key, rocksdb::Slice value) {
|
||||
auto merge = [&wbwi, &cf_handle](ROCKSDB_NAMESPACE::Slice key,
|
||||
ROCKSDB_NAMESPACE::Slice value) {
|
||||
return wbwi->Merge(cf_handle, key, value);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::JniUtil::kv_op(
|
||||
merge, env, jobj, jkey, jkey_len, jentry_value, jentry_value_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(merge, env, jobj, jkey, jkey_len,
|
||||
jentry_value, jentry_value_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,13 +215,16 @@ void Java_org_rocksdb_WriteBatchWithIndex_delete__J_3BI(JNIEnv* env,
|
||||
jlong jwbwi_handle,
|
||||
jbyteArray jkey,
|
||||
jint jkey_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto remove = [&wbwi](rocksdb::Slice key) { return wbwi->Delete(key); };
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
auto remove = [&wbwi](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wbwi->Delete(key);
|
||||
};
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,17 +236,19 @@ void Java_org_rocksdb_WriteBatchWithIndex_delete__J_3BI(JNIEnv* env,
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_delete__J_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto remove = [&wbwi, &cf_handle](rocksdb::Slice key) {
|
||||
auto remove = [&wbwi, &cf_handle](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wbwi->Delete(cf_handle, key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(remove, env, jobj, jkey, jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,15 +260,17 @@ void Java_org_rocksdb_WriteBatchWithIndex_delete__J_3BIJ(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_singleDelete__J_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto single_delete = [&wbwi](rocksdb::Slice key) {
|
||||
auto single_delete = [&wbwi](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wbwi->SingleDelete(key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(single_delete, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(single_delete, env, jobj, jkey,
|
||||
jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,17 +282,20 @@ void Java_org_rocksdb_WriteBatchWithIndex_singleDelete__J_3BI(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_singleDelete__J_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jkey,
|
||||
jint jkey_len, jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto single_delete = [&wbwi, &cf_handle](rocksdb::Slice key) {
|
||||
auto single_delete = [&wbwi, &cf_handle](ROCKSDB_NAMESPACE::Slice key) {
|
||||
return wbwi->SingleDelete(cf_handle, key);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(single_delete, env, jobj, jkey, jkey_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(single_delete, env, jobj, jkey,
|
||||
jkey_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,17 +307,19 @@ void Java_org_rocksdb_WriteBatchWithIndex_singleDelete__J_3BIJ(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_removeDirect(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwb_handle, jobject jkey,
|
||||
jint jkey_offset, jint jkey_len, jlong jcf_handle) {
|
||||
auto* wb = reinterpret_cast<rocksdb::WriteBatch*>(jwb_handle);
|
||||
auto* wb = reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwb_handle);
|
||||
assert(wb != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto remove = [&wb, &cf_handle](rocksdb::Slice& key) {
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto remove = [&wb, &cf_handle](ROCKSDB_NAMESPACE::Slice& key) {
|
||||
if (cf_handle == nullptr) {
|
||||
wb->Delete(key);
|
||||
} else {
|
||||
wb->Delete(cf_handle, key);
|
||||
}
|
||||
};
|
||||
rocksdb::JniUtil::k_op_direct(remove, env, jkey, jkey_offset, jkey_len);
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(remove, env, jkey, jkey_offset,
|
||||
jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -299,16 +330,18 @@ void Java_org_rocksdb_WriteBatchWithIndex_removeDirect(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_deleteRange__J_3BI_3BI(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jbegin_key,
|
||||
jint jbegin_key_len, jbyteArray jend_key, jint jend_key_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto deleteRange = [&wbwi](rocksdb::Slice beginKey, rocksdb::Slice endKey) {
|
||||
auto deleteRange = [&wbwi](ROCKSDB_NAMESPACE::Slice beginKey,
|
||||
ROCKSDB_NAMESPACE::Slice endKey) {
|
||||
return wbwi->DeleteRange(beginKey, endKey);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,19 +354,21 @@ void Java_org_rocksdb_WriteBatchWithIndex_deleteRange__J_3BI_3BIJ(
|
||||
JNIEnv* env, jobject jobj, jlong jwbwi_handle, jbyteArray jbegin_key,
|
||||
jint jbegin_key_len, jbyteArray jend_key, jint jend_key_len,
|
||||
jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
assert(cf_handle != nullptr);
|
||||
auto deleteRange = [&wbwi, &cf_handle](rocksdb::Slice beginKey,
|
||||
rocksdb::Slice endKey) {
|
||||
auto deleteRange = [&wbwi, &cf_handle](ROCKSDB_NAMESPACE::Slice beginKey,
|
||||
ROCKSDB_NAMESPACE::Slice endKey) {
|
||||
return wbwi->DeleteRange(cf_handle, beginKey, endKey);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::kv_op(deleteRange, env, jobj, jbegin_key,
|
||||
jbegin_key_len, jend_key, jend_key_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -346,15 +381,16 @@ void Java_org_rocksdb_WriteBatchWithIndex_putLogData(JNIEnv* env, jobject jobj,
|
||||
jlong jwbwi_handle,
|
||||
jbyteArray jblob,
|
||||
jint jblob_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
auto putLogData = [&wbwi](rocksdb::Slice blob) {
|
||||
auto putLogData = [&wbwi](ROCKSDB_NAMESPACE::Slice blob) {
|
||||
return wbwi->PutLogData(blob);
|
||||
};
|
||||
std::unique_ptr<rocksdb::Status> status =
|
||||
rocksdb::JniUtil::k_op(putLogData, env, jobj, jblob, jblob_len);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op(putLogData, env, jobj, jblob, jblob_len);
|
||||
if (status != nullptr && !status->ok()) {
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -366,7 +402,8 @@ void Java_org_rocksdb_WriteBatchWithIndex_putLogData(JNIEnv* env, jobject jobj,
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_clear0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
wbwi->Clear();
|
||||
@@ -380,7 +417,8 @@ void Java_org_rocksdb_WriteBatchWithIndex_clear0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_setSavePoint0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
wbwi->SetSavePoint();
|
||||
@@ -393,7 +431,8 @@ void Java_org_rocksdb_WriteBatchWithIndex_setSavePoint0(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_rollbackToSavePoint0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
auto s = wbwi->RollbackToSavePoint();
|
||||
@@ -402,7 +441,7 @@ void Java_org_rocksdb_WriteBatchWithIndex_rollbackToSavePoint0(
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -413,7 +452,8 @@ void Java_org_rocksdb_WriteBatchWithIndex_rollbackToSavePoint0(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_popSavePoint(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
auto s = wbwi->PopSavePoint();
|
||||
@@ -422,7 +462,7 @@ void Java_org_rocksdb_WriteBatchWithIndex_popSavePoint(JNIEnv* env,
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -434,7 +474,8 @@ void Java_org_rocksdb_WriteBatchWithIndex_setMaxBytes(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle,
|
||||
jlong jmax_bytes) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
wbwi->SetMaxBytes(static_cast<size_t>(jmax_bytes));
|
||||
@@ -448,13 +489,14 @@ void Java_org_rocksdb_WriteBatchWithIndex_setMaxBytes(JNIEnv* /*env*/,
|
||||
jobject Java_org_rocksdb_WriteBatchWithIndex_getWriteBatch(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
assert(wbwi != nullptr);
|
||||
|
||||
auto* wb = wbwi->GetWriteBatch();
|
||||
|
||||
// TODO(AR) is the `wb` object owned by us?
|
||||
return rocksdb::WriteBatchJni::construct(env, wb);
|
||||
return ROCKSDB_NAMESPACE::WriteBatchJni::construct(env, wb);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -465,7 +507,8 @@ jobject Java_org_rocksdb_WriteBatchWithIndex_getWriteBatch(JNIEnv* env,
|
||||
jlong Java_org_rocksdb_WriteBatchWithIndex_iterator0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* wbwi_iterator = wbwi->NewIterator();
|
||||
return reinterpret_cast<jlong>(wbwi_iterator);
|
||||
}
|
||||
@@ -479,8 +522,10 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_iterator1(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong jwbwi_handle,
|
||||
jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* wbwi_iterator = wbwi->NewIterator(cf_handle);
|
||||
return reinterpret_cast<jlong>(wbwi_iterator);
|
||||
}
|
||||
@@ -495,9 +540,12 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_iteratorWithBase(JNIEnv* /*env*/,
|
||||
jlong jwbwi_handle,
|
||||
jlong jcf_handle,
|
||||
jlong jbi_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* base_iterator = reinterpret_cast<rocksdb::Iterator*>(jbi_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* base_iterator =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Iterator*>(jbi_handle);
|
||||
auto* iterator = wbwi->NewIteratorWithBase(cf_handle, base_iterator);
|
||||
return reinterpret_cast<jlong>(iterator);
|
||||
}
|
||||
@@ -510,14 +558,16 @@ jlong Java_org_rocksdb_WriteBatchWithIndex_iteratorWithBase(JNIEnv* /*env*/,
|
||||
jbyteArray JNICALL Java_org_rocksdb_WriteBatchWithIndex_getFromBatch__JJ_3BI(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwbwi_handle, jlong jdbopt_handle,
|
||||
jbyteArray jkey, jint jkey_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* dbopt = reinterpret_cast<rocksdb::DBOptions*>(jdbopt_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* dbopt = reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdbopt_handle);
|
||||
|
||||
auto getter = [&wbwi, &dbopt](const rocksdb::Slice& key, std::string* value) {
|
||||
auto getter = [&wbwi, &dbopt](const ROCKSDB_NAMESPACE::Slice& key,
|
||||
std::string* value) {
|
||||
return wbwi->GetFromBatch(*dbopt, key, value);
|
||||
};
|
||||
|
||||
return rocksdb::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -528,16 +578,18 @@ jbyteArray JNICALL Java_org_rocksdb_WriteBatchWithIndex_getFromBatch__JJ_3BI(
|
||||
jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatch__JJ_3BIJ(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwbwi_handle, jlong jdbopt_handle,
|
||||
jbyteArray jkey, jint jkey_len, jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* dbopt = reinterpret_cast<rocksdb::DBOptions*>(jdbopt_handle);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* dbopt = reinterpret_cast<ROCKSDB_NAMESPACE::DBOptions*>(jdbopt_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
|
||||
auto getter = [&wbwi, &cf_handle, &dbopt](const rocksdb::Slice& key,
|
||||
auto getter = [&wbwi, &cf_handle, &dbopt](const ROCKSDB_NAMESPACE::Slice& key,
|
||||
std::string* value) {
|
||||
return wbwi->GetFromBatch(cf_handle, *dbopt, key, value);
|
||||
};
|
||||
|
||||
return rocksdb::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -548,16 +600,18 @@ jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatch__JJ_3BIJ(
|
||||
jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatchAndDB__JJJ_3BI(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwbwi_handle, jlong jdb_handle,
|
||||
jlong jreadopt_handle, jbyteArray jkey, jint jkey_len) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
|
||||
auto* readopt = reinterpret_cast<rocksdb::ReadOptions*>(jreadopt_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* db = reinterpret_cast<ROCKSDB_NAMESPACE::DB*>(jdb_handle);
|
||||
auto* readopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jreadopt_handle);
|
||||
|
||||
auto getter = [&wbwi, &db, &readopt](const rocksdb::Slice& key,
|
||||
auto getter = [&wbwi, &db, &readopt](const ROCKSDB_NAMESPACE::Slice& key,
|
||||
std::string* value) {
|
||||
return wbwi->GetFromBatchAndDB(db, *readopt, key, value);
|
||||
};
|
||||
|
||||
return rocksdb::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -568,17 +622,20 @@ jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatchAndDB__JJJ_3BI(
|
||||
jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatchAndDB__JJJ_3BIJ(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong jwbwi_handle, jlong jdb_handle,
|
||||
jlong jreadopt_handle, jbyteArray jkey, jint jkey_len, jlong jcf_handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* db = reinterpret_cast<rocksdb::DB*>(jdb_handle);
|
||||
auto* readopt = reinterpret_cast<rocksdb::ReadOptions*>(jreadopt_handle);
|
||||
auto* cf_handle = reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcf_handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(jwbwi_handle);
|
||||
auto* db = reinterpret_cast<ROCKSDB_NAMESPACE::DB*>(jdb_handle);
|
||||
auto* readopt =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jreadopt_handle);
|
||||
auto* cf_handle =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcf_handle);
|
||||
|
||||
auto getter = [&wbwi, &db, &cf_handle, &readopt](const rocksdb::Slice& key,
|
||||
std::string* value) {
|
||||
auto getter = [&wbwi, &db, &cf_handle, &readopt](
|
||||
const ROCKSDB_NAMESPACE::Slice& key, std::string* value) {
|
||||
return wbwi->GetFromBatchAndDB(db, *readopt, cf_handle, key, value);
|
||||
};
|
||||
|
||||
return rocksdb::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
return ROCKSDB_NAMESPACE::JniUtil::v_op(getter, env, jkey, jkey_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -589,7 +646,8 @@ jbyteArray Java_org_rocksdb_WriteBatchWithIndex_getFromBatchAndDB__JJJ_3BIJ(
|
||||
void Java_org_rocksdb_WriteBatchWithIndex_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* wbwi = reinterpret_cast<rocksdb::WriteBatchWithIndex*>(handle);
|
||||
auto* wbwi =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatchWithIndex*>(handle);
|
||||
assert(wbwi != nullptr);
|
||||
delete wbwi;
|
||||
}
|
||||
@@ -604,7 +662,7 @@ void Java_org_rocksdb_WriteBatchWithIndex_disposeInternal(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WBWIRocksIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
assert(it != nullptr);
|
||||
delete it;
|
||||
}
|
||||
@@ -617,7 +675,7 @@ void Java_org_rocksdb_WBWIRocksIterator_disposeInternal(JNIEnv* /*env*/,
|
||||
jboolean Java_org_rocksdb_WBWIRocksIterator_isValid0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
return reinterpret_cast<rocksdb::WBWIIterator*>(handle)->Valid();
|
||||
return reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle)->Valid();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -628,7 +686,7 @@ jboolean Java_org_rocksdb_WBWIRocksIterator_isValid0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WBWIRocksIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::WBWIIterator*>(handle)->SeekToFirst();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle)->SeekToFirst();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -639,7 +697,7 @@ void Java_org_rocksdb_WBWIRocksIterator_seekToFirst0(JNIEnv* /*env*/,
|
||||
void Java_org_rocksdb_WBWIRocksIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::WBWIIterator*>(handle)->SeekToLast();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle)->SeekToLast();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -649,7 +707,7 @@ void Java_org_rocksdb_WBWIRocksIterator_seekToLast0(JNIEnv* /*env*/,
|
||||
*/
|
||||
void Java_org_rocksdb_WBWIRocksIterator_next0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::WBWIIterator*>(handle)->Next();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle)->Next();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -659,7 +717,7 @@ void Java_org_rocksdb_WBWIRocksIterator_next0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
*/
|
||||
void Java_org_rocksdb_WBWIRocksIterator_prev0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
reinterpret_cast<rocksdb::WBWIIterator*>(handle)->Prev();
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle)->Prev();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -670,14 +728,15 @@ void Java_org_rocksdb_WBWIRocksIterator_prev0(JNIEnv* /*env*/, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WBWIRocksIterator_seek0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle, jbyteArray jtarget,
|
||||
jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
jbyte* target = env->GetByteArrayElements(jtarget, nullptr);
|
||||
if (target == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
it->Seek(target_slice);
|
||||
|
||||
@@ -692,9 +751,12 @@ void Java_org_rocksdb_WBWIRocksIterator_seek0(JNIEnv* env, jobject /*jobj*/,
|
||||
void Java_org_rocksdb_WBWIRocksIterator_seekDirect0(
|
||||
JNIEnv* env, jobject /*jobj*/, jlong handle, jobject jtarget,
|
||||
jint jtarget_off, jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
auto seek = [&it](rocksdb::Slice& target_slice) { it->Seek(target_slice); };
|
||||
rocksdb::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off, jtarget_len);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
auto seek = [&it](ROCKSDB_NAMESPACE::Slice& target_slice) {
|
||||
it->Seek(target_slice);
|
||||
};
|
||||
ROCKSDB_NAMESPACE::JniUtil::k_op_direct(seek, env, jtarget, jtarget_off,
|
||||
jtarget_len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -707,14 +769,15 @@ void Java_org_rocksdb_WBWIRocksIterator_seekForPrev0(JNIEnv* env,
|
||||
jlong handle,
|
||||
jbyteArray jtarget,
|
||||
jint jtarget_len) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
jbyte* target = env->GetByteArrayElements(jtarget, nullptr);
|
||||
if (target == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::Slice target_slice(reinterpret_cast<char*>(target), jtarget_len);
|
||||
ROCKSDB_NAMESPACE::Slice target_slice(reinterpret_cast<char*>(target),
|
||||
jtarget_len);
|
||||
|
||||
it->SeekForPrev(target_slice);
|
||||
|
||||
@@ -728,14 +791,14 @@ void Java_org_rocksdb_WBWIRocksIterator_seekForPrev0(JNIEnv* env,
|
||||
*/
|
||||
void Java_org_rocksdb_WBWIRocksIterator_status0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
rocksdb::Status s = it->status();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
ROCKSDB_NAMESPACE::Status s = it->status();
|
||||
|
||||
if (s.ok()) {
|
||||
return;
|
||||
}
|
||||
|
||||
rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -746,26 +809,27 @@ void Java_org_rocksdb_WBWIRocksIterator_status0(JNIEnv* env, jobject /*jobj*/,
|
||||
jlongArray Java_org_rocksdb_WBWIRocksIterator_entry1(JNIEnv* env,
|
||||
jobject /*jobj*/,
|
||||
jlong handle) {
|
||||
auto* it = reinterpret_cast<rocksdb::WBWIIterator*>(handle);
|
||||
const rocksdb::WriteEntry& we = it->Entry();
|
||||
auto* it = reinterpret_cast<ROCKSDB_NAMESPACE::WBWIIterator*>(handle);
|
||||
const ROCKSDB_NAMESPACE::WriteEntry& we = it->Entry();
|
||||
|
||||
jlong results[3];
|
||||
|
||||
// set the type of the write entry
|
||||
results[0] = rocksdb::WriteTypeJni::toJavaWriteType(we.type);
|
||||
results[0] = ROCKSDB_NAMESPACE::WriteTypeJni::toJavaWriteType(we.type);
|
||||
|
||||
// NOTE: key_slice and value_slice will be freed by
|
||||
// org.rocksdb.DirectSlice#close
|
||||
|
||||
auto* key_slice = new rocksdb::Slice(we.key.data(), we.key.size());
|
||||
auto* key_slice = new ROCKSDB_NAMESPACE::Slice(we.key.data(), we.key.size());
|
||||
results[1] = reinterpret_cast<jlong>(key_slice);
|
||||
if (we.type == rocksdb::kDeleteRecord ||
|
||||
we.type == rocksdb::kSingleDeleteRecord ||
|
||||
we.type == rocksdb::kLogDataRecord) {
|
||||
if (we.type == ROCKSDB_NAMESPACE::kDeleteRecord ||
|
||||
we.type == ROCKSDB_NAMESPACE::kSingleDeleteRecord ||
|
||||
we.type == ROCKSDB_NAMESPACE::kLogDataRecord) {
|
||||
// set native handle of value slice to null if no value available
|
||||
results[2] = 0;
|
||||
} else {
|
||||
auto* value_slice = new rocksdb::Slice(we.value.data(), we.value.size());
|
||||
auto* value_slice =
|
||||
new ROCKSDB_NAMESPACE::Slice(we.value.data(), we.value.size());
|
||||
results[2] = reinterpret_cast<jlong>(value_slice);
|
||||
}
|
||||
|
||||
@@ -773,7 +837,8 @@ jlongArray Java_org_rocksdb_WBWIRocksIterator_entry1(JNIEnv* env,
|
||||
if (jresults == nullptr) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
if (results[2] != 0) {
|
||||
auto* value_slice = reinterpret_cast<rocksdb::Slice*>(results[2]);
|
||||
auto* value_slice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(results[2]);
|
||||
delete value_slice;
|
||||
}
|
||||
delete key_slice;
|
||||
@@ -785,7 +850,8 @@ jlongArray Java_org_rocksdb_WBWIRocksIterator_entry1(JNIEnv* env,
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jresults);
|
||||
if (results[2] != 0) {
|
||||
auto* value_slice = reinterpret_cast<rocksdb::Slice*>(results[2]);
|
||||
auto* value_slice =
|
||||
reinterpret_cast<ROCKSDB_NAMESPACE::Slice*>(results[2]);
|
||||
delete value_slice;
|
||||
}
|
||||
delete key_slice;
|
||||
|
||||
@@ -17,11 +17,14 @@
|
||||
*/
|
||||
jlong Java_org_rocksdb_WriteBufferManager_newWriteBufferManager(
|
||||
JNIEnv* /*env*/, jclass /*jclazz*/, jlong jbuffer_size, jlong jcache_handle) {
|
||||
auto* cache_ptr =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::Cache> *>(jcache_handle);
|
||||
auto* write_buffer_manager = new std::shared_ptr<rocksdb::WriteBufferManager>(
|
||||
std::make_shared<rocksdb::WriteBufferManager>(jbuffer_size, *cache_ptr));
|
||||
return reinterpret_cast<jlong>(write_buffer_manager);
|
||||
auto* cache_ptr =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::Cache>*>(
|
||||
jcache_handle);
|
||||
auto* write_buffer_manager =
|
||||
new std::shared_ptr<ROCKSDB_NAMESPACE::WriteBufferManager>(
|
||||
std::make_shared<ROCKSDB_NAMESPACE::WriteBufferManager>(jbuffer_size,
|
||||
*cache_ptr));
|
||||
return reinterpret_cast<jlong>(write_buffer_manager);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -31,8 +34,9 @@ jlong Java_org_rocksdb_WriteBufferManager_newWriteBufferManager(
|
||||
*/
|
||||
void Java_org_rocksdb_WriteBufferManager_disposeInternal(
|
||||
JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
|
||||
auto* write_buffer_manager =
|
||||
reinterpret_cast<std::shared_ptr<rocksdb::WriteBufferManager> *>(jhandle);
|
||||
assert(write_buffer_manager != nullptr);
|
||||
delete write_buffer_manager;
|
||||
auto* write_buffer_manager =
|
||||
reinterpret_cast<std::shared_ptr<ROCKSDB_NAMESPACE::WriteBufferManager>*>(
|
||||
jhandle);
|
||||
assert(write_buffer_manager != nullptr);
|
||||
delete write_buffer_manager;
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::Comparator.
|
||||
// ROCKSDB_NAMESPACE::Comparator.
|
||||
|
||||
#include "rocksjni/writebatchhandlerjnicallback.h"
|
||||
#include "rocksjni/portal.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
WriteBatchHandlerJniCallback::WriteBatchHandlerJniCallback(
|
||||
JNIEnv* env, jobject jWriteBatchHandler)
|
||||
: JniCallback(env, jWriteBatchHandler), m_env(env) {
|
||||
@@ -128,8 +128,8 @@ WriteBatchHandlerJniCallback::WriteBatchHandlerJniCallback(
|
||||
}
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::PutCF(uint32_t column_family_id,
|
||||
const Slice& key, const Slice& value) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::PutCF(
|
||||
uint32_t column_family_id, const Slice& key, const Slice& value) {
|
||||
auto put = [this, column_family_id] (
|
||||
jbyteArray j_key, jbyteArray j_value) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -141,9 +141,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::PutCF(uint32_t column_family_id,
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::kv_op(key, value, put);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,8 +161,8 @@ void WriteBatchHandlerJniCallback::Put(const Slice& key, const Slice& value) {
|
||||
WriteBatchHandlerJniCallback::kv_op(key, value, put);
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MergeCF(uint32_t column_family_id,
|
||||
const Slice& key, const Slice& value) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MergeCF(
|
||||
uint32_t column_family_id, const Slice& key, const Slice& value) {
|
||||
auto merge = [this, column_family_id] (
|
||||
jbyteArray j_key, jbyteArray j_value) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -172,9 +174,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::MergeCF(uint32_t column_family_id,
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::kv_op(key, value, merge);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,8 +194,8 @@ void WriteBatchHandlerJniCallback::Merge(const Slice& key, const Slice& value) {
|
||||
WriteBatchHandlerJniCallback::kv_op(key, value, merge);
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::DeleteCF(uint32_t column_family_id,
|
||||
const Slice& key) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::DeleteCF(
|
||||
uint32_t column_family_id, const Slice& key) {
|
||||
auto remove = [this, column_family_id] (jbyteArray j_key) {
|
||||
m_env->CallVoidMethod(
|
||||
m_jcallback_obj,
|
||||
@@ -201,9 +205,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::DeleteCF(uint32_t column_family_id
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::k_op(key, remove);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,8 +223,8 @@ void WriteBatchHandlerJniCallback::Delete(const Slice& key) {
|
||||
WriteBatchHandlerJniCallback::k_op(key, remove);
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::SingleDeleteCF(uint32_t column_family_id,
|
||||
const Slice& key) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::SingleDeleteCF(
|
||||
uint32_t column_family_id, const Slice& key) {
|
||||
auto singleDelete = [this, column_family_id] (jbyteArray j_key) {
|
||||
m_env->CallVoidMethod(
|
||||
m_jcallback_obj,
|
||||
@@ -228,9 +234,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::SingleDeleteCF(uint32_t column_fam
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::k_op(key, singleDelete);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,8 +252,8 @@ void WriteBatchHandlerJniCallback::SingleDelete(const Slice& key) {
|
||||
WriteBatchHandlerJniCallback::k_op(key, singleDelete);
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::DeleteRangeCF(uint32_t column_family_id,
|
||||
const Slice& beginKey, const Slice& endKey) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::DeleteRangeCF(
|
||||
uint32_t column_family_id, const Slice& beginKey, const Slice& endKey) {
|
||||
auto deleteRange = [this, column_family_id] (
|
||||
jbyteArray j_beginKey, jbyteArray j_endKey) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -257,9 +265,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::DeleteRangeCF(uint32_t column_fami
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::kv_op(beginKey, endKey, deleteRange);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,8 +296,8 @@ void WriteBatchHandlerJniCallback::LogData(const Slice& blob) {
|
||||
WriteBatchHandlerJniCallback::k_op(blob, logData);
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::PutBlobIndexCF(uint32_t column_family_id,
|
||||
const Slice& key, const Slice& value) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::PutBlobIndexCF(
|
||||
uint32_t column_family_id, const Slice& key, const Slice& value) {
|
||||
auto putBlobIndex = [this, column_family_id] (
|
||||
jbyteArray j_key, jbyteArray j_value) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -299,13 +309,16 @@ rocksdb::Status WriteBatchHandlerJniCallback::PutBlobIndexCF(uint32_t column_fam
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::kv_op(key, value, putBlobIndex);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MarkBeginPrepare(bool unprepare) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MarkBeginPrepare(
|
||||
bool unprepare) {
|
||||
#ifndef DEBUG
|
||||
(void) unprepare;
|
||||
#else
|
||||
@@ -317,22 +330,25 @@ rocksdb::Status WriteBatchHandlerJniCallback::MarkBeginPrepare(bool unprepare) {
|
||||
if (m_env->ExceptionCheck()) {
|
||||
// exception thrown
|
||||
jthrowable exception = m_env->ExceptionOccurred();
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
if (status == nullptr) {
|
||||
// unkown status or exception occurred extracting status
|
||||
m_env->ExceptionDescribe();
|
||||
return rocksdb::Status::OK(); // TODO(AR) probably need a better error code here
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) probably need a
|
||||
// better error code here
|
||||
|
||||
} else {
|
||||
m_env->ExceptionClear(); // clear the exception, as we have extracted the status
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
return rocksdb::Status::OK();
|
||||
return ROCKSDB_NAMESPACE::Status::OK();
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MarkEndPrepare(const Slice& xid) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MarkEndPrepare(
|
||||
const Slice& xid) {
|
||||
auto markEndPrepare = [this] (
|
||||
jbyteArray j_xid) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -342,35 +358,41 @@ rocksdb::Status WriteBatchHandlerJniCallback::MarkEndPrepare(const Slice& xid) {
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::k_op(xid, markEndPrepare);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MarkNoop(bool empty_batch) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MarkNoop(
|
||||
bool empty_batch) {
|
||||
m_env->CallVoidMethod(m_jcallback_obj, m_jMarkNoopMethodId, static_cast<jboolean>(empty_batch));
|
||||
|
||||
// check for Exception, in-particular RocksDBException
|
||||
if (m_env->ExceptionCheck()) {
|
||||
// exception thrown
|
||||
jthrowable exception = m_env->ExceptionOccurred();
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
if (status == nullptr) {
|
||||
// unkown status or exception occurred extracting status
|
||||
m_env->ExceptionDescribe();
|
||||
return rocksdb::Status::OK(); // TODO(AR) probably need a better error code here
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) probably need a
|
||||
// better error code here
|
||||
|
||||
} else {
|
||||
m_env->ExceptionClear(); // clear the exception, as we have extracted the status
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
return rocksdb::Status::OK();
|
||||
return ROCKSDB_NAMESPACE::Status::OK();
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MarkRollback(const Slice& xid) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MarkRollback(
|
||||
const Slice& xid) {
|
||||
auto markRollback = [this] (
|
||||
jbyteArray j_xid) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -380,13 +402,16 @@ rocksdb::Status WriteBatchHandlerJniCallback::MarkRollback(const Slice& xid) {
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::k_op(xid, markRollback);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
rocksdb::Status WriteBatchHandlerJniCallback::MarkCommit(const Slice& xid) {
|
||||
ROCKSDB_NAMESPACE::Status WriteBatchHandlerJniCallback::MarkCommit(
|
||||
const Slice& xid) {
|
||||
auto markCommit = [this] (
|
||||
jbyteArray j_xid) {
|
||||
m_env->CallVoidMethod(
|
||||
@@ -396,9 +421,11 @@ rocksdb::Status WriteBatchHandlerJniCallback::MarkCommit(const Slice& xid) {
|
||||
};
|
||||
auto status = WriteBatchHandlerJniCallback::k_op(xid, markCommit);
|
||||
if(status == nullptr) {
|
||||
return rocksdb::Status::OK(); // TODO(AR) what to do if there is an Exception but we don't know the rocksdb::Status?
|
||||
return ROCKSDB_NAMESPACE::Status::OK(); // TODO(AR) what to do if there is
|
||||
// an Exception but we don't know
|
||||
// the ROCKSDB_NAMESPACE::Status?
|
||||
} else {
|
||||
return rocksdb::Status(*status);
|
||||
return ROCKSDB_NAMESPACE::Status(*status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -414,8 +441,10 @@ bool WriteBatchHandlerJniCallback::Continue() {
|
||||
return static_cast<bool>(jContinue == JNI_TRUE);
|
||||
}
|
||||
|
||||
std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::kv_op(const Slice& key, const Slice& value, std::function<void(jbyteArray, jbyteArray)> kvFn) {
|
||||
const jbyteArray j_key = JniUtil::copyBytes(m_env, key);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> WriteBatchHandlerJniCallback::kv_op(
|
||||
const Slice& key, const Slice& value,
|
||||
std::function<void(jbyteArray, jbyteArray)> kvFn) {
|
||||
const jbyteArray j_key = JniUtil::copyBytes(m_env, key);
|
||||
if (j_key == nullptr) {
|
||||
// exception thrown
|
||||
if (m_env->ExceptionCheck()) {
|
||||
@@ -449,7 +478,8 @@ std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::kv_op(const Slice
|
||||
|
||||
// exception thrown
|
||||
jthrowable exception = m_env->ExceptionOccurred();
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
if (status == nullptr) {
|
||||
// unkown status or exception occurred extracting status
|
||||
m_env->ExceptionDescribe();
|
||||
@@ -469,11 +499,13 @@ std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::kv_op(const Slice
|
||||
}
|
||||
|
||||
// all OK
|
||||
return std::unique_ptr<rocksdb::Status>(new rocksdb::Status(rocksdb::Status::OK()));
|
||||
return std::unique_ptr<ROCKSDB_NAMESPACE::Status>(
|
||||
new ROCKSDB_NAMESPACE::Status(ROCKSDB_NAMESPACE::Status::OK()));
|
||||
}
|
||||
|
||||
std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::k_op(const Slice& key, std::function<void(jbyteArray)> kFn) {
|
||||
const jbyteArray j_key = JniUtil::copyBytes(m_env, key);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> WriteBatchHandlerJniCallback::k_op(
|
||||
const Slice& key, std::function<void(jbyteArray)> kFn) {
|
||||
const jbyteArray j_key = JniUtil::copyBytes(m_env, key);
|
||||
if (j_key == nullptr) {
|
||||
// exception thrown
|
||||
if (m_env->ExceptionCheck()) {
|
||||
@@ -492,7 +524,8 @@ std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::k_op(const Slice&
|
||||
|
||||
// exception thrown
|
||||
jthrowable exception = m_env->ExceptionOccurred();
|
||||
std::unique_ptr<rocksdb::Status> status = rocksdb::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> status =
|
||||
ROCKSDB_NAMESPACE::RocksDBExceptionJni::toCppStatus(m_env, exception);
|
||||
if (status == nullptr) {
|
||||
// unkown status or exception occurred extracting status
|
||||
m_env->ExceptionDescribe();
|
||||
@@ -509,6 +542,7 @@ std::unique_ptr<rocksdb::Status> WriteBatchHandlerJniCallback::k_op(const Slice&
|
||||
}
|
||||
|
||||
// all OK
|
||||
return std::unique_ptr<rocksdb::Status>(new rocksdb::Status(rocksdb::Status::OK()));
|
||||
return std::unique_ptr<ROCKSDB_NAMESPACE::Status>(
|
||||
new ROCKSDB_NAMESPACE::Status(ROCKSDB_NAMESPACE::Status::OK()));
|
||||
}
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// (found in the LICENSE.Apache file in the root directory).
|
||||
//
|
||||
// This file implements the callback "bridge" between Java and C++ for
|
||||
// rocksdb::WriteBatch::Handler.
|
||||
// ROCKSDB_NAMESPACE::WriteBatch::Handler.
|
||||
|
||||
#ifndef JAVA_ROCKSJNI_WRITEBATCHHANDLERJNICALLBACK_H_
|
||||
#define JAVA_ROCKSJNI_WRITEBATCHHANDLERJNICALLBACK_H_
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "rocksjni/jnicallback.h"
|
||||
#include "rocksdb/write_batch.h"
|
||||
|
||||
namespace rocksdb {
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
/**
|
||||
* This class acts as a bridge between C++
|
||||
* and Java. The methods in this class will be
|
||||
@@ -71,14 +71,19 @@ class WriteBatchHandlerJniCallback : public JniCallback, public WriteBatch::Hand
|
||||
jmethodID m_jMarkCommitMethodId;
|
||||
jmethodID m_jContinueMethodId;
|
||||
/**
|
||||
* @return A pointer to a rocksdb::Status or nullptr if an unexpected exception occurred
|
||||
* @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
|
||||
* unexpected exception occurred
|
||||
*/
|
||||
std::unique_ptr<rocksdb::Status> kv_op(const Slice& key, const Slice& value, std::function<void(jbyteArray, jbyteArray)> kvFn);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> kv_op(
|
||||
const Slice& key, const Slice& value,
|
||||
std::function<void(jbyteArray, jbyteArray)> kvFn);
|
||||
/**
|
||||
* @return A pointer to a rocksdb::Status or nullptr if an unexpected exception occurred
|
||||
* @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
|
||||
* unexpected exception occurred
|
||||
*/
|
||||
std::unique_ptr<rocksdb::Status> k_op(const Slice& key, std::function<void(jbyteArray)> kFn);
|
||||
std::unique_ptr<ROCKSDB_NAMESPACE::Status> k_op(
|
||||
const Slice& key, std::function<void(jbyteArray)> kFn);
|
||||
};
|
||||
} // namespace rocksdb
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
||||
#endif // JAVA_ROCKSJNI_WRITEBATCHHANDLERJNICALLBACK_H_
|
||||
|
||||
Reference in New Issue
Block a user