compact_range_options.cc 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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++ for
  7. // ROCKSDB_NAMESPACE::CompactRangeOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_CompactRangeOptions.h"
  10. #include "rocksdb/options.h"
  11. #include "rocksjni/portal.h"
  12. /*
  13. * Class: org_rocksdb_CompactRangeOptions
  14. * Method: newCompactRangeOptions
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_CompactRangeOptions_newCompactRangeOptions(
  18. JNIEnv* /*env*/, jclass /*jclazz*/) {
  19. auto* options = new ROCKSDB_NAMESPACE::CompactRangeOptions();
  20. return reinterpret_cast<jlong>(options);
  21. }
  22. /*
  23. * Class: org_rocksdb_CompactRangeOptions
  24. * Method: exclusiveManualCompaction
  25. * Signature: (J)Z
  26. */
  27. jboolean Java_org_rocksdb_CompactRangeOptions_exclusiveManualCompaction(
  28. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  29. auto* options =
  30. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  31. return static_cast<jboolean>(options->exclusive_manual_compaction);
  32. }
  33. /*
  34. * Class: org_rocksdb_CompactRangeOptions
  35. * Method: setExclusiveManualCompaction
  36. * Signature: (JZ)V
  37. */
  38. void Java_org_rocksdb_CompactRangeOptions_setExclusiveManualCompaction(
  39. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean exclusive_manual_compaction) {
  40. auto* options =
  41. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  42. options->exclusive_manual_compaction = static_cast<bool>(exclusive_manual_compaction);
  43. }
  44. /*
  45. * Class: org_rocksdb_CompactRangeOptions
  46. * Method: bottommostLevelCompaction
  47. * Signature: (J)I
  48. */
  49. jint Java_org_rocksdb_CompactRangeOptions_bottommostLevelCompaction(
  50. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  51. auto* options =
  52. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  53. return ROCKSDB_NAMESPACE::BottommostLevelCompactionJni::
  54. toJavaBottommostLevelCompaction(options->bottommost_level_compaction);
  55. }
  56. /*
  57. * Class: org_rocksdb_CompactRangeOptions
  58. * Method: setBottommostLevelCompaction
  59. * Signature: (JI)V
  60. */
  61. void Java_org_rocksdb_CompactRangeOptions_setBottommostLevelCompaction(
  62. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  63. jint bottommost_level_compaction) {
  64. auto* options =
  65. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  66. options->bottommost_level_compaction =
  67. ROCKSDB_NAMESPACE::BottommostLevelCompactionJni::
  68. toCppBottommostLevelCompaction(bottommost_level_compaction);
  69. }
  70. /*
  71. * Class: org_rocksdb_CompactRangeOptions
  72. * Method: changeLevel
  73. * Signature: (J)Z
  74. */
  75. jboolean Java_org_rocksdb_CompactRangeOptions_changeLevel
  76. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  77. auto* options =
  78. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  79. return static_cast<jboolean>(options->change_level);
  80. }
  81. /*
  82. * Class: org_rocksdb_CompactRangeOptions
  83. * Method: setChangeLevel
  84. * Signature: (JZ)V
  85. */
  86. void Java_org_rocksdb_CompactRangeOptions_setChangeLevel
  87. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean change_level) {
  88. auto* options =
  89. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  90. options->change_level = static_cast<bool>(change_level);
  91. }
  92. /*
  93. * Class: org_rocksdb_CompactRangeOptions
  94. * Method: targetLevel
  95. * Signature: (J)I
  96. */
  97. jint Java_org_rocksdb_CompactRangeOptions_targetLevel
  98. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  99. auto* options =
  100. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  101. return static_cast<jint>(options->target_level);
  102. }
  103. /*
  104. * Class: org_rocksdb_CompactRangeOptions
  105. * Method: setTargetLevel
  106. * Signature: (JI)V
  107. */
  108. void Java_org_rocksdb_CompactRangeOptions_setTargetLevel
  109. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint target_level) {
  110. auto* options =
  111. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  112. options->target_level = static_cast<int>(target_level);
  113. }
  114. /*
  115. * Class: org_rocksdb_CompactRangeOptions
  116. * Method: targetPathId
  117. * Signature: (J)I
  118. */
  119. jint Java_org_rocksdb_CompactRangeOptions_targetPathId
  120. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  121. auto* options =
  122. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  123. return static_cast<jint>(options->target_path_id);
  124. }
  125. /*
  126. * Class: org_rocksdb_CompactRangeOptions
  127. * Method: setTargetPathId
  128. * Signature: (JI)V
  129. */
  130. void Java_org_rocksdb_CompactRangeOptions_setTargetPathId
  131. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint target_path_id) {
  132. auto* options =
  133. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  134. options->target_path_id = static_cast<uint32_t>(target_path_id);
  135. }
  136. /*
  137. * Class: org_rocksdb_CompactRangeOptions
  138. * Method: allowWriteStall
  139. * Signature: (J)Z
  140. */
  141. jboolean Java_org_rocksdb_CompactRangeOptions_allowWriteStall
  142. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  143. auto* options =
  144. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  145. return static_cast<jboolean>(options->allow_write_stall);
  146. }
  147. /*
  148. * Class: org_rocksdb_CompactRangeOptions
  149. * Method: setAllowWriteStall
  150. * Signature: (JZ)V
  151. */
  152. void Java_org_rocksdb_CompactRangeOptions_setAllowWriteStall
  153. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean allow_write_stall) {
  154. auto* options =
  155. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  156. options->allow_write_stall = static_cast<bool>(allow_write_stall);
  157. }
  158. /*
  159. * Class: org_rocksdb_CompactRangeOptions
  160. * Method: maxSubcompactions
  161. * Signature: (J)I
  162. */
  163. jint Java_org_rocksdb_CompactRangeOptions_maxSubcompactions
  164. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  165. auto* options =
  166. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  167. return static_cast<jint>(options->max_subcompactions);
  168. }
  169. /*
  170. * Class: org_rocksdb_CompactRangeOptions
  171. * Method: setMaxSubcompactions
  172. * Signature: (JI)V
  173. */
  174. void Java_org_rocksdb_CompactRangeOptions_setMaxSubcompactions
  175. (JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jint max_subcompactions) {
  176. auto* options =
  177. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  178. options->max_subcompactions = static_cast<uint32_t>(max_subcompactions);
  179. }
  180. /*
  181. * Class: org_rocksdb_CompactRangeOptions
  182. * Method: disposeInternal
  183. * Signature: (J)V
  184. */
  185. void Java_org_rocksdb_CompactRangeOptions_disposeInternal(
  186. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  187. auto* options =
  188. reinterpret_cast<ROCKSDB_NAMESPACE::CompactRangeOptions*>(jhandle);
  189. delete options;
  190. }