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