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