optimistic_transaction_options.cc 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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::OptimisticTransactionOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_OptimisticTransactionOptions.h"
  10. #include "rocksdb/comparator.h"
  11. #include "rocksdb/utilities/optimistic_transaction_db.h"
  12. #include "rocksjni/cplusplus_to_java_convert.h"
  13. /*
  14. * Class: org_rocksdb_OptimisticTransactionOptions
  15. * Method: newOptimisticTransactionOptions
  16. * Signature: ()J
  17. */
  18. jlong Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOptions(
  19. JNIEnv* /*env*/, jclass /*jcls*/) {
  20. ROCKSDB_NAMESPACE::OptimisticTransactionOptions* opts =
  21. new ROCKSDB_NAMESPACE::OptimisticTransactionOptions();
  22. return GET_CPLUSPLUS_POINTER(opts);
  23. }
  24. /*
  25. * Class: org_rocksdb_OptimisticTransactionOptions
  26. * Method: isSetSnapshot
  27. * Signature: (J)Z
  28. */
  29. jboolean Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(
  30. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle) {
  31. auto* opts =
  32. reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  33. jhandle);
  34. return opts->set_snapshot;
  35. }
  36. /*
  37. * Class: org_rocksdb_OptimisticTransactionOptions
  38. * Method: setSetSnapshot
  39. * Signature: (JZ)V
  40. */
  41. void Java_org_rocksdb_OptimisticTransactionOptions_setSetSnapshot(
  42. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle, jboolean jset_snapshot) {
  43. auto* opts =
  44. reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  45. jhandle);
  46. opts->set_snapshot = jset_snapshot;
  47. }
  48. /*
  49. * Class: org_rocksdb_OptimisticTransactionOptions
  50. * Method: setComparator
  51. * Signature: (JJ)V
  52. */
  53. void Java_org_rocksdb_OptimisticTransactionOptions_setComparator(
  54. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle, jlong jcomparator_handle) {
  55. auto* opts =
  56. reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  57. jhandle);
  58. opts->cmp =
  59. reinterpret_cast<ROCKSDB_NAMESPACE::Comparator*>(jcomparator_handle);
  60. }
  61. /*
  62. * Class: org_rocksdb_OptimisticTransactionOptions
  63. * Method: disposeInternal
  64. * Signature: (J)V
  65. */
  66. void Java_org_rocksdb_OptimisticTransactionOptions_disposeInternalJni(
  67. JNIEnv* /*env*/, jclass /*jcls*/, jlong jhandle) {
  68. delete reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  69. jhandle);
  70. }