transaction_db_options.cc 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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/cplusplus_to_java_convert.h"
  12. #include "rocksjni/portal.h"
  13. /*
  14. * Class: org_rocksdb_TransactionDBOptions
  15. * Method: newTransactionDBOptions
  16. * Signature: ()J
  17. */
  18. jlong Java_org_rocksdb_TransactionDBOptions_newTransactionDBOptions(
  19. JNIEnv* /*env*/, jclass /*jcls*/) {
  20. ROCKSDB_NAMESPACE::TransactionDBOptions* opts =
  21. new ROCKSDB_NAMESPACE::TransactionDBOptions();
  22. return GET_CPLUSPLUS_POINTER(opts);
  23. }
  24. /*
  25. * Class: org_rocksdb_TransactionDBOptions
  26. * Method: getMaxNumLocks
  27. * Signature: (J)J
  28. */
  29. jlong Java_org_rocksdb_TransactionDBOptions_getMaxNumLocks(JNIEnv* /*env*/,
  30. jclass /*jcls*/,
  31. jlong jhandle) {
  32. auto* opts =
  33. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  34. return opts->max_num_locks;
  35. }
  36. /*
  37. * Class: org_rocksdb_TransactionDBOptions
  38. * Method: setMaxNumLocks
  39. * Signature: (JJ)V
  40. */
  41. void Java_org_rocksdb_TransactionDBOptions_setMaxNumLocks(
  42. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle, jlong jmax_num_locks) {
  43. auto* opts =
  44. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  45. opts->max_num_locks = jmax_num_locks;
  46. }
  47. /*
  48. * Class: org_rocksdb_TransactionDBOptions
  49. * Method: getNumStripes
  50. * Signature: (J)J
  51. */
  52. jlong Java_org_rocksdb_TransactionDBOptions_getNumStripes(JNIEnv* /*env*/,
  53. jclass /*jcls*/,
  54. jlong jhandle) {
  55. auto* opts =
  56. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  57. return opts->num_stripes;
  58. }
  59. /*
  60. * Class: org_rocksdb_TransactionDBOptions
  61. * Method: setNumStripes
  62. * Signature: (JJ)V
  63. */
  64. void Java_org_rocksdb_TransactionDBOptions_setNumStripes(JNIEnv* /*env*/,
  65. jclass /*jcls*/,
  66. jlong jhandle,
  67. jlong jnum_stripes) {
  68. auto* opts =
  69. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  70. opts->num_stripes = jnum_stripes;
  71. }
  72. /*
  73. * Class: org_rocksdb_TransactionDBOptions
  74. * Method: getTransactionLockTimeout
  75. * Signature: (J)J
  76. */
  77. jlong Java_org_rocksdb_TransactionDBOptions_getTransactionLockTimeout(
  78. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle) {
  79. auto* opts =
  80. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  81. return opts->transaction_lock_timeout;
  82. }
  83. /*
  84. * Class: org_rocksdb_TransactionDBOptions
  85. * Method: setTransactionLockTimeout
  86. * Signature: (JJ)V
  87. */
  88. void Java_org_rocksdb_TransactionDBOptions_setTransactionLockTimeout(
  89. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle,
  90. jlong jtransaction_lock_timeout) {
  91. auto* opts =
  92. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  93. opts->transaction_lock_timeout = jtransaction_lock_timeout;
  94. }
  95. /*
  96. * Class: org_rocksdb_TransactionDBOptions
  97. * Method: getDefaultLockTimeout
  98. * Signature: (J)J
  99. */
  100. jlong Java_org_rocksdb_TransactionDBOptions_getDefaultLockTimeout(
  101. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle) {
  102. auto* opts =
  103. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  104. return opts->default_lock_timeout;
  105. }
  106. /*
  107. * Class: org_rocksdb_TransactionDBOptions
  108. * Method: setDefaultLockTimeout
  109. * Signature: (JJ)V
  110. */
  111. void Java_org_rocksdb_TransactionDBOptions_setDefaultLockTimeout(
  112. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle,
  113. jlong jdefault_lock_timeout) {
  114. auto* opts =
  115. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  116. opts->default_lock_timeout = jdefault_lock_timeout;
  117. }
  118. /*
  119. * Class: org_rocksdb_TransactionDBOptions
  120. * Method: getWritePolicy
  121. * Signature: (J)B
  122. */
  123. jbyte Java_org_rocksdb_TransactionDBOptions_getWritePolicy(JNIEnv* /*env*/,
  124. jclass /*jcls*/,
  125. jlong jhandle) {
  126. auto* opts =
  127. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  128. return ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toJavaTxnDBWritePolicy(
  129. opts->write_policy);
  130. }
  131. /*
  132. * Class: org_rocksdb_TransactionDBOptions
  133. * Method: setWritePolicy
  134. * Signature: (JB)V
  135. */
  136. void Java_org_rocksdb_TransactionDBOptions_setWritePolicy(JNIEnv* /*env*/,
  137. jclass /*jcls*/,
  138. jlong jhandle,
  139. jbyte jwrite_policy) {
  140. auto* opts =
  141. reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  142. opts->write_policy =
  143. ROCKSDB_NAMESPACE::TxnDBWritePolicyJni::toCppTxnDBWritePolicy(
  144. jwrite_policy);
  145. }
  146. /*
  147. * Class: org_rocksdb_TransactionDBOptions
  148. * Method: disposeInternal
  149. * Signature: (J)V
  150. */
  151. void Java_org_rocksdb_TransactionDBOptions_disposeInternalJni(JNIEnv* /*env*/,
  152. jclass /*jcls*/,
  153. jlong jhandle) {
  154. delete reinterpret_cast<ROCKSDB_NAMESPACE::TransactionDBOptions*>(jhandle);
  155. }