optimistic_transaction_options.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. /*
  13. * Class: org_rocksdb_OptimisticTransactionOptions
  14. * Method: newOptimisticTransactionOptions
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOptions(
  18. JNIEnv* /*env*/, jclass /*jcls*/) {
  19. ROCKSDB_NAMESPACE::OptimisticTransactionOptions* opts =
  20. new ROCKSDB_NAMESPACE::OptimisticTransactionOptions();
  21. return reinterpret_cast<jlong>(opts);
  22. }
  23. /*
  24. * Class: org_rocksdb_OptimisticTransactionOptions
  25. * Method: isSetSnapshot
  26. * Signature: (J)Z
  27. */
  28. jboolean Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(
  29. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  30. auto* opts =
  31. reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  32. jhandle);
  33. return opts->set_snapshot;
  34. }
  35. /*
  36. * Class: org_rocksdb_OptimisticTransactionOptions
  37. * Method: setSetSnapshot
  38. * Signature: (JZ)V
  39. */
  40. void Java_org_rocksdb_OptimisticTransactionOptions_setSetSnapshot(
  41. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean jset_snapshot) {
  42. auto* opts =
  43. reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  44. jhandle);
  45. opts->set_snapshot = jset_snapshot;
  46. }
  47. /*
  48. * Class: org_rocksdb_OptimisticTransactionOptions
  49. * Method: setComparator
  50. * Signature: (JJ)V
  51. */
  52. void Java_org_rocksdb_OptimisticTransactionOptions_setComparator(
  53. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
  54. 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_disposeInternal(
  67. JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
  68. delete reinterpret_cast<ROCKSDB_NAMESPACE::OptimisticTransactionOptions*>(
  69. jhandle);
  70. }