mirror of https://github.com/facebook/rocksdb.git
Merge pull request #390 from fyrz/RocksJava-Cleanup
[RocksJava] Cleanup
This commit is contained in:
commit
1033db29f9
|
@ -46,15 +46,18 @@ public abstract class AbstractComparator<T extends AbstractSlice>
|
|||
public abstract int compare(final T a, final T b);
|
||||
|
||||
/**
|
||||
* Used to reduce the space requirements
|
||||
* for internal data structures like index blocks.
|
||||
* <p>Used to reduce the space requirements
|
||||
* for internal data structures like index blocks.</p>
|
||||
*
|
||||
* If start < limit, you may return a new start which is a
|
||||
* shorter string in [start, limit).
|
||||
* <p>If start < limit, you may return a new start which is a
|
||||
* shorter string in [start, limit).</p>
|
||||
*
|
||||
* Simple comparator implementations may return null if they
|
||||
* <p>Simple comparator implementations may return null if they
|
||||
* wish to use start unchanged. i.e., an implementation of
|
||||
* this method that does nothing is correct.
|
||||
* this method that does nothing is correct.</p>
|
||||
*
|
||||
* @param start String
|
||||
* @param limit of type T
|
||||
*
|
||||
* @return a shorter start, or null
|
||||
*/
|
||||
|
@ -63,15 +66,17 @@ public abstract class AbstractComparator<T extends AbstractSlice>
|
|||
}
|
||||
|
||||
/**
|
||||
* Used to reduce the space requirements
|
||||
* for internal data structures like index blocks.
|
||||
* <p>Used to reduce the space requirements
|
||||
* for internal data structures like index blocks.</p>
|
||||
*
|
||||
* You may return a new short key (key1) where
|
||||
* key1 ≥ key.
|
||||
* <p>You may return a new short key (key1) where
|
||||
* key1 ≥ key.</p>
|
||||
*
|
||||
* Simple comparator implementations may return null if they
|
||||
* <p>Simple comparator implementations may return null if they
|
||||
* wish to leave the key unchanged. i.e., an implementation of
|
||||
* this method that does nothing is correct.
|
||||
* this method that does nothing is correct.</p>
|
||||
*
|
||||
* @param key String
|
||||
*
|
||||
* @return a shorter key, or null
|
||||
*/
|
||||
|
|
|
@ -23,6 +23,9 @@ public class BackupableDB extends RocksDB {
|
|||
* @param db_path Path to store data to. The path for storing the backup should be
|
||||
* specified in the {@link org.rocksdb.BackupableDBOptions}.
|
||||
* @return BackupableDB reference to the opened database.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static BackupableDB open(
|
||||
Options opt, BackupableDBOptions bopt, String db_path)
|
||||
|
@ -45,7 +48,9 @@ public class BackupableDB extends RocksDB {
|
|||
*
|
||||
* @param flushBeforeBackup if true, then all data will be flushed
|
||||
* before creating backup.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void createNewBackup(boolean flushBeforeBackup)
|
||||
throws RocksDBException {
|
||||
|
@ -56,7 +61,9 @@ public class BackupableDB extends RocksDB {
|
|||
* Deletes old backups, keeping latest numBackupsToKeep alive.
|
||||
*
|
||||
* @param numBackupsToKeep Number of latest backups to keep.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void purgeOldBackups(int numBackupsToKeep)
|
||||
throws RocksDBException {
|
||||
|
@ -67,7 +74,9 @@ public class BackupableDB extends RocksDB {
|
|||
* Deletes a specific backup.
|
||||
*
|
||||
* @param backupId of backup to delete.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void deleteBackup(int backupId) throws RocksDBException {
|
||||
deleteBackup0(nativeHandle_, backupId);
|
||||
|
@ -104,7 +113,7 @@ public class BackupableDB extends RocksDB {
|
|||
super();
|
||||
}
|
||||
|
||||
@Override protected void finalize() {
|
||||
@Override protected void finalize() throws Throwable {
|
||||
close();
|
||||
super.finalize();
|
||||
}
|
||||
|
|
|
@ -152,7 +152,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
* Default: 4MB
|
||||
* @param writeBufferSize the size of write buffer.
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setWriteBufferSize(long writeBufferSize)
|
||||
throws RocksDBException;
|
||||
|
@ -223,6 +224,7 @@ public interface ColumnFamilyOptionsInterface {
|
|||
* extract the prefix given a key.
|
||||
*
|
||||
* @param n use the first n bytes of a key as its prefix.
|
||||
* @return the reference to the current option.
|
||||
*/
|
||||
Object useFixedLengthPrefixExtractor(int n);
|
||||
|
||||
|
@ -415,6 +417,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
* and total file size for level-3 will be 2GB.
|
||||
* by default 'maxBytesForLevelBase' is 10MB.
|
||||
*
|
||||
* @param maxBytesForLevelBase maximum bytes for level base.
|
||||
*
|
||||
* @return the reference to the current option.
|
||||
* @see #setMaxBytesForLevelMultiplier(int)
|
||||
*/
|
||||
|
@ -614,7 +618,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
*
|
||||
* @param arenaBlockSize the size of an arena block
|
||||
* @return the reference to the current option.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setArenaBlockSize(long arenaBlockSize)
|
||||
throws RocksDBException;
|
||||
|
@ -762,7 +767,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
*
|
||||
* @param config the mem-table config.
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setMemTableConfig(MemTableConfig config)
|
||||
throws RocksDBException;
|
||||
|
@ -826,7 +832,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
* @param inplaceUpdateNumLocks the number of locks used for
|
||||
* inplace updates.
|
||||
* @return the reference to the current option.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setInplaceUpdateNumLocks(long inplaceUpdateNumLocks)
|
||||
throws RocksDBException;
|
||||
|
@ -920,7 +927,8 @@ public interface ColumnFamilyOptionsInterface {
|
|||
*
|
||||
* @param maxSuccessiveMerges the maximum number of successive merges.
|
||||
* @return the reference to the current option.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setMaxSuccessiveMerges(long maxSuccessiveMerges)
|
||||
throws RocksDBException;
|
||||
|
|
|
@ -123,7 +123,7 @@ public interface DBOptionsInterface {
|
|||
* Default: 5000
|
||||
*
|
||||
* @param maxOpenFiles the maximum number of open files.
|
||||
* @return the reference to the current DBOptions.
|
||||
* @return the instance of the current Object.
|
||||
*/
|
||||
Object setMaxOpenFiles(int maxOpenFiles);
|
||||
|
||||
|
@ -147,6 +147,9 @@ public interface DBOptionsInterface {
|
|||
* <p>If set to 0 (default), we will dynamically choose the WAL size limit to
|
||||
* be [sum of all write_buffer_size * max_write_buffer_number] * 2</p>
|
||||
* <p>Default: 0</p>
|
||||
*
|
||||
* @param maxTotalWalSize max total wal size.
|
||||
* @return the instance of the current Object.
|
||||
*/
|
||||
Object setMaxTotalWalSize(long maxTotalWalSize);
|
||||
|
||||
|
@ -197,7 +200,7 @@ public interface DBOptionsInterface {
|
|||
*
|
||||
* @param disableDataSync a boolean flag to specify whether to
|
||||
* disable data sync.
|
||||
* @return the reference to the current DBOptions.
|
||||
* @return the instance of the current Object.
|
||||
*/
|
||||
Object setDisableDataSync(boolean disableDataSync);
|
||||
|
||||
|
@ -370,7 +373,8 @@ public interface DBOptionsInterface {
|
|||
*
|
||||
* @param maxLogFileSize the maximum size of a info log file.
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setMaxLogFileSize(long maxLogFileSize)
|
||||
throws RocksDBException;
|
||||
|
@ -392,7 +396,8 @@ public interface DBOptionsInterface {
|
|||
*
|
||||
* @param logFileTimeToRoll the time interval in seconds.
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setLogFileTimeToRoll(long logFileTimeToRoll)
|
||||
throws RocksDBException;
|
||||
|
@ -413,7 +418,8 @@ public interface DBOptionsInterface {
|
|||
*
|
||||
* @param keepLogFileNum the maximum number of info log files to be kept.
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setKeepLogFileNum(long keepLogFileNum)
|
||||
throws RocksDBException;
|
||||
|
@ -584,7 +590,8 @@ public interface DBOptionsInterface {
|
|||
*
|
||||
* @param size the size in byte
|
||||
* @return the instance of the current Object.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
|
||||
* overflowing the underlying platform specific value.
|
||||
*/
|
||||
Object setManifestPreallocationSize(long size)
|
||||
throws RocksDBException;
|
||||
|
|
|
@ -50,6 +50,8 @@ public class HashSkipListMemTableConfig extends MemTableConfig {
|
|||
/**
|
||||
* Set the height of the skip list. Default = 4.
|
||||
*
|
||||
* @param height height to set.
|
||||
*
|
||||
* @return the reference to the current HashSkipListMemTableConfig.
|
||||
*/
|
||||
public HashSkipListMemTableConfig setHeight(int height) {
|
||||
|
|
|
@ -22,6 +22,11 @@ public abstract class MemTableConfig {
|
|||
* that associated with the Java MemTableConfig.
|
||||
*
|
||||
* @see Options#setMemTableConfig(MemTableConfig)
|
||||
*
|
||||
* @return native handle address to native memory table instance.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
abstract protected long newMemTableFactoryHandle()
|
||||
throws RocksDBException;
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
|
||||
package org.rocksdb;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* MergeOperator holds an operator to be applied when compacting
|
||||
* two merge operands held under the same key in order to obtain a single
|
||||
|
|
|
@ -9,12 +9,12 @@ import org.rocksdb.util.Environment;
|
|||
*/
|
||||
public class NativeLibraryLoader {
|
||||
private static String sharedLibraryName = Environment.getJniLibraryName("rocksdb");
|
||||
private static String tempFilePrefix = "librocksdbjni";
|
||||
private static String tempFileSuffix = "." + Environment.getJniLibraryExtension();
|
||||
|
||||
public static void loadLibraryFromJar(String tmpDir)
|
||||
throws IOException {
|
||||
File temp;
|
||||
String tempFilePrefix = "librocksdbjni";
|
||||
if(tmpDir == null || tmpDir.equals(""))
|
||||
temp = File.createTempFile(tempFilePrefix, tempFileSuffix);
|
||||
else
|
||||
|
@ -43,9 +43,7 @@ public class NativeLibraryLoader {
|
|||
} finally {
|
||||
if(os != null)
|
||||
os.close();
|
||||
|
||||
if(is != null)
|
||||
is.close();
|
||||
is.close();
|
||||
}
|
||||
|
||||
System.load(temp.getAbsolutePath());
|
||||
|
|
|
@ -61,6 +61,9 @@ public class Options extends RocksObject
|
|||
* Use the specified object to interact with the environment,
|
||||
* e.g. to read/write files, schedule background work, etc.
|
||||
* Default: {@link RocksEnv#getDefault()}
|
||||
*
|
||||
* @param env {@link RocksEnv} instance.
|
||||
* @return the instance of the current Options.
|
||||
*/
|
||||
public Options setEnv(RocksEnv env) {
|
||||
assert(isInitialized());
|
||||
|
@ -69,6 +72,11 @@ public class Options extends RocksObject
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the set RocksEnv instance.
|
||||
*
|
||||
* @return {@link RocksEnv} instance set in the Options.
|
||||
*/
|
||||
public RocksEnv getEnv() {
|
||||
return env_;
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ public class PlainTableConfig extends TableFormatConfig {
|
|||
*
|
||||
* <p>See linux doc Documentation/vm/hugetlbpage.txt</p>
|
||||
*
|
||||
* @param hugePageTlbSize
|
||||
* @param hugePageTlbSize huge page tlb size
|
||||
* @return the reference to the current config.
|
||||
*/
|
||||
public PlainTableConfig setHugePageTlbSize(int hugePageTlbSize) {
|
||||
|
|
|
@ -16,6 +16,8 @@ public abstract class RateLimiterConfig {
|
|||
* with a Java RateLimiterConfig.
|
||||
*
|
||||
* @see org.rocksdb.DBOptions#setRateLimiter(long, long)
|
||||
*
|
||||
* @return native handle address to rate limiter instance.
|
||||
*/
|
||||
abstract protected long newRateLimiterHandle();
|
||||
}
|
||||
|
|
|
@ -40,8 +40,10 @@ public class RestoreBackupableDB extends RocksObject {
|
|||
* @param backupId id pointing to backup
|
||||
* @param dbDir database directory to restore to
|
||||
* @param walDir directory where wal files are located
|
||||
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance
|
||||
* @throws RocksDBException
|
||||
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void restoreDBFromBackup(long backupId, String dbDir, String walDir,
|
||||
RestoreOptions restoreOptions) throws RocksDBException {
|
||||
|
@ -55,7 +57,9 @@ public class RestoreBackupableDB extends RocksObject {
|
|||
* @param dbDir database directory to restore to
|
||||
* @param walDir directory where wal files are located
|
||||
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance
|
||||
* @throws RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void restoreDBFromLatestBackup(String dbDir, String walDir,
|
||||
RestoreOptions restoreOptions) throws RocksDBException {
|
||||
|
@ -67,7 +71,9 @@ public class RestoreBackupableDB extends RocksObject {
|
|||
* Deletes old backups, keeping latest numBackupsToKeep alive.
|
||||
*
|
||||
* @param numBackupsToKeep of latest backups to keep
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void purgeOldBackups(int numBackupsToKeep) throws RocksDBException {
|
||||
purgeOldBackups0(nativeHandle_, numBackupsToKeep);
|
||||
|
@ -77,7 +83,9 @@ public class RestoreBackupableDB extends RocksObject {
|
|||
* Deletes a specific backup.
|
||||
*
|
||||
* @param backupId of backup to delete.
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void deleteBackup(int backupId) throws RocksDBException {
|
||||
deleteBackup0(nativeHandle_, backupId);
|
||||
|
|
|
@ -95,7 +95,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
*
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
* @see Options#setCreateIfMissing(boolean)
|
||||
*/
|
||||
public static RocksDB open(String path) throws RocksDBException {
|
||||
|
@ -130,7 +131,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
*
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
* @see DBOptions#setCreateIfMissing(boolean)
|
||||
*/
|
||||
public static RocksDB open(String path,
|
||||
|
@ -161,7 +163,9 @@ public class RocksDB extends RocksObject {
|
|||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
*
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*
|
||||
* @see Options#setCreateIfMissing(boolean)
|
||||
*/
|
||||
public static RocksDB open(Options options, String path)
|
||||
|
@ -206,7 +210,9 @@ public class RocksDB extends RocksObject {
|
|||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
*
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*
|
||||
* @see DBOptions#setCreateIfMissing(boolean)
|
||||
*/
|
||||
public static RocksDB open(DBOptions options, String path,
|
||||
|
@ -231,7 +237,9 @@ public class RocksDB extends RocksObject {
|
|||
* @param path the path to the RocksDB.
|
||||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
* @throws RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static RocksDB openReadOnly(String path)
|
||||
throws RocksDBException {
|
||||
|
@ -252,7 +260,9 @@ public class RocksDB extends RocksObject {
|
|||
* on open.
|
||||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
* @throws RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static RocksDB openReadOnly(String path,
|
||||
List<ColumnFamilyDescriptor> columnFamilyDescriptors,
|
||||
|
@ -277,7 +287,9 @@ public class RocksDB extends RocksObject {
|
|||
* @param path the path to the RocksDB.
|
||||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
* @throws RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static RocksDB openReadOnly(Options options, String path)
|
||||
throws RocksDBException {
|
||||
|
@ -309,7 +321,9 @@ public class RocksDB extends RocksObject {
|
|||
* on open.
|
||||
* @return a {@link RocksDB} instance on success, null if the specified
|
||||
* {@link RocksDB} can not be opened.
|
||||
* @throws RocksDBException
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static RocksDB openReadOnly(DBOptions options, String path,
|
||||
List<ColumnFamilyDescriptor> columnFamilyDescriptors,
|
||||
|
@ -336,7 +350,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param path Absolute path to rocksdb database
|
||||
* @return List<byte[]> List containing the column family names
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public static List<byte[]> listColumnFamilies(Options options, String path)
|
||||
throws RocksDBException {
|
||||
|
@ -366,7 +381,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param key the specified key to be inserted.
|
||||
* @param value the value associated with the specified key.
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void put(byte[] key, byte[] value) throws RocksDBException {
|
||||
put(nativeHandle_, key, key.length, value, value.length);
|
||||
|
@ -383,7 +399,8 @@ public class RocksDB extends RocksObject {
|
|||
*
|
||||
* throws IllegalArgumentException if column family is not present
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void put(ColumnFamilyHandle columnFamilyHandle, byte[] key,
|
||||
byte[] value) throws RocksDBException {
|
||||
|
@ -394,10 +411,12 @@ public class RocksDB extends RocksObject {
|
|||
/**
|
||||
* Set the database entry for "key" to "value".
|
||||
*
|
||||
* @param writeOpts {@link org.rocksdb.WriteOptions} instance.
|
||||
* @param key the specified key to be inserted.
|
||||
* @param value the value associated with the specified key.
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void put(WriteOptions writeOpts, byte[] key, byte[] value)
|
||||
throws RocksDBException {
|
||||
|
@ -411,12 +430,14 @@ public class RocksDB extends RocksObject {
|
|||
*
|
||||
* @param columnFamilyHandle {@link org.rocksdb.ColumnFamilyHandle}
|
||||
* instance
|
||||
* @param writeOpts {@link org.rocksdb.WriteOptions} instance.
|
||||
* @param key the specified key to be inserted.
|
||||
* @param value the value associated with the specified key.
|
||||
*
|
||||
* throws IllegalArgumentException if column family is not present
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
* @see IllegalArgumentException
|
||||
*/
|
||||
public void put(ColumnFamilyHandle columnFamilyHandle, WriteOptions writeOpts,
|
||||
|
@ -506,7 +527,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param writeOpts WriteOptions instance
|
||||
* @param updates WriteBatch instance
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void write(WriteOptions writeOpts, WriteBatch updates)
|
||||
throws RocksDBException {
|
||||
|
@ -517,8 +539,11 @@ public class RocksDB extends RocksObject {
|
|||
* Add merge operand for key/value pair.
|
||||
*
|
||||
* @param key the specified key to be merged.
|
||||
* @param value the value to be nerged with the current value for
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void merge(byte[] key, byte[] value) throws RocksDBException {
|
||||
merge(nativeHandle_, key, key.length, value, value.length);
|
||||
|
@ -529,8 +554,11 @@ public class RocksDB extends RocksObject {
|
|||
*
|
||||
* @param columnFamilyHandle {@link ColumnFamilyHandle} instance
|
||||
* @param key the specified key to be merged.
|
||||
* @param value the value to be nerged with the current value for
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void merge(ColumnFamilyHandle columnFamilyHandle, byte[] key,
|
||||
byte[] value) throws RocksDBException {
|
||||
|
@ -545,6 +573,9 @@ public class RocksDB extends RocksObject {
|
|||
* @param key the specified key to be merged.
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void merge(WriteOptions writeOpts, byte[] key, byte[] value)
|
||||
throws RocksDBException {
|
||||
|
@ -560,6 +591,9 @@ public class RocksDB extends RocksObject {
|
|||
* @param key the specified key to be merged.
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void merge(ColumnFamilyHandle columnFamilyHandle,
|
||||
WriteOptions writeOpts, byte[] key, byte[] value)
|
||||
|
@ -580,7 +614,8 @@ public class RocksDB extends RocksObject {
|
|||
* be returned. RocksDB.NOT_FOUND will be returned if the value not
|
||||
* found.
|
||||
*
|
||||
* @see RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public int get(byte[] key, byte[] value) throws RocksDBException {
|
||||
return get(nativeHandle_, key, key.length, value, value.length);
|
||||
|
@ -600,7 +635,8 @@ public class RocksDB extends RocksObject {
|
|||
* be returned. RocksDB.NOT_FOUND will be returned if the value not
|
||||
* found.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public int get(ColumnFamilyHandle columnFamilyHandle, byte[] key, byte[] value)
|
||||
throws RocksDBException, IllegalArgumentException {
|
||||
|
@ -611,6 +647,7 @@ public class RocksDB extends RocksObject {
|
|||
/**
|
||||
* Get the value associated with the specified key.
|
||||
*
|
||||
* @param opt {@link org.rocksdb.ReadOptions} instance.
|
||||
* @param key the key to retrieve the value.
|
||||
* @param value the out-value to receive the retrieved value.
|
||||
* @return The size of the actual value that matches the specified
|
||||
|
@ -620,7 +657,8 @@ public class RocksDB extends RocksObject {
|
|||
* be returned. RocksDB.NOT_FOUND will be returned if the value not
|
||||
* found.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public int get(ReadOptions opt, byte[] key, byte[] value)
|
||||
throws RocksDBException {
|
||||
|
@ -632,6 +670,7 @@ public class RocksDB extends RocksObject {
|
|||
*
|
||||
* @param columnFamilyHandle {@link org.rocksdb.ColumnFamilyHandle}
|
||||
* instance
|
||||
* @param opt {@link org.rocksdb.ReadOptions} instance.
|
||||
* @param key the key to retrieve the value.
|
||||
* @param value the out-value to receive the retrieved value.
|
||||
* @return The size of the actual value that matches the specified
|
||||
|
@ -641,7 +680,8 @@ public class RocksDB extends RocksObject {
|
|||
* be returned. RocksDB.NOT_FOUND will be returned if the value not
|
||||
* found.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public int get(ColumnFamilyHandle columnFamilyHandle, ReadOptions opt, byte[] key,
|
||||
byte[] value) throws RocksDBException {
|
||||
|
@ -658,7 +698,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a byte array storing the value associated with the input key if
|
||||
* any. null if it does not find the specified key.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public byte[] get(byte[] key) throws RocksDBException {
|
||||
return get(nativeHandle_, key, key.length);
|
||||
|
@ -675,7 +716,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a byte array storing the value associated with the input key if
|
||||
* any. null if it does not find the specified key.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public byte[] get(ColumnFamilyHandle columnFamilyHandle, byte[] key)
|
||||
throws RocksDBException {
|
||||
|
@ -692,7 +734,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a byte array storing the value associated with the input key if
|
||||
* any. null if it does not find the specified key.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public byte[] get(ReadOptions opt, byte[] key) throws RocksDBException {
|
||||
return get(nativeHandle_, opt.nativeHandle_, key, key.length);
|
||||
|
@ -710,7 +753,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return a byte array storing the value associated with the input key if
|
||||
* any. null if it does not find the specified key.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public byte[] get(ColumnFamilyHandle columnFamilyHandle, ReadOptions opt,
|
||||
byte[] key) throws RocksDBException {
|
||||
|
@ -725,7 +769,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return Map where key of map is the key passed by user and value for map
|
||||
* entry is the corresponding value in DB.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public Map<byte[], byte[]> multiGet(List<byte[]> keys)
|
||||
throws RocksDBException {
|
||||
|
@ -734,7 +779,7 @@ public class RocksDB extends RocksObject {
|
|||
List<byte[]> values = multiGet(
|
||||
nativeHandle_, keys, keys.size());
|
||||
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<>();
|
||||
for(int i = 0; i < values.size(); i++) {
|
||||
if(values.get(i) == null) {
|
||||
continue;
|
||||
|
@ -759,8 +804,10 @@ public class RocksDB extends RocksObject {
|
|||
* @return Map where key of map is the key passed by user and value for map
|
||||
* entry is the corresponding value in DB.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws IllegalArgumentException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
* @throws IllegalArgumentException thrown if the size of passed keys is not
|
||||
* equal to the amount of passed column family handles.
|
||||
*/
|
||||
public Map<byte[], byte[]> multiGet(List<ColumnFamilyHandle> columnFamilyHandleList,
|
||||
List<byte[]> keys) throws RocksDBException, IllegalArgumentException {
|
||||
|
@ -774,7 +821,7 @@ public class RocksDB extends RocksObject {
|
|||
List<byte[]> values = multiGet(nativeHandle_, keys, keys.size(),
|
||||
columnFamilyHandleList);
|
||||
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<>();
|
||||
for(int i = 0; i < values.size(); i++) {
|
||||
if (values.get(i) == null) {
|
||||
continue;
|
||||
|
@ -792,7 +839,8 @@ public class RocksDB extends RocksObject {
|
|||
* @return Map where key of map is the key passed by user and value for map
|
||||
* entry is the corresponding value in DB.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public Map<byte[], byte[]> multiGet(ReadOptions opt, List<byte[]> keys)
|
||||
throws RocksDBException {
|
||||
|
@ -801,7 +849,7 @@ public class RocksDB extends RocksObject {
|
|||
List<byte[]> values = multiGet(
|
||||
nativeHandle_, opt.nativeHandle_, keys, keys.size());
|
||||
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<>();
|
||||
for(int i = 0; i < values.size(); i++) {
|
||||
if(values.get(i) == null) {
|
||||
continue;
|
||||
|
@ -827,8 +875,10 @@ public class RocksDB extends RocksObject {
|
|||
* @return Map where key of map is the key passed by user and value for map
|
||||
* entry is the corresponding value in DB.
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws java.lang.IllegalArgumentException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
* @throws IllegalArgumentException thrown if the size of passed keys is not
|
||||
* equal to the amount of passed column family handles.
|
||||
*/
|
||||
public Map<byte[], byte[]> multiGet(ReadOptions opt,
|
||||
List<ColumnFamilyHandle> columnFamilyHandleList, List<byte[]> keys)
|
||||
|
@ -844,7 +894,7 @@ public class RocksDB extends RocksObject {
|
|||
List<byte[]> values = multiGet(nativeHandle_, opt.nativeHandle_,
|
||||
keys, keys.size(), columnFamilyHandleList);
|
||||
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
|
||||
Map<byte[], byte[]> keyValueMap = new HashMap<>();
|
||||
for(int i = 0; i < values.size(); i++) {
|
||||
if(values.get(i) == null) {
|
||||
continue;
|
||||
|
@ -862,7 +912,8 @@ public class RocksDB extends RocksObject {
|
|||
*
|
||||
* @param key Key to delete within database
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void remove(byte[] key) throws RocksDBException {
|
||||
remove(nativeHandle_, key, key.length);
|
||||
|
@ -877,7 +928,8 @@ public class RocksDB extends RocksObject {
|
|||
* instance
|
||||
* @param key Key to delete within database
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void remove(ColumnFamilyHandle columnFamilyHandle, byte[] key)
|
||||
throws RocksDBException {
|
||||
|
@ -892,7 +944,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param writeOpt WriteOptions to be used with delete operation
|
||||
* @param key Key to delete within database
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void remove(WriteOptions writeOpt, byte[] key)
|
||||
throws RocksDBException {
|
||||
|
@ -909,7 +962,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param writeOpt WriteOptions to be used with delete operation
|
||||
* @param key Key to delete within database
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void remove(ColumnFamilyHandle columnFamilyHandle, WriteOptions writeOpt,
|
||||
byte[] key) throws RocksDBException {
|
||||
|
@ -940,7 +994,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param property to be fetched. See above for examples
|
||||
* @return property value
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public String getProperty(ColumnFamilyHandle columnFamilyHandle, String property)
|
||||
throws RocksDBException {
|
||||
|
@ -967,7 +1022,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param property to be fetched. See above for examples
|
||||
* @return property value
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public String getProperty(String property) throws RocksDBException {
|
||||
return getProperty0(nativeHandle_, property, property.length());
|
||||
|
@ -997,7 +1053,7 @@ public class RocksDB extends RocksObject {
|
|||
* <p>nullptr will be returned if the DB fails to take a snapshot or does
|
||||
* not support snapshot.</p>
|
||||
*
|
||||
* @return Snapshot
|
||||
* @return Snapshot {@link Snapshot} instance
|
||||
*/
|
||||
public Snapshot getSnapshot() {
|
||||
long snapshotHandle = getSnapshot(nativeHandle_);
|
||||
|
@ -1046,12 +1102,13 @@ public class RocksDB extends RocksObject {
|
|||
* @return {@link java.util.List} containing {@link org.rocksdb.RocksIterator}
|
||||
* instances
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public List<RocksIterator> newIterators(
|
||||
List<ColumnFamilyHandle> columnFamilyHandleList) throws RocksDBException {
|
||||
List<RocksIterator> iterators =
|
||||
new ArrayList<RocksIterator>(columnFamilyHandleList.size());
|
||||
new ArrayList<>(columnFamilyHandleList.size());
|
||||
|
||||
long[] iteratorRefs = iterators(nativeHandle_, columnFamilyHandleList);
|
||||
for (int i=0; i<columnFamilyHandleList.size(); i++){
|
||||
|
@ -1066,8 +1123,10 @@ public class RocksDB extends RocksObject {
|
|||
* The ColumnFamilyHandle is automatically disposed with DB disposal.
|
||||
*
|
||||
* @param columnFamilyDescriptor column family to be created.
|
||||
* @return {@link org.rocksdb.ColumnFamilyHandle} instance
|
||||
* @see RocksDBException
|
||||
* @return {@link org.rocksdb.ColumnFamilyHandle} instance.
|
||||
*
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public ColumnFamilyHandle createColumnFamily(
|
||||
ColumnFamilyDescriptor columnFamilyDescriptor)
|
||||
|
@ -1084,7 +1143,8 @@ public class RocksDB extends RocksObject {
|
|||
* @param columnFamilyHandle {@link org.rocksdb.ColumnFamilyHandle}
|
||||
* instance
|
||||
*
|
||||
* @throws RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void dropColumnFamily(ColumnFamilyHandle columnFamilyHandle)
|
||||
throws RocksDBException, IllegalArgumentException {
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
|
||||
package org.rocksdb;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* A RocksDBException encapsulates the error of an operation. This exception
|
||||
* type is used to describe an internal error from the c++ rocksdb library.
|
||||
|
|
|
@ -29,6 +29,8 @@ public class RocksEnv extends RocksObject {
|
|||
* belongs to rocksdb c++. As a result, the returned RocksEnv will not
|
||||
* have the ownership of its c++ resource, and calling its dispose()
|
||||
* will be no-op.</p>
|
||||
*
|
||||
* @return the default {@link org.rocksdb.RocksEnv} instance.
|
||||
*/
|
||||
public static RocksEnv getDefault() {
|
||||
return default_env_;
|
||||
|
@ -38,6 +40,10 @@ public class RocksEnv extends RocksObject {
|
|||
* <p>Sets the number of background worker threads of the flush pool
|
||||
* for this environment.</p>
|
||||
* <p>Default number: 1</p>
|
||||
*
|
||||
* @param num the number of threads
|
||||
*
|
||||
* @return current {@link org.rocksdb.RocksEnv} instance.
|
||||
*/
|
||||
public RocksEnv setBackgroundThreads(int num) {
|
||||
return setBackgroundThreads(num, FLUSH_POOL);
|
||||
|
@ -52,6 +58,7 @@ public class RocksEnv extends RocksObject {
|
|||
* FLUSH_POOL or COMPACTION_POOL.
|
||||
*
|
||||
* <p>Default number: 1</p>
|
||||
* @return current {@link org.rocksdb.RocksEnv} instance.
|
||||
*/
|
||||
public RocksEnv setBackgroundThreads(int num, int poolID) {
|
||||
setBackgroundThreads(nativeHandle_, num, poolID);
|
||||
|
@ -66,6 +73,8 @@ public class RocksEnv extends RocksObject {
|
|||
*
|
||||
* @param poolID the id to specified a thread pool. Should be either
|
||||
* FLUSH_POOL or COMPACTION_POOL.
|
||||
*
|
||||
* @return the thread pool queue length.
|
||||
*/
|
||||
public int getThreadPoolQueueLen(int poolID) {
|
||||
return getThreadPoolQueueLen(nativeHandle_, poolID);
|
||||
|
|
|
@ -112,6 +112,9 @@ public class RocksIterator extends RocksObject {
|
|||
* <p>Position at the first key in the source that at or past target
|
||||
* The iterator is valid after this call iff the source contains
|
||||
* an entry that comes at or past target.</p>
|
||||
*
|
||||
* @param target byte array describing a key or a
|
||||
* key prefix to seek for.
|
||||
*/
|
||||
public void seek(byte[] target) {
|
||||
assert(isInitialized());
|
||||
|
@ -123,7 +126,8 @@ public class RocksIterator extends RocksObject {
|
|||
* If non-blocking IO is requested and this operation cannot be
|
||||
* satisfied without doing some IO, then this returns Status::Incomplete().
|
||||
*
|
||||
* @throws org.rocksdb.RocksDBException
|
||||
* @throws RocksDBException thrown if error happens in underlying
|
||||
* native library.
|
||||
*/
|
||||
public void status() throws RocksDBException {
|
||||
assert(isInitialized());
|
||||
|
|
|
@ -37,7 +37,7 @@ public abstract class RocksObject {
|
|||
* small in that they seems to only hold a long variable. As a result,
|
||||
* they might have low priority in the GC process. To prevent this,
|
||||
* it is suggested to call {@code dispose()} manually.
|
||||
* <p>
|
||||
* </p>
|
||||
* <p>
|
||||
* Note that once an instance of {@code RocksObject} has been disposed,
|
||||
* calling its function will lead undefined behavior.
|
||||
|
@ -107,8 +107,9 @@ public abstract class RocksObject {
|
|||
* Simply calls {@code dispose()} and release its c++ resource if it has not
|
||||
* yet released.
|
||||
*/
|
||||
@Override protected void finalize() {
|
||||
@Override protected void finalize() throws Throwable {
|
||||
dispose();
|
||||
super.finalize();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,26 +6,26 @@
|
|||
package org.rocksdb;
|
||||
|
||||
/**
|
||||
* Base class for slices which will receive
|
||||
* byte[] based access to the underlying data.
|
||||
* <p>Base class for slices which will receive
|
||||
* byte[] based access to the underlying data.</p>
|
||||
*
|
||||
* byte[] backed slices typically perform better with
|
||||
* <p>byte[] backed slices typically perform better with
|
||||
* small keys and values. When using larger keys and
|
||||
* values consider using @see org.rocksdb.DirectSlice
|
||||
* values consider using {@link org.rocksdb.DirectSlice}</p>
|
||||
*/
|
||||
public class Slice extends AbstractSlice<byte[]> {
|
||||
/**
|
||||
* Called from JNI to construct a new Java Slice
|
||||
* <p>Called from JNI to construct a new Java Slice
|
||||
* without an underlying C++ object set
|
||||
* at creation time.
|
||||
* at creation time.</p>
|
||||
*
|
||||
* Note: You should be aware that
|
||||
* <p>Note: You should be aware that
|
||||
* {@see org.rocksdb.RocksObject#disOwnNativeHandle()} is intentionally
|
||||
* called from the default Slice constructor, and that it is marked as
|
||||
* private. This is so that developers cannot construct their own default
|
||||
* Slice objects (at present). As developers cannot construct their own
|
||||
* Slice objects through this, they are not creating underlying C++ Slice
|
||||
* objects, and so there is nothing to free (dispose) from Java.
|
||||
* objects, and so there is nothing to free (dispose) from Java.</p>
|
||||
*/
|
||||
private Slice() {
|
||||
super();
|
||||
|
@ -33,9 +33,10 @@ public class Slice extends AbstractSlice<byte[]> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Constructs a slice
|
||||
* where the data is taken from
|
||||
* a String.
|
||||
* <p>Constructs a slice where the data is taken from
|
||||
* a String.</p>
|
||||
*
|
||||
* @param str String value.
|
||||
*/
|
||||
public Slice(final String str) {
|
||||
super();
|
||||
|
@ -43,9 +44,11 @@ public class Slice extends AbstractSlice<byte[]> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Constructs a slice
|
||||
* where the data is a copy of
|
||||
* the byte array from a specific offset.
|
||||
* <p>Constructs a slice where the data is a copy of
|
||||
* the byte array from a specific offset.</p>
|
||||
*
|
||||
* @param data byte array.
|
||||
* @param offset offset within the byte array.
|
||||
*/
|
||||
public Slice(final byte[] data, final int offset) {
|
||||
super();
|
||||
|
@ -53,9 +56,10 @@ public class Slice extends AbstractSlice<byte[]> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Constructs a slice
|
||||
* where the data is a copy of
|
||||
* the byte array.
|
||||
* <p>Constructs a slice where the data is a copy of
|
||||
* the byte array.</p>
|
||||
*
|
||||
* @param data byte array.
|
||||
*/
|
||||
public Slice(final byte[] data) {
|
||||
super();
|
||||
|
@ -63,8 +67,8 @@ public class Slice extends AbstractSlice<byte[]> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Deletes underlying C++ slice pointer
|
||||
* and any buffered data.
|
||||
* <p>Deletes underlying C++ slice pointer
|
||||
* and any buffered data.</p>
|
||||
*
|
||||
* <p>
|
||||
* Note that this function should be called only after all
|
||||
|
|
|
@ -24,9 +24,8 @@ public class Statistics {
|
|||
|
||||
public HistogramData geHistogramData(HistogramType histogramType) {
|
||||
assert(isInitialized());
|
||||
HistogramData hist = geHistogramData0(
|
||||
return geHistogramData0(
|
||||
histogramType.getValue(), statsHandle_);
|
||||
return hist;
|
||||
}
|
||||
|
||||
private boolean isInitialized() {
|
||||
|
|
|
@ -6,11 +6,9 @@
|
|||
package org.rocksdb;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ArrayBlockingQueue;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/**
|
||||
* <p>Helper class to collect DB statistics periodically at a period specified in
|
||||
|
@ -51,6 +49,7 @@ public class StatisticsCollector {
|
|||
*
|
||||
* @param shutdownTimeout Time in milli-seconds to wait for shutdown before
|
||||
* killing the collection process.
|
||||
* @throws java.lang.InterruptedException thrown if Threads are interrupted.
|
||||
*/
|
||||
public void shutDown(int shutdownTimeout) throws InterruptedException {
|
||||
_isRunning = false;
|
||||
|
|
|
@ -12,9 +12,11 @@ package org.rocksdb;
|
|||
*/
|
||||
public abstract class TableFormatConfig {
|
||||
/**
|
||||
* This function should only be called by Options.setTableFormatConfig(),
|
||||
* <p>This function should only be called by Options.setTableFormatConfig(),
|
||||
* which will create a c++ shared-pointer to the c++ TableFactory
|
||||
* that associated with the Java TableFormatConfig.
|
||||
* that associated with the Java TableFormatConfig.</p>
|
||||
*
|
||||
* @return native handle address to native table instance.
|
||||
*/
|
||||
abstract protected long newTableFactoryHandle();
|
||||
}
|
||||
|
|
|
@ -23,11 +23,19 @@ package org.rocksdb;
|
|||
* external synchronization.
|
||||
*/
|
||||
public class WriteBatch extends RocksObject {
|
||||
/**
|
||||
* Constructs a WriteBatch instance.
|
||||
*/
|
||||
public WriteBatch() {
|
||||
super();
|
||||
newWriteBatch(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a WriteBatch instance with a given size.
|
||||
*
|
||||
* @param reserved_bytes reserved size for WriteBatch
|
||||
*/
|
||||
public WriteBatch(int reserved_bytes) {
|
||||
nativeHandle_ = 0;
|
||||
newWriteBatch(reserved_bytes);
|
||||
|
@ -35,19 +43,29 @@ public class WriteBatch extends RocksObject {
|
|||
|
||||
/**
|
||||
* Returns the number of updates in the batch.
|
||||
*
|
||||
* @return number of items in WriteBatch
|
||||
*/
|
||||
public native int count();
|
||||
|
||||
/**
|
||||
* Store the mapping "key->value" in the database.
|
||||
* <p>Store the mapping "key->value" in the database.</p>
|
||||
*
|
||||
* @param key the specified key to be inserted.
|
||||
* @param value the value associated with the specified key.
|
||||
*/
|
||||
public void put(byte[] key, byte[] value) {
|
||||
put(key, key.length, value, value.length);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the mapping "key->value" within given column
|
||||
* family.
|
||||
* <p>Store the mapping "key->value" within given column
|
||||
* family.</p>
|
||||
*
|
||||
* @param columnFamilyHandle {@link org.rocksdb.ColumnFamilyHandle}
|
||||
* instance
|
||||
* @param key the specified key to be inserted.
|
||||
* @param value the value associated with the specified key.
|
||||
*/
|
||||
public void put(ColumnFamilyHandle columnFamilyHandle,
|
||||
byte[] key, byte[] value) {
|
||||
|
@ -56,16 +74,25 @@ public class WriteBatch extends RocksObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Merge "value" with the existing value of "key" in the database.
|
||||
* "key->merge(existing, value)"
|
||||
* <p>Merge "value" with the existing value of "key" in the database.
|
||||
* "key->merge(existing, value)"</p>
|
||||
*
|
||||
* @param key the specified key to be merged.
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*/
|
||||
public void merge(byte[] key, byte[] value) {
|
||||
merge(key, key.length, value, value.length);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge "value" with the existing value of "key" in given column family.
|
||||
* "key->merge(existing, value)"
|
||||
* <p>Merge "value" with the existing value of "key" in given column family.
|
||||
* "key->merge(existing, value)"</p>
|
||||
*
|
||||
* @param columnFamilyHandle {@link ColumnFamilyHandle} instance
|
||||
* @param key the specified key to be merged.
|
||||
* @param value the value to be merged with the current value for
|
||||
* the specified key.
|
||||
*/
|
||||
public void merge(ColumnFamilyHandle columnFamilyHandle,
|
||||
byte[] key, byte[] value) {
|
||||
|
@ -74,14 +101,19 @@ public class WriteBatch extends RocksObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* If the database contains a mapping for "key", erase it. Else do nothing.
|
||||
* <p>If the database contains a mapping for "key", erase it. Else do nothing.</p>
|
||||
*
|
||||
* @param key Key to delete within database
|
||||
*/
|
||||
public void remove(byte[] key) {
|
||||
remove(key, key.length);
|
||||
}
|
||||
|
||||
/**
|
||||
* If column family contains a mapping for "key", erase it. Else do nothing.
|
||||
* <p>If column family contains a mapping for "key", erase it. Else do nothing.</p>
|
||||
*
|
||||
* @param columnFamilyHandle {@link ColumnFamilyHandle} instance
|
||||
* @param key Key to delete within database
|
||||
*/
|
||||
public void remove(ColumnFamilyHandle columnFamilyHandle, byte[] key) {
|
||||
remove(key, key.length, columnFamilyHandle.nativeHandle_);
|
||||
|
@ -98,6 +130,8 @@ public class WriteBatch extends RocksObject {
|
|||
*
|
||||
* Example application: add timestamps to the transaction log for use in
|
||||
* replication.
|
||||
*
|
||||
* @param blob binary object to be inserted
|
||||
*/
|
||||
public void putLogData(byte[] blob) {
|
||||
putLogData(blob, blob.length);
|
||||
|
@ -166,6 +200,9 @@ public class WriteBatch extends RocksObject {
|
|||
* iteration is halted. Otherwise, it continues
|
||||
* iterating. The default implementation always
|
||||
* returns true.
|
||||
*
|
||||
* @return boolean value indicating if the
|
||||
* iteration is halted.
|
||||
*/
|
||||
public boolean shouldContinue() {
|
||||
return true;
|
||||
|
|
|
@ -12,6 +12,9 @@ package org.rocksdb;
|
|||
* c++ side memory before a WriteOptions instance runs out of scope.
|
||||
*/
|
||||
public class WriteOptions extends RocksObject {
|
||||
/**
|
||||
* Construct WriteOptions instance.
|
||||
*/
|
||||
public WriteOptions() {
|
||||
super();
|
||||
newWriteOptions();
|
||||
|
@ -64,6 +67,8 @@ public class WriteOptions extends RocksObject {
|
|||
* crash semantics as the "write()" system call. A DB write
|
||||
* with sync==true has similar crash semantics to a "write()"
|
||||
* system call followed by "fdatasync()".
|
||||
*
|
||||
* @return boolean value indicating if sync is active.
|
||||
*/
|
||||
public boolean sync() {
|
||||
return sync(nativeHandle_);
|
||||
|
@ -85,6 +90,8 @@ public class WriteOptions extends RocksObject {
|
|||
/**
|
||||
* If true, writes will not first go to the write ahead log,
|
||||
* and the write may got lost after a crash.
|
||||
*
|
||||
* @return boolean value indicating if WAL is disabled.
|
||||
*/
|
||||
public boolean disableWAL() {
|
||||
return disableWAL(nativeHandle_);
|
||||
|
|
|
@ -36,6 +36,8 @@ public abstract class AbstractComparatorTest {
|
|||
*
|
||||
* @param db_path A path where we can store database
|
||||
* files temporarily
|
||||
*
|
||||
* @throws java.io.IOException if IO error happens.
|
||||
*/
|
||||
public void testRoundtrip(final Path db_path) throws IOException {
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@ import java.util.Random;
|
|||
public class PlatformRandomHelper {
|
||||
/**
|
||||
* Determine if OS is 32-Bit/64-Bit
|
||||
*
|
||||
* @return boolean value indicating if operating system is 64 Bit.
|
||||
*/
|
||||
public static boolean isOs64Bit(){
|
||||
boolean is64Bit = false;
|
||||
|
@ -27,6 +29,8 @@ public class PlatformRandomHelper {
|
|||
|
||||
/**
|
||||
* Factory to get a platform specific Random instance
|
||||
*
|
||||
* @return {@link java.util.Random} instance.
|
||||
*/
|
||||
public static Random getPlatformSpecificRandomFactory(){
|
||||
if (isOs64Bit()) {
|
||||
|
|
|
@ -5,17 +5,17 @@ public class Environment {
|
|||
private static String ARCH = System.getProperty("os.arch").toLowerCase();
|
||||
|
||||
public static boolean isWindows() {
|
||||
return (OS.indexOf("win") >= 0);
|
||||
return (OS.contains("win"));
|
||||
}
|
||||
|
||||
public static boolean isMac() {
|
||||
return (OS.indexOf("mac") >= 0);
|
||||
return (OS.contains("mac"));
|
||||
}
|
||||
|
||||
public static boolean isUnix() {
|
||||
return (OS.indexOf("nix") >= 0 ||
|
||||
OS.indexOf("nux") >= 0 ||
|
||||
OS.indexOf("aix") >= 0);
|
||||
return (OS.contains("nix") ||
|
||||
OS.contains("nux") ||
|
||||
OS.contains("aix"));
|
||||
}
|
||||
|
||||
public static boolean is64Bit() {
|
||||
|
|
Loading…
Reference in New Issue