1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under the BSD-style license found in the
3 // LICENSE file in the root directory of this source tree. An additional grant
4 // of patent rights can be found in the PATENTS file in the same directory.
8 public abstract class AbstractWriteBatch
extends RocksObject
9 implements WriteBatchInterface
{
11 protected AbstractWriteBatch(final long nativeHandle
) {
17 return count0(nativeHandle_
);
21 public void put(byte[] key
, byte[] value
) {
22 put(nativeHandle_
, key
, key
.length
, value
, value
.length
);
26 public void put(ColumnFamilyHandle columnFamilyHandle
, byte[] key
,
28 put(nativeHandle_
, key
, key
.length
, value
, value
.length
,
29 columnFamilyHandle
.nativeHandle_
);
33 public void merge(byte[] key
, byte[] value
) {
34 merge(nativeHandle_
, key
, key
.length
, value
, value
.length
);
38 public void merge(ColumnFamilyHandle columnFamilyHandle
, byte[] key
,
40 merge(nativeHandle_
, key
, key
.length
, value
, value
.length
,
41 columnFamilyHandle
.nativeHandle_
);
45 public void remove(byte[] key
) {
46 remove(nativeHandle_
, key
, key
.length
);
50 public void remove(ColumnFamilyHandle columnFamilyHandle
, byte[] key
) {
51 remove(nativeHandle_
, key
, key
.length
, columnFamilyHandle
.nativeHandle_
);
55 public void deleteRange(byte[] beginKey
, byte[] endKey
) {
56 deleteRange(nativeHandle_
, beginKey
, beginKey
.length
, endKey
, endKey
.length
);
60 public void deleteRange(ColumnFamilyHandle columnFamilyHandle
, byte[] beginKey
, byte[] endKey
) {
61 deleteRange(nativeHandle_
, beginKey
, beginKey
.length
, endKey
, endKey
.length
,
62 columnFamilyHandle
.nativeHandle_
);
66 public void putLogData(byte[] blob
) {
67 putLogData(nativeHandle_
, blob
, blob
.length
);
72 clear0(nativeHandle_
);
76 public void setSavePoint() {
77 setSavePoint0(nativeHandle_
);
81 public void rollbackToSavePoint() throws RocksDBException
{
82 rollbackToSavePoint0(nativeHandle_
);
85 abstract int count0(final long handle
);
87 abstract void put(final long handle
, final byte[] key
, final int keyLen
,
88 final byte[] value
, final int valueLen
);
90 abstract void put(final long handle
, final byte[] key
, final int keyLen
,
91 final byte[] value
, final int valueLen
, final long cfHandle
);
93 abstract void merge(final long handle
, final byte[] key
, final int keyLen
,
94 final byte[] value
, final int valueLen
);
96 abstract void merge(final long handle
, final byte[] key
, final int keyLen
,
97 final byte[] value
, final int valueLen
, final long cfHandle
);
99 abstract void remove(final long handle
, final byte[] key
,
102 abstract void remove(final long handle
, final byte[] key
,
103 final int keyLen
, final long cfHandle
);
105 abstract void deleteRange(final long handle
, final byte[] beginKey
, final int beginKeyLen
,
106 final byte[] endKey
, final int endKeyLen
);
108 abstract void deleteRange(final long handle
, final byte[] beginKey
, final int beginKeyLen
,
109 final byte[] endKey
, final int endKeyLen
, final long cfHandle
);
111 abstract void putLogData(final long handle
, final byte[] blob
,
114 abstract void clear0(final long handle
);
116 abstract void setSavePoint0(final long handle
);
118 abstract void rollbackToSavePoint0(final long handle
);