]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/java/rocksjni/transaction.cc
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / rocksdb / java / rocksjni / transaction.cc
index 04eb654df75fb6d70b20d285fced56220561dfdc..ae98b868c3a520f9939a31716869bd43502b1851 100644 (file)
@@ -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::Transaction.
+// for ROCKSDB_NAMESPACE::Transaction.
 
 #include <jni.h>
 #include <functional>
@@ -29,7 +29,7 @@ using namespace std::placeholders;
  */
 void Java_org_rocksdb_Transaction_setSnapshot(JNIEnv* /*env*/, jobject /*jobj*/,
                                               jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->SetSnapshot();
 }
 
@@ -40,7 +40,7 @@ void Java_org_rocksdb_Transaction_setSnapshot(JNIEnv* /*env*/, jobject /*jobj*/,
  */
 void Java_org_rocksdb_Transaction_setSnapshotOnNextOperation__J(
     JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->SetSnapshotOnNextOperation(nullptr);
 }
 
@@ -52,10 +52,10 @@ void Java_org_rocksdb_Transaction_setSnapshotOnNextOperation__J(
 void Java_org_rocksdb_Transaction_setSnapshotOnNextOperation__JJ(
     JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
     jlong jtxn_notifier_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  auto* txn_notifier =
-      reinterpret_cast<std::shared_ptr<rocksdb::TransactionNotifierJniCallback>*>(
-          jtxn_notifier_handle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  auto* txn_notifier = reinterpret_cast<
+      std::shared_ptr<ROCKSDB_NAMESPACE::TransactionNotifierJniCallback>*>(
+      jtxn_notifier_handle);
   txn->SetSnapshotOnNextOperation(*txn_notifier);
 }
 
@@ -67,8 +67,8 @@ void Java_org_rocksdb_Transaction_setSnapshotOnNextOperation__JJ(
 jlong Java_org_rocksdb_Transaction_getSnapshot(JNIEnv* /*env*/,
                                                jobject /*jobj*/,
                                                jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  const rocksdb::Snapshot* snapshot = txn->GetSnapshot();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  const ROCKSDB_NAMESPACE::Snapshot* snapshot = txn->GetSnapshot();
   return reinterpret_cast<jlong>(snapshot);
 }
 
@@ -80,7 +80,7 @@ jlong Java_org_rocksdb_Transaction_getSnapshot(JNIEnv* /*env*/,
 void Java_org_rocksdb_Transaction_clearSnapshot(JNIEnv* /*env*/,
                                                 jobject /*jobj*/,
                                                 jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->ClearSnapshot();
 }
 
@@ -91,10 +91,10 @@ void Java_org_rocksdb_Transaction_clearSnapshot(JNIEnv* /*env*/,
  */
 void Java_org_rocksdb_Transaction_prepare(JNIEnv* env, jobject /*jobj*/,
                                           jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::Status s = txn->Prepare();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::Status s = txn->Prepare();
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
@@ -105,10 +105,10 @@ void Java_org_rocksdb_Transaction_prepare(JNIEnv* env, jobject /*jobj*/,
  */
 void Java_org_rocksdb_Transaction_commit(JNIEnv* env, jobject /*jobj*/,
                                          jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::Status s = txn->Commit();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::Status s = txn->Commit();
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
@@ -119,10 +119,10 @@ void Java_org_rocksdb_Transaction_commit(JNIEnv* env, jobject /*jobj*/,
  */
 void Java_org_rocksdb_Transaction_rollback(JNIEnv* env, jobject /*jobj*/,
                                            jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::Status s = txn->Rollback();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::Status s = txn->Rollback();
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
@@ -134,7 +134,7 @@ void Java_org_rocksdb_Transaction_rollback(JNIEnv* env, jobject /*jobj*/,
 void Java_org_rocksdb_Transaction_setSavePoint(JNIEnv* /*env*/,
                                                jobject /*jobj*/,
                                                jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->SetSavePoint();
 }
 
@@ -146,15 +146,16 @@ void Java_org_rocksdb_Transaction_setSavePoint(JNIEnv* /*env*/,
 void Java_org_rocksdb_Transaction_rollbackToSavePoint(JNIEnv* env,
                                                       jobject /*jobj*/,
                                                       jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::Status s = txn->RollbackToSavePoint();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::Status s = txn->RollbackToSavePoint();
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
-typedef std::function<rocksdb::Status(const rocksdb::ReadOptions&,
-                                      const rocksdb::Slice&, std::string*)>
+typedef std::function<ROCKSDB_NAMESPACE::Status(
+    const ROCKSDB_NAMESPACE::ReadOptions&, const ROCKSDB_NAMESPACE::Slice&,
+    std::string*)>
     FnGet;
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
@@ -166,12 +167,13 @@ jbyteArray txn_get_helper(JNIEnv* env, const FnGet& fn_get,
     // exception thrown: OutOfMemoryError
     return nullptr;
   }
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
 
   auto* read_options =
-      reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jread_options_handle);
   std::string value;
-  rocksdb::Status s = fn_get(*read_options, key_slice, &value);
+  ROCKSDB_NAMESPACE::Status s = fn_get(*read_options, key_slice, &value);
 
   // trigger java unref on key.
   // by passing JNI_ABORT, it will simply release the reference without
@@ -197,7 +199,7 @@ jbyteArray txn_get_helper(JNIEnv* env, const FnGet& fn_get,
     return jret_value;
   }
 
-  rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+  ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   return nullptr;
 }
 
@@ -209,13 +211,17 @@ jbyteArray txn_get_helper(JNIEnv* env, const FnGet& fn_get,
 jbyteArray Java_org_rocksdb_Transaction_get__JJ_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jbyteArray jkey, jint jkey_part_len, jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnGet fn_get = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle*,
-      const rocksdb::Slice&, std::string*)>(&rocksdb::Transaction::Get, txn, _1,
-                                            column_family_handle, _2, _3);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnGet fn_get =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::ReadOptions&,
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, std::string*)>(
+          &ROCKSDB_NAMESPACE::Transaction::Get, txn, _1, column_family_handle,
+          _2, _3);
   return txn_get_helper(env, fn_get, jread_options_handle, jkey, jkey_part_len);
 }
 
@@ -227,36 +233,38 @@ jbyteArray Java_org_rocksdb_Transaction_get__JJ_3BIJ(
 jbyteArray Java_org_rocksdb_Transaction_get__JJ_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jbyteArray jkey, jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnGet fn_get = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::ReadOptions&, const rocksdb::Slice&, std::string*)>(
-      &rocksdb::Transaction::Get, txn, _1, _2, _3);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnGet fn_get =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::ReadOptions&,
+          const ROCKSDB_NAMESPACE::Slice&, std::string*)>(
+          &ROCKSDB_NAMESPACE::Transaction::Get, txn, _1, _2, _3);
   return txn_get_helper(env, fn_get, jread_options_handle, jkey, jkey_part_len);
 }
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
 // used by txn_multi_get_helper below
-std::vector<rocksdb::ColumnFamilyHandle*> txn_column_families_helper(
+std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*> txn_column_families_helper(
     JNIEnv* env, jlongArray jcolumn_family_handles, bool* has_exception) {
-  std::vector<rocksdb::ColumnFamilyHandle*> cf_handles;
+  std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*> cf_handles;
   if (jcolumn_family_handles != nullptr) {
     const jsize len_cols = env->GetArrayLength(jcolumn_family_handles);
     if (len_cols > 0) {
       if (env->EnsureLocalCapacity(len_cols) != 0) {
         // out of memory
         *has_exception = JNI_TRUE;
-        return std::vector<rocksdb::ColumnFamilyHandle*>();
+        return std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>();
       }
 
       jlong* jcfh = env->GetLongArrayElements(jcolumn_family_handles, nullptr);
       if (jcfh == nullptr) {
         // exception thrown: OutOfMemoryError
         *has_exception = JNI_TRUE;
-        return std::vector<rocksdb::ColumnFamilyHandle*>();
+        return std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>();
       }
       for (int i = 0; i < len_cols; i++) {
         auto* cf_handle =
-            reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcfh[i]);
+            reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(jcfh[i]);
         cf_handles.push_back(cf_handle);
       }
       env->ReleaseLongArrayElements(jcolumn_family_handles, jcfh, JNI_ABORT);
@@ -265,9 +273,9 @@ std::vector<rocksdb::ColumnFamilyHandle*> txn_column_families_helper(
   return cf_handles;
 }
 
-typedef std::function<std::vector<rocksdb::Status>(
-    const rocksdb::ReadOptions&, const std::vector<rocksdb::Slice>&,
-    std::vector<std::string>*)>
+typedef std::function<std::vector<ROCKSDB_NAMESPACE::Status>(
+    const ROCKSDB_NAMESPACE::ReadOptions&,
+    const std::vector<ROCKSDB_NAMESPACE::Slice>&, std::vector<std::string>*)>
     FnMultiGet;
 
 void free_parts(
@@ -294,7 +302,7 @@ jobjectArray txn_multi_get_helper(JNIEnv* env, const FnMultiGet& fn_multi_get,
     return nullptr;
   }
 
-  std::vector<rocksdb::Slice> key_parts;
+  std::vector<ROCKSDB_NAMESPACE::Slice> key_parts;
   std::vector<std::tuple<jbyteArray, jbyte*, jobject>> key_parts_to_free;
   for (int i = 0; i < len_key_parts; i++) {
     const jobject jk = env->GetObjectArrayElement(jkey_parts, i);
@@ -319,16 +327,17 @@ jobjectArray txn_multi_get_helper(JNIEnv* env, const FnMultiGet& fn_multi_get,
       return nullptr;
     }
 
-    rocksdb::Slice key_slice(reinterpret_cast<char*>(jk_val), len_key);
+    ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(jk_val),
+                                       len_key);
     key_parts.push_back(key_slice);
 
     key_parts_to_free.push_back(std::make_tuple(jk_ba, jk_val, jk));
   }
 
   auto* read_options =
-      reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jread_options_handle);
   std::vector<std::string> value_parts;
-  std::vector<rocksdb::Status> s =
+  std::vector<ROCKSDB_NAMESPACE::Status> s =
       fn_multi_get(*read_options, key_parts, &value_parts);
 
   // free up allocated byte arrays
@@ -344,7 +353,8 @@ jobjectArray txn_multi_get_helper(JNIEnv* env, const FnMultiGet& fn_multi_get,
   }
 
   // add to the jresults
-  for (std::vector<rocksdb::Status>::size_type i = 0; i != s.size(); i++) {
+  for (std::vector<ROCKSDB_NAMESPACE::Status>::size_type i = 0; i != s.size();
+       i++) {
     if (s[i].ok()) {
       jbyteArray jentry_value =
           env->NewByteArray(static_cast<jsize>(value_parts[i].size()));
@@ -379,20 +389,21 @@ jobjectArray Java_org_rocksdb_Transaction_multiGet__JJ_3_3B_3J(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jobjectArray jkey_parts, jlongArray jcolumn_family_handles) {
   bool has_exception = false;
-  const std::vector<rocksdb::ColumnFamilyHandle*> column_family_handles =
-      txn_column_families_helper(env, jcolumn_family_handles, &has_exception);
+  const std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>
+      column_family_handles = txn_column_families_helper(
+          env, jcolumn_family_handles, &has_exception);
   if (has_exception) {
     // exception thrown: OutOfMemoryError
     return nullptr;
   }
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnMultiGet fn_multi_get =
-      std::bind<std::vector<rocksdb::Status> (rocksdb::Transaction::*)(
-          const rocksdb::ReadOptions&,
-          const std::vector<rocksdb::ColumnFamilyHandle*>&,
-          const std::vector<rocksdb::Slice>&, std::vector<std::string>*)>(
-          &rocksdb::Transaction::MultiGet, txn, _1, column_family_handles, _2,
-          _3);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnMultiGet fn_multi_get = std::bind<std::vector<ROCKSDB_NAMESPACE::Status> (
+      ROCKSDB_NAMESPACE::Transaction::*)(
+      const ROCKSDB_NAMESPACE::ReadOptions&,
+      const std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>&,
+      const std::vector<ROCKSDB_NAMESPACE::Slice>&, std::vector<std::string>*)>(
+      &ROCKSDB_NAMESPACE::Transaction::MultiGet, txn, _1, column_family_handles,
+      _2, _3);
   return txn_multi_get_helper(env, fn_multi_get, jread_options_handle,
                               jkey_parts);
 }
@@ -405,12 +416,12 @@ jobjectArray Java_org_rocksdb_Transaction_multiGet__JJ_3_3B_3J(
 jobjectArray Java_org_rocksdb_Transaction_multiGet__JJ_3_3B(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jobjectArray jkey_parts) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnMultiGet fn_multi_get =
-      std::bind<std::vector<rocksdb::Status> (rocksdb::Transaction::*)(
-          const rocksdb::ReadOptions&, const std::vector<rocksdb::Slice>&,
-          std::vector<std::string>*)>(&rocksdb::Transaction::MultiGet, txn, _1,
-                                      _2, _3);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnMultiGet fn_multi_get = std::bind<std::vector<ROCKSDB_NAMESPACE::Status> (
+      ROCKSDB_NAMESPACE::Transaction::*)(
+      const ROCKSDB_NAMESPACE::ReadOptions&,
+      const std::vector<ROCKSDB_NAMESPACE::Slice>&, std::vector<std::string>*)>(
+      &ROCKSDB_NAMESPACE::Transaction::MultiGet, txn, _1, _2, _3);
   return txn_multi_get_helper(env, fn_multi_get, jread_options_handle,
                               jkey_parts);
 }
@@ -425,13 +436,16 @@ jbyteArray Java_org_rocksdb_Transaction_getForUpdate__JJ_3BIJZZ(
     jbyteArray jkey, jint jkey_part_len, jlong jcolumn_family_handle,
     jboolean jexclusive, jboolean jdo_validate) {
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnGet fn_get_for_update = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle*,
-      const rocksdb::Slice&, std::string*, bool, bool)>(
-      &rocksdb::Transaction::GetForUpdate, txn, _1, column_family_handle, _2,
-      _3, jexclusive, jdo_validate);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnGet fn_get_for_update =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::ReadOptions&,
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, std::string*, bool, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::GetForUpdate, txn, _1,
+          column_family_handle, _2, _3, jexclusive, jdo_validate);
   return txn_get_helper(env, fn_get_for_update, jread_options_handle, jkey,
                         jkey_part_len);
 }
@@ -445,11 +459,13 @@ jbyteArray Java_org_rocksdb_Transaction_getForUpdate__JJ_3BIZZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jbyteArray jkey, jint jkey_part_len, jboolean jexclusive,
     jboolean jdo_validate) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnGet fn_get_for_update = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::ReadOptions&, const rocksdb::Slice&, std::string*, bool,
-      bool)>(&rocksdb::Transaction::GetForUpdate, txn, _1, _2, _3, jexclusive,
-             jdo_validate);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnGet fn_get_for_update =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::ReadOptions&,
+          const ROCKSDB_NAMESPACE::Slice&, std::string*, bool, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::GetForUpdate, txn, _1, _2, _3,
+          jexclusive, jdo_validate);
   return txn_get_helper(env, fn_get_for_update, jread_options_handle, jkey,
                         jkey_part_len);
 }
@@ -463,20 +479,21 @@ jobjectArray Java_org_rocksdb_Transaction_multiGetForUpdate__JJ_3_3B_3J(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jobjectArray jkey_parts, jlongArray jcolumn_family_handles) {
   bool has_exception = false;
-  const std::vector<rocksdb::ColumnFamilyHandle*> column_family_handles =
-      txn_column_families_helper(env, jcolumn_family_handles, &has_exception);
+  const std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>
+      column_family_handles = txn_column_families_helper(
+          env, jcolumn_family_handles, &has_exception);
   if (has_exception) {
     // exception thrown: OutOfMemoryError
     return nullptr;
   }
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnMultiGet fn_multi_get_for_update =
-      std::bind<std::vector<rocksdb::Status> (rocksdb::Transaction::*)(
-          const rocksdb::ReadOptions&,
-          const std::vector<rocksdb::ColumnFamilyHandle*>&,
-          const std::vector<rocksdb::Slice>&, std::vector<std::string>*)>(
-          &rocksdb::Transaction::MultiGetForUpdate, txn, _1,
-          column_family_handles, _2, _3);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnMultiGet fn_multi_get_for_update = std::bind<std::vector<
+      ROCKSDB_NAMESPACE::Status> (ROCKSDB_NAMESPACE::Transaction::*)(
+      const ROCKSDB_NAMESPACE::ReadOptions&,
+      const std::vector<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>&,
+      const std::vector<ROCKSDB_NAMESPACE::Slice>&, std::vector<std::string>*)>(
+      &ROCKSDB_NAMESPACE::Transaction::MultiGetForUpdate, txn, _1,
+      column_family_handles, _2, _3);
   return txn_multi_get_helper(env, fn_multi_get_for_update,
                               jread_options_handle, jkey_parts);
 }
@@ -489,12 +506,12 @@ jobjectArray Java_org_rocksdb_Transaction_multiGetForUpdate__JJ_3_3B_3J(
 jobjectArray Java_org_rocksdb_Transaction_multiGetForUpdate__JJ_3_3B(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jread_options_handle,
     jobjectArray jkey_parts) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnMultiGet fn_multi_get_for_update =
-      std::bind<std::vector<rocksdb::Status> (rocksdb::Transaction::*)(
-          const rocksdb::ReadOptions&, const std::vector<rocksdb::Slice>&,
-          std::vector<std::string>*)>(&rocksdb::Transaction::MultiGetForUpdate,
-                                      txn, _1, _2, _3);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnMultiGet fn_multi_get_for_update = std::bind<std::vector<
+      ROCKSDB_NAMESPACE::Status> (ROCKSDB_NAMESPACE::Transaction::*)(
+      const ROCKSDB_NAMESPACE::ReadOptions&,
+      const std::vector<ROCKSDB_NAMESPACE::Slice>&, std::vector<std::string>*)>(
+      &ROCKSDB_NAMESPACE::Transaction::MultiGetForUpdate, txn, _1, _2, _3);
   return txn_multi_get_helper(env, fn_multi_get_for_update,
                               jread_options_handle, jkey_parts);
 }
@@ -508,9 +525,9 @@ jlong Java_org_rocksdb_Transaction_getIterator__JJ(JNIEnv* /*env*/,
                                                    jobject /*jobj*/,
                                                    jlong jhandle,
                                                    jlong jread_options_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* read_options =
-      reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jread_options_handle);
   return reinterpret_cast<jlong>(txn->GetIterator(*read_options));
 }
 
@@ -522,17 +539,18 @@ jlong Java_org_rocksdb_Transaction_getIterator__JJ(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getIterator__JJJ(
     JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
     jlong jread_options_handle, jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* read_options =
-      reinterpret_cast<rocksdb::ReadOptions*>(jread_options_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ReadOptions*>(jread_options_handle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   return reinterpret_cast<jlong>(
       txn->GetIterator(*read_options, column_family_handle));
 }
 
-typedef std::function<rocksdb::Status(const rocksdb::Slice&,
-                                      const rocksdb::Slice&)>
+typedef std::function<ROCKSDB_NAMESPACE::Status(
+    const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>
     FnWriteKV;
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
@@ -550,10 +568,12 @@ void txn_write_kv_helper(JNIEnv* env, const FnWriteKV& fn_write_kv,
     env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
     return;
   }
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
-  rocksdb::Slice value_slice(reinterpret_cast<char*>(value), jval_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice value_slice(reinterpret_cast<char*>(value),
+                                       jval_len);
 
-  rocksdb::Status s = fn_write_kv(key_slice, value_slice);
+  ROCKSDB_NAMESPACE::Status s = fn_write_kv(key_slice, value_slice);
 
   // trigger java unref on key.
   // by passing JNI_ABORT, it will simply release the reference without
@@ -564,7 +584,7 @@ void txn_write_kv_helper(JNIEnv* env, const FnWriteKV& fn_write_kv,
   if (s.ok()) {
     return;
   }
-  rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+  ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
 }
 
 /*
@@ -576,14 +596,16 @@ void Java_org_rocksdb_Transaction_put__J_3BI_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len,
     jlong jcolumn_family_handle, jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteKV fn_put = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&,
-      const rocksdb::Slice&, bool)>(&rocksdb::Transaction::Put, txn,
-                                    column_family_handle, _1, _2,
-                                    jassume_tracked);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteKV fn_put =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&,
+          bool)>(&ROCKSDB_NAMESPACE::Transaction::Put, txn,
+                 column_family_handle, _1, _2, jassume_tracked);
   txn_write_kv_helper(env, fn_put, jkey, jkey_part_len, jval, jval_len);
 }
 
@@ -597,15 +619,16 @@ void Java_org_rocksdb_Transaction_put__J_3BI_3BI(JNIEnv* env, jobject /*jobj*/,
                                                  jint jkey_part_len,
                                                  jbyteArray jval,
                                                  jint jval_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKV fn_put = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::Slice&, const rocksdb::Slice&)>(&rocksdb::Transaction::Put,
-                                                     txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKV fn_put =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::Put, txn, _1, _2);
   txn_write_kv_helper(env, fn_put, jkey, jkey_part_len, jval, jval_len);
 }
 
-typedef std::function<rocksdb::Status(const rocksdb::SliceParts&,
-                                      const rocksdb::SliceParts&)>
+typedef std::function<ROCKSDB_NAMESPACE::Status(
+    const ROCKSDB_NAMESPACE::SliceParts&, const ROCKSDB_NAMESPACE::SliceParts&)>
     FnWriteKVParts;
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
@@ -621,8 +644,8 @@ void txn_write_kv_parts_helper(JNIEnv* env,
   assert(jkey_parts_len == jvalue_parts_len);
 #endif
 
-  auto key_parts = std::vector<rocksdb::Slice>();
-  auto value_parts = std::vector<rocksdb::Slice>();
+  auto key_parts = std::vector<ROCKSDB_NAMESPACE::Slice>();
+  auto value_parts = std::vector<ROCKSDB_NAMESPACE::Slice>();
   auto jparts_to_free = std::vector<std::tuple<jbyteArray, jbyte*, jobject>>();
 
   // convert java key_parts/value_parts byte[][] to Slice(s)
@@ -684,16 +707,17 @@ void txn_write_kv_parts_helper(JNIEnv* env,
     jparts_to_free.push_back(
         std::make_tuple(jba_value_part, jvalue_part, jobj_value_part));
 
-    key_parts.push_back(
-        rocksdb::Slice(reinterpret_cast<char*>(jkey_part), jkey_part_len));
-    value_parts.push_back(
-        rocksdb::Slice(reinterpret_cast<char*>(jvalue_part), jvalue_part_len));
+    key_parts.push_back(ROCKSDB_NAMESPACE::Slice(
+        reinterpret_cast<char*>(jkey_part), jkey_part_len));
+    value_parts.push_back(ROCKSDB_NAMESPACE::Slice(
+        reinterpret_cast<char*>(jvalue_part), jvalue_part_len));
   }
 
   // call the write_multi function
-  rocksdb::Status s = fn_write_kv_parts(
-      rocksdb::SliceParts(key_parts.data(), (int)key_parts.size()),
-      rocksdb::SliceParts(value_parts.data(), (int)value_parts.size()));
+  ROCKSDB_NAMESPACE::Status s = fn_write_kv_parts(
+      ROCKSDB_NAMESPACE::SliceParts(key_parts.data(), (int)key_parts.size()),
+      ROCKSDB_NAMESPACE::SliceParts(value_parts.data(),
+                                    (int)value_parts.size()));
 
   // cleanup temporary memory
   free_parts(env, jparts_to_free);
@@ -703,7 +727,7 @@ void txn_write_kv_parts_helper(JNIEnv* env,
     return;
   }
 
-  rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+  ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
 }
 
 /*
@@ -715,15 +739,17 @@ void Java_org_rocksdb_Transaction_put__J_3_3BI_3_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jobjectArray jvalue_parts, jint jvalue_parts_len,
     jlong jcolumn_family_handle, jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   FnWriteKVParts fn_put_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::SliceParts&,
-          const rocksdb::SliceParts&, bool)>(&rocksdb::Transaction::Put, txn,
-                                             column_family_handle, _1, _2,
-                                             jassume_tracked);
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::SliceParts&,
+          const ROCKSDB_NAMESPACE::SliceParts&, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::Put, txn, column_family_handle, _1,
+          _2, jassume_tracked);
   txn_write_kv_parts_helper(env, fn_put_parts, jkey_parts, jkey_parts_len,
                             jvalue_parts, jvalue_parts_len);
 }
@@ -736,11 +762,11 @@ void Java_org_rocksdb_Transaction_put__J_3_3BI_3_3BIJZ(
 void Java_org_rocksdb_Transaction_put__J_3_3BI_3_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jobjectArray jvalue_parts, jint jvalue_parts_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKVParts fn_put_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          const rocksdb::SliceParts&, const rocksdb::SliceParts&)>(
-          &rocksdb::Transaction::Put, txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKVParts fn_put_parts = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::SliceParts&,
+                                         const ROCKSDB_NAMESPACE::SliceParts&)>(
+      &ROCKSDB_NAMESPACE::Transaction::Put, txn, _1, _2);
   txn_write_kv_parts_helper(env, fn_put_parts, jkey_parts, jkey_parts_len,
                             jvalue_parts, jvalue_parts_len);
 }
@@ -754,14 +780,16 @@ void Java_org_rocksdb_Transaction_merge__J_3BI_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len,
     jlong jcolumn_family_handle, jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteKV fn_merge = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&,
-      const rocksdb::Slice&, bool)>(&rocksdb::Transaction::Merge, txn,
-                                    column_family_handle, _1, _2,
-                                    jassume_tracked);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteKV fn_merge =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&,
+          bool)>(&ROCKSDB_NAMESPACE::Transaction::Merge, txn,
+                 column_family_handle, _1, _2, jassume_tracked);
   txn_write_kv_helper(env, fn_merge, jkey, jkey_part_len, jval, jval_len);
 }
 
@@ -773,14 +801,17 @@ void Java_org_rocksdb_Transaction_merge__J_3BI_3BIJZ(
 void Java_org_rocksdb_Transaction_merge__J_3BI_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKV fn_merge = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::Slice&, const rocksdb::Slice&)>(
-      &rocksdb::Transaction::Merge, txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKV fn_merge =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::Merge, txn, _1, _2);
   txn_write_kv_helper(env, fn_merge, jkey, jkey_part_len, jval, jval_len);
 }
 
-typedef std::function<rocksdb::Status(const rocksdb::Slice&)> FnWriteK;
+typedef std::function<ROCKSDB_NAMESPACE::Status(
+    const ROCKSDB_NAMESPACE::Slice&)>
+    FnWriteK;
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
 void txn_write_k_helper(JNIEnv* env, const FnWriteK& fn_write_k,
@@ -790,9 +821,10 @@ void txn_write_k_helper(JNIEnv* env, const FnWriteK& fn_write_k,
     // exception thrown: OutOfMemoryError
     return;
   }
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
 
-  rocksdb::Status s = fn_write_k(key_slice);
+  ROCKSDB_NAMESPACE::Status s = fn_write_k(key_slice);
 
   // trigger java unref on key.
   // by passing JNI_ABORT, it will simply release the reference without
@@ -802,7 +834,7 @@ void txn_write_k_helper(JNIEnv* env, const FnWriteK& fn_write_k,
   if (s.ok()) {
     return;
   }
-  rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+  ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
 }
 
 /*
@@ -813,13 +845,16 @@ void txn_write_k_helper(JNIEnv* env, const FnWriteK& fn_write_k,
 void Java_org_rocksdb_Transaction_delete__J_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jlong jcolumn_family_handle, jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteK fn_delete = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, bool)>(
-      &rocksdb::Transaction::Delete, txn, column_family_handle, _1,
-      jassume_tracked);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteK fn_delete =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::Delete, txn, column_family_handle,
+          _1, jassume_tracked);
   txn_write_k_helper(env, fn_delete, jkey, jkey_part_len);
 }
 
@@ -831,13 +866,15 @@ void Java_org_rocksdb_Transaction_delete__J_3BIJZ(
 void Java_org_rocksdb_Transaction_delete__J_3BI(JNIEnv* env, jobject /*jobj*/,
                                                 jlong jhandle, jbyteArray jkey,
                                                 jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteK fn_delete = std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-      const rocksdb::Slice&)>(&rocksdb::Transaction::Delete, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteK fn_delete = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::Slice&)>(
+      &ROCKSDB_NAMESPACE::Transaction::Delete, txn, _1);
   txn_write_k_helper(env, fn_delete, jkey, jkey_part_len);
 }
 
-typedef std::function<rocksdb::Status(const rocksdb::SliceParts&)>
+typedef std::function<ROCKSDB_NAMESPACE::Status(
+    const ROCKSDB_NAMESPACE::SliceParts&)>
     FnWriteKParts;
 
 // TODO(AR) consider refactoring to share this between here and rocksjni.cc
@@ -845,7 +882,7 @@ void txn_write_k_parts_helper(JNIEnv* env,
                               const FnWriteKParts& fn_write_k_parts,
                               const jobjectArray& jkey_parts,
                               const jint& jkey_parts_len) {
-  std::vector<rocksdb::Slice> key_parts;
+  std::vector<ROCKSDB_NAMESPACE::Slice> key_parts;
   std::vector<std::tuple<jbyteArray, jbyte*, jobject>> jkey_parts_to_free;
 
   // convert java key_parts byte[][] to Slice(s)
@@ -876,13 +913,13 @@ void txn_write_k_parts_helper(JNIEnv* env,
     jkey_parts_to_free.push_back(std::tuple<jbyteArray, jbyte*, jobject>(
         jba_key_part, jkey_part, jobj_key_part));
 
-    key_parts.push_back(
-        rocksdb::Slice(reinterpret_cast<char*>(jkey_part), jkey_part_len));
+    key_parts.push_back(ROCKSDB_NAMESPACE::Slice(
+        reinterpret_cast<char*>(jkey_part), jkey_part_len));
   }
 
   // call the write_multi function
-  rocksdb::Status s = fn_write_k_parts(
-      rocksdb::SliceParts(key_parts.data(), (int)key_parts.size()));
+  ROCKSDB_NAMESPACE::Status s = fn_write_k_parts(
+      ROCKSDB_NAMESPACE::SliceParts(key_parts.data(), (int)key_parts.size()));
 
   // cleanup temporary memory
   free_parts(env, jkey_parts_to_free);
@@ -891,7 +928,7 @@ void txn_write_k_parts_helper(JNIEnv* env,
   if (s.ok()) {
     return;
   }
-  rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+  ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
 }
 
 /*
@@ -903,14 +940,16 @@ void Java_org_rocksdb_Transaction_delete__J_3_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jlong jcolumn_family_handle,
     jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   FnWriteKParts fn_delete_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::SliceParts&, bool)>(
-          &rocksdb::Transaction::Delete, txn, column_family_handle, _1,
-          jassume_tracked);
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::SliceParts&, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::Delete, txn, column_family_handle,
+          _1, jassume_tracked);
   txn_write_k_parts_helper(env, fn_delete_parts, jkey_parts, jkey_parts_len);
 }
 
@@ -923,10 +962,10 @@ void Java_org_rocksdb_Transaction_delete__J_3_3BI(JNIEnv* env, jobject /*jobj*/,
                                                   jlong jhandle,
                                                   jobjectArray jkey_parts,
                                                   jint jkey_parts_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKParts fn_delete_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          const rocksdb::SliceParts&)>(&rocksdb::Transaction::Delete, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKParts fn_delete_parts = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::SliceParts&)>(
+      &ROCKSDB_NAMESPACE::Transaction::Delete, txn, _1);
   txn_write_k_parts_helper(env, fn_delete_parts, jkey_parts, jkey_parts_len);
 }
 
@@ -938,14 +977,16 @@ void Java_org_rocksdb_Transaction_delete__J_3_3BI(JNIEnv* env, jobject /*jobj*/,
 void Java_org_rocksdb_Transaction_singleDelete__J_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jlong jcolumn_family_handle, jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   FnWriteK fn_single_delete =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, bool)>(
-          &rocksdb::Transaction::SingleDelete, txn, column_family_handle, _1,
-          jassume_tracked);
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::SingleDelete, txn,
+          column_family_handle, _1, jassume_tracked);
   txn_write_k_helper(env, fn_single_delete, jkey, jkey_part_len);
 }
 
@@ -959,10 +1000,10 @@ void Java_org_rocksdb_Transaction_singleDelete__J_3BI(JNIEnv* env,
                                                       jlong jhandle,
                                                       jbyteArray jkey,
                                                       jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteK fn_single_delete =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          const rocksdb::Slice&)>(&rocksdb::Transaction::SingleDelete, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteK fn_single_delete = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::Slice&)>(
+      &ROCKSDB_NAMESPACE::Transaction::SingleDelete, txn, _1);
   txn_write_k_helper(env, fn_single_delete, jkey, jkey_part_len);
 }
 
@@ -975,14 +1016,16 @@ void Java_org_rocksdb_Transaction_singleDelete__J_3_3BIJZ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jlong jcolumn_family_handle,
     jboolean jassume_tracked) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   FnWriteKParts fn_single_delete_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::SliceParts&, bool)>(
-          &rocksdb::Transaction::SingleDelete, txn, column_family_handle, _1,
-          jassume_tracked);
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::SliceParts&, bool)>(
+          &ROCKSDB_NAMESPACE::Transaction::SingleDelete, txn,
+          column_family_handle, _1, jassume_tracked);
   txn_write_k_parts_helper(env, fn_single_delete_parts, jkey_parts,
                            jkey_parts_len);
 }
@@ -997,10 +1040,10 @@ void Java_org_rocksdb_Transaction_singleDelete__J_3_3BI(JNIEnv* env,
                                                         jlong jhandle,
                                                         jobjectArray jkey_parts,
                                                         jint jkey_parts_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKParts fn_single_delete_parts = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(const rocksdb::SliceParts&)>(
-      &rocksdb::Transaction::SingleDelete, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKParts fn_single_delete_parts = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::SliceParts&)>(
+      &ROCKSDB_NAMESPACE::Transaction::SingleDelete, txn, _1);
   txn_write_k_parts_helper(env, fn_single_delete_parts, jkey_parts,
                            jkey_parts_len);
 }
@@ -1014,13 +1057,16 @@ void Java_org_rocksdb_Transaction_putUntracked__J_3BI_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len,
     jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteKV fn_put_untracked = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(rocksdb::ColumnFamilyHandle*,
-                               const rocksdb::Slice&, const rocksdb::Slice&)>(
-      &rocksdb::Transaction::PutUntracked, txn, column_family_handle, _1, _2);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteKV fn_put_untracked =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::PutUntracked, txn,
+          column_family_handle, _1, _2);
   txn_write_kv_helper(env, fn_put_untracked, jkey, jkey_part_len, jval,
                       jval_len);
 }
@@ -1033,10 +1079,11 @@ void Java_org_rocksdb_Transaction_putUntracked__J_3BI_3BIJ(
 void Java_org_rocksdb_Transaction_putUntracked__J_3BI_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKV fn_put_untracked = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(const rocksdb::Slice&, const rocksdb::Slice&)>(
-      &rocksdb::Transaction::PutUntracked, txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKV fn_put_untracked =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::PutUntracked, txn, _1, _2);
   txn_write_kv_helper(env, fn_put_untracked, jkey, jkey_part_len, jval,
                       jval_len);
 }
@@ -1050,14 +1097,16 @@ void Java_org_rocksdb_Transaction_putUntracked__J_3_3BI_3_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jobjectArray jvalue_parts, jint jvalue_parts_len,
     jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteKVParts fn_put_parts_untracked =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::SliceParts&,
-          const rocksdb::SliceParts&)>(&rocksdb::Transaction::PutUntracked, txn,
-                                       column_family_handle, _1, _2);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteKVParts fn_put_parts_untracked = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+                                         const ROCKSDB_NAMESPACE::SliceParts&,
+                                         const ROCKSDB_NAMESPACE::SliceParts&)>(
+      &ROCKSDB_NAMESPACE::Transaction::PutUntracked, txn, column_family_handle,
+      _1, _2);
   txn_write_kv_parts_helper(env, fn_put_parts_untracked, jkey_parts,
                             jkey_parts_len, jvalue_parts, jvalue_parts_len);
 }
@@ -1070,11 +1119,11 @@ void Java_org_rocksdb_Transaction_putUntracked__J_3_3BI_3_3BIJ(
 void Java_org_rocksdb_Transaction_putUntracked__J_3_3BI_3_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jobjectArray jvalue_parts, jint jvalue_parts_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKVParts fn_put_parts_untracked =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          const rocksdb::SliceParts&, const rocksdb::SliceParts&)>(
-          &rocksdb::Transaction::PutUntracked, txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKVParts fn_put_parts_untracked = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::SliceParts&,
+                                         const ROCKSDB_NAMESPACE::SliceParts&)>(
+      &ROCKSDB_NAMESPACE::Transaction::PutUntracked, txn, _1, _2);
   txn_write_kv_parts_helper(env, fn_put_parts_untracked, jkey_parts,
                             jkey_parts_len, jvalue_parts, jvalue_parts_len);
 }
@@ -1088,13 +1137,16 @@ void Java_org_rocksdb_Transaction_mergeUntracked__J_3BI_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len,
     jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteKV fn_merge_untracked = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(rocksdb::ColumnFamilyHandle*,
-                               const rocksdb::Slice&, const rocksdb::Slice&)>(
-      &rocksdb::Transaction::MergeUntracked, txn, column_family_handle, _1, _2);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteKV fn_merge_untracked =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::MergeUntracked, txn,
+          column_family_handle, _1, _2);
   txn_write_kv_helper(env, fn_merge_untracked, jkey, jkey_part_len, jval,
                       jval_len);
 }
@@ -1107,10 +1159,11 @@ void Java_org_rocksdb_Transaction_mergeUntracked__J_3BI_3BIJ(
 void Java_org_rocksdb_Transaction_mergeUntracked__J_3BI_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jbyteArray jval, jint jval_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKV fn_merge_untracked = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(const rocksdb::Slice&, const rocksdb::Slice&)>(
-      &rocksdb::Transaction::MergeUntracked, txn, _1, _2);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKV fn_merge_untracked =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::Slice&, const ROCKSDB_NAMESPACE::Slice&)>(
+          &ROCKSDB_NAMESPACE::Transaction::MergeUntracked, txn, _1, _2);
   txn_write_kv_helper(env, fn_merge_untracked, jkey, jkey_part_len, jval,
                       jval_len);
 }
@@ -1123,14 +1176,15 @@ void Java_org_rocksdb_Transaction_mergeUntracked__J_3BI_3BI(
 void Java_org_rocksdb_Transaction_deleteUntracked__J_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
-  FnWriteK fn_delete_untracked =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&)>(
-          &rocksdb::Transaction::DeleteUntracked, txn, column_family_handle,
-          _1);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
+  FnWriteK fn_delete_untracked = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+                                         const ROCKSDB_NAMESPACE::Slice&)>(
+      &ROCKSDB_NAMESPACE::Transaction::DeleteUntracked, txn,
+      column_family_handle, _1);
   txn_write_k_helper(env, fn_delete_untracked, jkey, jkey_part_len);
 }
 
@@ -1144,10 +1198,10 @@ void Java_org_rocksdb_Transaction_deleteUntracked__J_3BI(JNIEnv* env,
                                                          jlong jhandle,
                                                          jbyteArray jkey,
                                                          jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteK fn_delete_untracked = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(const rocksdb::Slice&)>(
-      &rocksdb::Transaction::DeleteUntracked, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteK fn_delete_untracked = std::bind<ROCKSDB_NAMESPACE::Status (
+      ROCKSDB_NAMESPACE::Transaction::*)(const ROCKSDB_NAMESPACE::Slice&)>(
+      &ROCKSDB_NAMESPACE::Transaction::DeleteUntracked, txn, _1);
   txn_write_k_helper(env, fn_delete_untracked, jkey, jkey_part_len);
 }
 
@@ -1159,14 +1213,16 @@ void Java_org_rocksdb_Transaction_deleteUntracked__J_3BI(JNIEnv* env,
 void Java_org_rocksdb_Transaction_deleteUntracked__J_3_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len, jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   FnWriteKParts fn_delete_untracked_parts =
-      std::bind<rocksdb::Status (rocksdb::Transaction::*)(
-          rocksdb::ColumnFamilyHandle*, const rocksdb::SliceParts&)>(
-          &rocksdb::Transaction::DeleteUntracked, txn, column_family_handle,
-          _1);
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          ROCKSDB_NAMESPACE::ColumnFamilyHandle*,
+          const ROCKSDB_NAMESPACE::SliceParts&)>(
+          &ROCKSDB_NAMESPACE::Transaction::DeleteUntracked, txn,
+          column_family_handle, _1);
   txn_write_k_parts_helper(env, fn_delete_untracked_parts, jkey_parts,
                            jkey_parts_len);
 }
@@ -1179,10 +1235,11 @@ void Java_org_rocksdb_Transaction_deleteUntracked__J_3_3BIJ(
 void Java_org_rocksdb_Transaction_deleteUntracked__J_3_3BI(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jobjectArray jkey_parts,
     jint jkey_parts_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  FnWriteKParts fn_delete_untracked_parts = std::bind<rocksdb::Status (
-      rocksdb::Transaction::*)(const rocksdb::SliceParts&)>(
-      &rocksdb::Transaction::DeleteUntracked, txn, _1);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  FnWriteKParts fn_delete_untracked_parts =
+      std::bind<ROCKSDB_NAMESPACE::Status (ROCKSDB_NAMESPACE::Transaction::*)(
+          const ROCKSDB_NAMESPACE::SliceParts&)>(
+          &ROCKSDB_NAMESPACE::Transaction::DeleteUntracked, txn, _1);
   txn_write_k_parts_helper(env, fn_delete_untracked_parts, jkey_parts,
                            jkey_parts_len);
 }
@@ -1195,7 +1252,7 @@ void Java_org_rocksdb_Transaction_deleteUntracked__J_3_3BI(
 void Java_org_rocksdb_Transaction_putLogData(JNIEnv* env, jobject /*jobj*/,
                                              jlong jhandle, jbyteArray jkey,
                                              jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
 
   jbyte* key = env->GetByteArrayElements(jkey, nullptr);
   if (key == nullptr) {
@@ -1203,7 +1260,8 @@ void Java_org_rocksdb_Transaction_putLogData(JNIEnv* env, jobject /*jobj*/,
     return;
   }
 
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
   txn->PutLogData(key_slice);
 
   // trigger java unref on key.
@@ -1220,7 +1278,7 @@ void Java_org_rocksdb_Transaction_putLogData(JNIEnv* env, jobject /*jobj*/,
 void Java_org_rocksdb_Transaction_disableIndexing(JNIEnv* /*env*/,
                                                   jobject /*jobj*/,
                                                   jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->DisableIndexing();
 }
 
@@ -1232,7 +1290,7 @@ void Java_org_rocksdb_Transaction_disableIndexing(JNIEnv* /*env*/,
 void Java_org_rocksdb_Transaction_enableIndexing(JNIEnv* /*env*/,
                                                  jobject /*jobj*/,
                                                  jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->EnableIndexing();
 }
 
@@ -1243,7 +1301,7 @@ void Java_org_rocksdb_Transaction_enableIndexing(JNIEnv* /*env*/,
  */
 jlong Java_org_rocksdb_Transaction_getNumKeys(JNIEnv* /*env*/, jobject /*jobj*/,
                                               jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetNumKeys();
 }
 
@@ -1254,7 +1312,7 @@ jlong Java_org_rocksdb_Transaction_getNumKeys(JNIEnv* /*env*/, jobject /*jobj*/,
  */
 jlong Java_org_rocksdb_Transaction_getNumPuts(JNIEnv* /*env*/, jobject /*jobj*/,
                                               jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetNumPuts();
 }
 
@@ -1266,7 +1324,7 @@ jlong Java_org_rocksdb_Transaction_getNumPuts(JNIEnv* /*env*/, jobject /*jobj*/,
 jlong Java_org_rocksdb_Transaction_getNumDeletes(JNIEnv* /*env*/,
                                                  jobject /*jobj*/,
                                                  jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetNumDeletes();
 }
 
@@ -1278,7 +1336,7 @@ jlong Java_org_rocksdb_Transaction_getNumDeletes(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getNumMerges(JNIEnv* /*env*/,
                                                 jobject /*jobj*/,
                                                 jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetNumMerges();
 }
 
@@ -1290,7 +1348,7 @@ jlong Java_org_rocksdb_Transaction_getNumMerges(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getElapsedTime(JNIEnv* /*env*/,
                                                   jobject /*jobj*/,
                                                   jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetElapsedTime();
 }
 
@@ -1302,7 +1360,7 @@ jlong Java_org_rocksdb_Transaction_getElapsedTime(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getWriteBatch(JNIEnv* /*env*/,
                                                  jobject /*jobj*/,
                                                  jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return reinterpret_cast<jlong>(txn->GetWriteBatch());
 }
 
@@ -1315,7 +1373,7 @@ void Java_org_rocksdb_Transaction_setLockTimeout(JNIEnv* /*env*/,
                                                  jobject /*jobj*/,
                                                  jlong jhandle,
                                                  jlong jlock_timeout) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->SetLockTimeout(jlock_timeout);
 }
 
@@ -1327,7 +1385,7 @@ void Java_org_rocksdb_Transaction_setLockTimeout(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getWriteOptions(JNIEnv* /*env*/,
                                                    jobject /*jobj*/,
                                                    jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return reinterpret_cast<jlong>(txn->GetWriteOptions());
 }
 
@@ -1340,9 +1398,9 @@ void Java_org_rocksdb_Transaction_setWriteOptions(JNIEnv* /*env*/,
                                                   jobject /*jobj*/,
                                                   jlong jhandle,
                                                   jlong jwrite_options_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* write_options =
-      reinterpret_cast<rocksdb::WriteOptions*>(jwrite_options_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::WriteOptions*>(jwrite_options_handle);
   txn->SetWriteOptions(*write_options);
 }
 
@@ -1354,16 +1412,18 @@ void Java_org_rocksdb_Transaction_setWriteOptions(JNIEnv* /*env*/,
 void Java_org_rocksdb_Transaction_undoGetForUpdate__J_3BIJ(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jbyteArray jkey,
     jint jkey_part_len, jlong jcolumn_family_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* column_family_handle =
-      reinterpret_cast<rocksdb::ColumnFamilyHandle*>(jcolumn_family_handle);
+      reinterpret_cast<ROCKSDB_NAMESPACE::ColumnFamilyHandle*>(
+          jcolumn_family_handle);
   jbyte* key = env->GetByteArrayElements(jkey, nullptr);
   if (key == nullptr) {
     // exception thrown: OutOfMemoryError
     return;
   }
 
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
   txn->UndoGetForUpdate(column_family_handle, key_slice);
 
   env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
@@ -1379,14 +1439,15 @@ void Java_org_rocksdb_Transaction_undoGetForUpdate__J_3BI(JNIEnv* env,
                                                           jlong jhandle,
                                                           jbyteArray jkey,
                                                           jint jkey_part_len) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   jbyte* key = env->GetByteArrayElements(jkey, nullptr);
   if (key == nullptr) {
     // exception thrown: OutOfMemoryError
     return;
   }
 
-  rocksdb::Slice key_slice(reinterpret_cast<char*>(key), jkey_part_len);
+  ROCKSDB_NAMESPACE::Slice key_slice(reinterpret_cast<char*>(key),
+                                     jkey_part_len);
   txn->UndoGetForUpdate(key_slice);
 
   env->ReleaseByteArrayElements(jkey, key, JNI_ABORT);
@@ -1399,12 +1460,12 @@ void Java_org_rocksdb_Transaction_undoGetForUpdate__J_3BI(JNIEnv* env,
  */
 void Java_org_rocksdb_Transaction_rebuildFromWriteBatch(
     JNIEnv* env, jobject /*jobj*/, jlong jhandle, jlong jwrite_batch_handle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   auto* write_batch =
-      reinterpret_cast<rocksdb::WriteBatch*>(jwrite_batch_handle);
-  rocksdb::Status s = txn->RebuildFromWriteBatch(write_batch);
+      reinterpret_cast<ROCKSDB_NAMESPACE::WriteBatch*>(jwrite_batch_handle);
+  ROCKSDB_NAMESPACE::Status s = txn->RebuildFromWriteBatch(write_batch);
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
@@ -1416,7 +1477,7 @@ void Java_org_rocksdb_Transaction_rebuildFromWriteBatch(
 jlong Java_org_rocksdb_Transaction_getCommitTimeWriteBatch(JNIEnv* /*env*/,
                                                            jobject /*jobj*/,
                                                            jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return reinterpret_cast<jlong>(txn->GetCommitTimeWriteBatch());
 }
 
@@ -1428,7 +1489,7 @@ jlong Java_org_rocksdb_Transaction_getCommitTimeWriteBatch(JNIEnv* /*env*/,
 void Java_org_rocksdb_Transaction_setLogNumber(JNIEnv* /*env*/,
                                                jobject /*jobj*/, jlong jhandle,
                                                jlong jlog_number) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   txn->SetLogNumber(jlog_number);
 }
 
@@ -1440,7 +1501,7 @@ void Java_org_rocksdb_Transaction_setLogNumber(JNIEnv* /*env*/,
 jlong Java_org_rocksdb_Transaction_getLogNumber(JNIEnv* /*env*/,
                                                 jobject /*jobj*/,
                                                 jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return txn->GetLogNumber();
 }
 
@@ -1451,19 +1512,19 @@ jlong Java_org_rocksdb_Transaction_getLogNumber(JNIEnv* /*env*/,
  */
 void Java_org_rocksdb_Transaction_setName(JNIEnv* env, jobject /*jobj*/,
                                           jlong jhandle, jstring jname) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   const char* name = env->GetStringUTFChars(jname, nullptr);
   if (name == nullptr) {
     // exception thrown: OutOfMemoryError
     return;
   }
 
-  rocksdb::Status s = txn->SetName(name);
+  ROCKSDB_NAMESPACE::Status s = txn->SetName(name);
 
   env->ReleaseStringUTFChars(jname, name);
 
   if (!s.ok()) {
-    rocksdb::RocksDBExceptionJni::ThrowNew(env, s);
+    ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, s);
   }
 }
 
@@ -1474,8 +1535,8 @@ void Java_org_rocksdb_Transaction_setName(JNIEnv* env, jobject /*jobj*/,
  */
 jstring Java_org_rocksdb_Transaction_getName(JNIEnv* env, jobject /*jobj*/,
                                              jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::TransactionName name = txn->GetName();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::TransactionName name = txn->GetName();
   return env->NewStringUTF(name.data());
 }
 
@@ -1486,8 +1547,8 @@ jstring Java_org_rocksdb_Transaction_getName(JNIEnv* env, jobject /*jobj*/,
  */
 jlong Java_org_rocksdb_Transaction_getID(JNIEnv* /*env*/, jobject /*jobj*/,
                                          jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::TransactionID id = txn->GetID();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::TransactionID id = txn->GetID();
   return static_cast<jlong>(id);
 }
 
@@ -1499,7 +1560,7 @@ jlong Java_org_rocksdb_Transaction_getID(JNIEnv* /*env*/, jobject /*jobj*/,
 jboolean Java_org_rocksdb_Transaction_isDeadlockDetect(JNIEnv* /*env*/,
                                                        jobject /*jobj*/,
                                                        jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   return static_cast<jboolean>(txn->IsDeadlockDetect());
 }
 
@@ -1511,13 +1572,14 @@ jboolean Java_org_rocksdb_Transaction_isDeadlockDetect(JNIEnv* /*env*/,
 jobject Java_org_rocksdb_Transaction_getWaitingTxns(JNIEnv* env,
                                                     jobject jtransaction_obj,
                                                     jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   uint32_t column_family_id;
   std::string key;
-  std::vector<rocksdb::TransactionID> waiting_txns =
+  std::vector<ROCKSDB_NAMESPACE::TransactionID> waiting_txns =
       txn->GetWaitingTxns(&column_family_id, &key);
-  jobject jwaiting_txns = rocksdb::TransactionJni::newWaitingTransactions(
-      env, jtransaction_obj, column_family_id, key, waiting_txns);
+  jobject jwaiting_txns =
+      ROCKSDB_NAMESPACE::TransactionJni::newWaitingTransactions(
+          env, jtransaction_obj, column_family_id, key, waiting_txns);
   return jwaiting_txns;
 }
 
@@ -1528,31 +1590,31 @@ jobject Java_org_rocksdb_Transaction_getWaitingTxns(JNIEnv* env,
  */
 jbyte Java_org_rocksdb_Transaction_getState(JNIEnv* /*env*/, jobject /*jobj*/,
                                             jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
-  rocksdb::Transaction::TransactionState txn_status = txn->GetState();
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
+  ROCKSDB_NAMESPACE::Transaction::TransactionState txn_status = txn->GetState();
   switch (txn_status) {
-    case rocksdb::Transaction::TransactionState::STARTED:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::STARTED:
       return 0x0;
 
-    case rocksdb::Transaction::TransactionState::AWAITING_PREPARE:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::AWAITING_PREPARE:
       return 0x1;
 
-    case rocksdb::Transaction::TransactionState::PREPARED:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::PREPARED:
       return 0x2;
 
-    case rocksdb::Transaction::TransactionState::AWAITING_COMMIT:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::AWAITING_COMMIT:
       return 0x3;
 
-    case rocksdb::Transaction::TransactionState::COMMITED:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::COMMITED:
       return 0x4;
 
-    case rocksdb::Transaction::TransactionState::AWAITING_ROLLBACK:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::AWAITING_ROLLBACK:
       return 0x5;
 
-    case rocksdb::Transaction::TransactionState::ROLLEDBACK:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::ROLLEDBACK:
       return 0x6;
 
-    case rocksdb::Transaction::TransactionState::LOCKS_STOLEN:
+    case ROCKSDB_NAMESPACE::Transaction::TransactionState::LOCKS_STOLEN:
       return 0x7;
   }
 
@@ -1567,7 +1629,7 @@ jbyte Java_org_rocksdb_Transaction_getState(JNIEnv* /*env*/, jobject /*jobj*/,
  */
 jlong Java_org_rocksdb_Transaction_getId(JNIEnv* /*env*/, jobject /*jobj*/,
                                          jlong jhandle) {
-  auto* txn = reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  auto* txn = reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
   uint64_t id = txn->GetId();
   return static_cast<jlong>(id);
 }
@@ -1580,5 +1642,5 @@ jlong Java_org_rocksdb_Transaction_getId(JNIEnv* /*env*/, jobject /*jobj*/,
 void Java_org_rocksdb_Transaction_disposeInternal(JNIEnv* /*env*/,
                                                   jobject /*jobj*/,
                                                   jlong jhandle) {
-  delete reinterpret_cast<rocksdb::Transaction*>(jhandle);
+  delete reinterpret_cast<ROCKSDB_NAMESPACE::Transaction*>(jhandle);
 }