diff options
author | Javeme Lee <javaloveme@gmail.com> | 2018-03-08 15:59:51 -0800 |
---|---|---|
committer | Facebook Github Bot <facebook-github-bot@users.noreply.github.com> | 2018-03-08 16:17:47 -0800 |
commit | f6156fb558441387b398b00f8244a50e92e875ef (patch) | |
tree | 321c8a20e5a1429e658cf3d190f1854a68c4f7f3 /java | |
parent | c5302a8a58434b423d8f26b29ee922bc64a19185 (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.cc | 6 | ||||
-rw-r--r-- | java/src/main/java/org/rocksdb/StringAppendOperator.java | 8 |
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); } |