summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorJaveme Lee <javaloveme@gmail.com>2018-03-08 15:59:51 -0800
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>2018-03-08 16:17:47 -0800
commitf6156fb558441387b398b00f8244a50e92e875ef (patch)
tree321c8a20e5a1429e658cf3d190f1854a68c4f7f3 /java
parentc5302a8a58434b423d8f26b29ee922bc64a19185 (diff)
Support StringAppendOperator(delimiter_char) constructor in java-api
Summary: Fixes #3336 Closes https://github.com/facebook/rocksdb/pull/3337 Differential Revision: D7196585 Pulled By: sagar0 fbshipit-source-id: a854f3fc906862ecba685b31946e4ef7c0b421c5
Diffstat (limited to 'java')
-rw-r--r--java/rocksjni/merge_operator.cc6
-rw-r--r--java/src/main/java/org/rocksdb/StringAppendOperator.java8
2 files changed, 9 insertions, 5 deletions
diff --git a/java/rocksjni/merge_operator.cc b/java/rocksjni/merge_operator.cc
index 1b94382ef..017790817 100644
--- a/java/rocksjni/merge_operator.cc
+++ b/java/rocksjni/merge_operator.cc
@@ -26,12 +26,12 @@
/*
* Class: org_rocksdb_StringAppendOperator
* Method: newSharedStringAppendOperator
- * Signature: ()J
+ * Signature: (C)J
*/
jlong Java_org_rocksdb_StringAppendOperator_newSharedStringAppendOperator
-(JNIEnv* env, jclass jclazz) {
+(JNIEnv* env, jclass jclazz, jchar jdelim) {
auto* sptr_string_append_op = new std::shared_ptr<rocksdb::MergeOperator>(
- rocksdb::MergeOperators::CreateFromStringId("stringappend"));
+ rocksdb::MergeOperators::CreateStringAppendOperator((char) jdelim));
return reinterpret_cast<jlong>(sptr_string_append_op);
}
diff --git a/java/src/main/java/org/rocksdb/StringAppendOperator.java b/java/src/main/java/org/rocksdb/StringAppendOperator.java
index 85c36adc7..978cad6cc 100644
--- a/java/src/main/java/org/rocksdb/StringAppendOperator.java
+++ b/java/src/main/java/org/rocksdb/StringAppendOperator.java
@@ -11,9 +11,13 @@ package org.rocksdb;
*/
public class StringAppendOperator extends MergeOperator {
public StringAppendOperator() {
- super(newSharedStringAppendOperator());
+ this(',');
}
- private native static long newSharedStringAppendOperator();
+ public StringAppendOperator(char delim) {
+ super(newSharedStringAppendOperator(delim));
+ }
+
+ private native static long newSharedStringAppendOperator(final char delim);
@Override protected final native void disposeInternal(final long handle);
}