transaction_db_options.cc 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
  2. // This source code is licensed under both the GPLv2 (found in the
  3. // COPYING file in the root directory) and Apache 2.0 License
  4. // (found in the LICENSE.Apache file in the root directory).
  5. //
  6. // This file implements the "bridge" between Java and C++
  7. // for ROCKSDB_NAMESPACE::TransactionDBOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_TransactionDBOptions.h"
  10. #include "rocksdb/utilities/transaction_db.h"
  11. #include "rocksjni/portal.h"
  12. /*
  13. * Class: org_rocksdb_TransactionDBOptions
  14. * Method: newTransactionDBOptions
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_TransactionDBOptions_newTransactionDBOptions(
  18. JNIEnv* /*env*/, jclass /*jcls*/) {
  19. ROCKSDB_NAMESPACE::TransactionDBOptions* opts =
  20. new ROCKSDB_NAMESPACE::TransactionDBOptions();
  21. return reinterpret_cast<jlong>(opts);
  22. }
  23. /*
  24. * Class: org_rocksdb_TransactionDBOptions
  25. * Method: getMaxNumLocks
  26. * Signature: (J)J
  27. */
  28. jlong Java_org_rocksdb_TransactionDBOptions_getMaxNumLocks(JNIEnv* /*env*/,
  29. jobject /*jobj*/,
  30. jlong jhandle) {
  31. auto* opts =
  32. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  33. return opts->max_num_locks;
  34. }
  35. /*
  36. * Class: org_rocksdb_TransactionDBOptions
  37. * Method: setMaxNumLocks
  38. * Signature: (JJ)V
  39. */
  40. void Java_org_rocksdb_TransactionDBOptions_setMaxNumLocks(
  41. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jlong jmax_num_locks) {
  42. auto* opts =
  43. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  44. opts->max_num_locks = jmax_num_locks;
  45. }
  46. /*
  47. * Class: org_rocksdb_TransactionDBOptions
  48. * Method: getNumStripes
  49. * Signature: (J)J
  50. */
  51. jlong Java_org_rocksdb_TransactionDBOptions_getNumStripes(JNIEnv* /*env*/,
  52. jobject /*jobj*/,
  53. jlong jhandle) {
  54. auto* opts =
  55. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  56. return opts->num_stripes;
  57. }
  58. /*
  59. * Class: org_rocksdb_TransactionDBOptions
  60. * Method: setNumStripes
  61. * Signature: (JJ)V
  62. */
  63. void Java_org_rocksdb_TransactionDBOptions_setNumStripes(JNIEnv* /*env*/,
  64. jobject /*jobj*/,
  65. jlong jhandle,
  66. jlong jnum_stripes) {
  67. auto* opts =
  68. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  69. opts->num_stripes = jnum_stripes;
  70. }
  71. /*
  72. * Class: org_rocksdb_TransactionDBOptions
  73. * Method: getTransactionLockTimeout
  74. * Signature: (J)J
  75. */
  76. jlong Java_org_rocksdb_TransactionDBOptions_getTransactionLockTimeout(
  77. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  78. auto* opts =
  79. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  80. return opts->transaction_lock_timeout;
  81. }
  82. /*
  83. * Class: org_rocksdb_TransactionDBOptions
  84. * Method: setTransactionLockTimeout
  85. * Signature: (JJ)V
  86. */
  87. void Java_org_rocksdb_TransactionDBOptions_setTransactionLockTimeout(
  88. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  89. jlong jtransaction_lock_timeout) {
  90. auto* opts =
  91. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  92. opts->transaction_lock_timeout = jtransaction_lock_timeout;
  93. }
  94. /*
  95. * Class: org_rocksdb_TransactionDBOptions
  96. * Method: getDefaultLockTimeout
  97. * Signature: (J)J
  98. */
  99. jlong Java_org_rocksdb_TransactionDBOptions_getDefaultLockTimeout(
  100. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  101. auto* opts =
  102. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  103. return opts->default_lock_timeout;
  104. }
  105. /*
  106. * Class: org_rocksdb_TransactionDBOptions
  107. * Method: setDefaultLockTimeout
  108. * Signature: (JJ)V
  109. */
  110. void Java_org_rocksdb_TransactionDBOptions_setDefaultLockTimeout(
  111. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  112. jlong jdefault_lock_timeout) {
  113. auto* opts =
  114. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  115. opts->default_lock_timeout = jdefault_lock_timeout;
  116. }
  117. /*
  118. * Class: org_rocksdb_TransactionDBOptions
  119. * Method: getWritePolicy
  120. * Signature: (J)B
  121. */
  122. jbyte Java_org_rocksdb_TransactionDBOptions_getWritePolicy(JNIEnv* /*env*/,
  123. jobject /*jobj*/,
  124. jlong jhandle) {
  125. auto* opts =
  126. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  127. return ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toJavaTxnDBWritePolicy(
  128. opts->write_policy);
  129. }
  130. /*
  131. * Class: org_rocksdb_TransactionDBOptions
  132. * Method: setWritePolicy
  133. * Signature: (JB)V
  134. */
  135. void Java_org_rocksdb_TransactionDBOptions_setWritePolicy(JNIEnv* /*env*/,
  136. jobject /*jobj*/,
  137. jlong jhandle,
  138. jbyte jwrite_policy) {
  139. auto* opts =
  140. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  141. opts->write_policy =
  142. ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toCppTxnDBWritePolicy(
  143. jwrite_policy);
  144. }
  145. /*
  146. * Class: org_rocksdb_TransactionDBOptions
  147. * Method: disposeInternal
  148. * Signature: (J)V
  149. */
  150. void Java_org_rocksdb_TransactionDBOptions_disposeInternal(JNIEnv* /*env*/,
  151. jobject /*jobj*/,
  152. jlong jhandle) {
  153. delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  154. }