transaction_options.cc 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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::TransactionOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_TransactionOptions.h"
  10. #include "rocksdb/utilities/transaction_db.h"
  11. /*
  12. * Class: org_rocksdb_TransactionOptions
  13. * Method: newTransactionOptions
  14. * Signature: ()J
  15. */
  16. jlong Java_org_rocksdb_TransactionOptions_newTransactionOptions(
  17. JNIEnv* /*env*/, jclass /*jcls*/) {
  18. auto* opts = new ROCKSDB_NAMESPACE::TransactionOptions();
  19. return reinterpret_cast<jlong>(opts);
  20. }
  21. /*
  22. * Class: org_rocksdb_TransactionOptions
  23. * Method: isSetSnapshot
  24. * Signature: (J)Z
  25. */
  26. jboolean Java_org_rocksdb_TransactionOptions_isSetSnapshot(JNIEnv* /*env*/,
  27. jobject /*jobj*/,
  28. jlong jhandle) {
  29. auto* opts =
  30. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  31. return opts->set_snapshot;
  32. }
  33. /*
  34. * Class: org_rocksdb_TransactionOptions
  35. * Method: setSetSnapshot
  36. * Signature: (JZ)V
  37. */
  38. void Java_org_rocksdb_TransactionOptions_setSetSnapshot(
  39. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean jset_snapshot) {
  40. auto* opts =
  41. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  42. opts->set_snapshot = jset_snapshot;
  43. }
  44. /*
  45. * Class: org_rocksdb_TransactionOptions
  46. * Method: isDeadlockDetect
  47. * Signature: (J)Z
  48. */
  49. jboolean Java_org_rocksdb_TransactionOptions_isDeadlockDetect(JNIEnv* /*env*/,
  50. jobject /*jobj*/,
  51. jlong jhandle) {
  52. auto* opts =
  53. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  54. return opts->deadlock_detect;
  55. }
  56. /*
  57. * Class: org_rocksdb_TransactionOptions
  58. * Method: setDeadlockDetect
  59. * Signature: (JZ)V
  60. */
  61. void Java_org_rocksdb_TransactionOptions_setDeadlockDetect(
  62. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  63. jboolean jdeadlock_detect) {
  64. auto* opts =
  65. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  66. opts->deadlock_detect = jdeadlock_detect;
  67. }
  68. /*
  69. * Class: org_rocksdb_TransactionOptions
  70. * Method: getLockTimeout
  71. * Signature: (J)J
  72. */
  73. jlong Java_org_rocksdb_TransactionOptions_getLockTimeout(JNIEnv* /*env*/,
  74. jobject /*jobj*/,
  75. jlong jhandle) {
  76. auto* opts =
  77. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  78. return opts->lock_timeout;
  79. }
  80. /*
  81. * Class: org_rocksdb_TransactionOptions
  82. * Method: setLockTimeout
  83. * Signature: (JJ)V
  84. */
  85. void Java_org_rocksdb_TransactionOptions_setLockTimeout(JNIEnv* /*env*/,
  86. jobject /*jobj*/,
  87. jlong jhandle,
  88. jlong jlock_timeout) {
  89. auto* opts =
  90. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  91. opts->lock_timeout = jlock_timeout;
  92. }
  93. /*
  94. * Class: org_rocksdb_TransactionOptions
  95. * Method: getExpiration
  96. * Signature: (J)J
  97. */
  98. jlong Java_org_rocksdb_TransactionOptions_getExpiration(JNIEnv* /*env*/,
  99. jobject /*jobj*/,
  100. jlong jhandle) {
  101. auto* opts =
  102. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  103. return opts->expiration;
  104. }
  105. /*
  106. * Class: org_rocksdb_TransactionOptions
  107. * Method: setExpiration
  108. * Signature: (JJ)V
  109. */
  110. void Java_org_rocksdb_TransactionOptions_setExpiration(JNIEnv* /*env*/,
  111. jobject /*jobj*/,
  112. jlong jhandle,
  113. jlong jexpiration) {
  114. auto* opts =
  115. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  116. opts->expiration = jexpiration;
  117. }
  118. /*
  119. * Class: org_rocksdb_TransactionOptions
  120. * Method: getDeadlockDetectDepth
  121. * Signature: (J)J
  122. */
  123. jlong Java_org_rocksdb_TransactionOptions_getDeadlockDetectDepth(
  124. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  125. auto* opts =
  126. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  127. return opts->deadlock_detect_depth;
  128. }
  129. /*
  130. * Class: org_rocksdb_TransactionOptions
  131. * Method: setDeadlockDetectDepth
  132. * Signature: (JJ)V
  133. */
  134. void Java_org_rocksdb_TransactionOptions_setDeadlockDetectDepth(
  135. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  136. jlong jdeadlock_detect_depth) {
  137. auto* opts =
  138. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  139. opts->deadlock_detect_depth = jdeadlock_detect_depth;
  140. }
  141. /*
  142. * Class: org_rocksdb_TransactionOptions
  143. * Method: getMaxWriteBatchSize
  144. * Signature: (J)J
  145. */
  146. jlong Java_org_rocksdb_TransactionOptions_getMaxWriteBatchSize(JNIEnv* /*env*/,
  147. jobject /*jobj*/,
  148. jlong jhandle) {
  149. auto* opts =
  150. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  151. return opts->max_write_batch_size;
  152. }
  153. /*
  154. * Class: org_rocksdb_TransactionOptions
  155. * Method: setMaxWriteBatchSize
  156. * Signature: (JJ)V
  157. */
  158. void Java_org_rocksdb_TransactionOptions_setMaxWriteBatchSize(
  159. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  160. jlong jmax_write_batch_size) {
  161. auto* opts =
  162. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  163. opts->max_write_batch_size = jmax_write_batch_size;
  164. }
  165. /*
  166. * Class: org_rocksdb_TransactionOptions
  167. * Method: disposeInternal
  168. * Signature: (J)V
  169. */
  170. void Java_org_rocksdb_TransactionOptions_disposeInternal(JNIEnv* /*env*/,
  171. jobject /*jobj*/,
  172. jlong jhandle) {
  173. delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionOptions*>(jhandle);
  174. }