mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 16:30:56 +00:00
[RocksJava] Extend Options with ColumnFamilyOptions implementation ColumnFamilyOptions implementation with tests
[RocksJava] Extended ColumnFamilyTest Summary: Options Refactoring split part 3 Test Plan: make rocksdbjava make jtest Reviewers: yhchiang, ankgup87 Subscribers: dhruba Differential Revision: https://reviews.facebook.net/D28023
This commit is contained in:
parent
9759495229
commit
0345c2156f
|
@ -77,14 +77,16 @@ test: java
|
|||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.BlockBasedTableConfigTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.DBOptionsTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.ColumnFamilyTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.ColumnFamilyOptionsTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.FilterTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.FlushTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.KeyMayExistTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.MemTableTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.MergeTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.MixedOptionsTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.OptionsTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.PlainTableConfigTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.ReadOnlyTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.MergeTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.ReadOptionsTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.RocksIteratorTest
|
||||
java -ea -Djava.library.path=.:../ -cp "$(ROCKSDB_JAR):.:./*" org.rocksdb.test.SnapshotTest
|
||||
|
|
647
java/org/rocksdb/ColumnFamilyOptions.java
Normal file
647
java/org/rocksdb/ColumnFamilyOptions.java
Normal file
|
@ -0,0 +1,647 @@
|
|||
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
||||
// This source code is licensed under the BSD-style license found in the
|
||||
// LICENSE file in the root directory of this source tree. An additional grant
|
||||
// of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
package org.rocksdb;
|
||||
|
||||
/**
|
||||
* ColumnFamilyOptions to control the behavior of a database. It will be used
|
||||
* during the creation of a {@link org.rocksdb.RocksDB} (i.e., RocksDB.open()).
|
||||
*
|
||||
* If {@link #dispose()} function is not called, then it will be GC'd automatically
|
||||
* and native resources will be released as part of the process.
|
||||
*/
|
||||
public class ColumnFamilyOptions extends RocksObject
|
||||
implements ColumnFamilyOptionsInterface {
|
||||
static {
|
||||
RocksDB.loadLibrary();
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct ColumnFamilyOptions.
|
||||
*
|
||||
* This constructor will create (by allocating a block of memory)
|
||||
* an {@code rocksdb::DBOptions} in the c++ side.
|
||||
*/
|
||||
public ColumnFamilyOptions() {
|
||||
super();
|
||||
newColumnFamilyOptions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions optimizeForPointLookup(
|
||||
long blockCacheSizeMb) {
|
||||
optimizeForPointLookup(nativeHandle_,
|
||||
blockCacheSizeMb);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions optimizeLevelStyleCompaction() {
|
||||
optimizeLevelStyleCompaction(nativeHandle_,
|
||||
DEFAULT_COMPACTION_MEMTABLE_MEMORY_BUDGET);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions optimizeLevelStyleCompaction(
|
||||
long memtableMemoryBudget) {
|
||||
optimizeLevelStyleCompaction(nativeHandle_,
|
||||
memtableMemoryBudget);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions optimizeUniversalStyleCompaction() {
|
||||
optimizeUniversalStyleCompaction(nativeHandle_,
|
||||
DEFAULT_COMPACTION_MEMTABLE_MEMORY_BUDGET);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions optimizeUniversalStyleCompaction(
|
||||
long memtableMemoryBudget) {
|
||||
optimizeUniversalStyleCompaction(nativeHandle_,
|
||||
memtableMemoryBudget);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setComparator(BuiltinComparator builtinComparator) {
|
||||
assert(isInitialized());
|
||||
setComparatorHandle(nativeHandle_, builtinComparator.ordinal());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setComparator(AbstractComparator comparator) {
|
||||
assert (isInitialized());
|
||||
setComparatorHandle(nativeHandle_, comparator.nativeHandle_);
|
||||
comparator_ = comparator;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMergeOperatorName(String name) {
|
||||
setMergeOperatorName(nativeHandle_, name);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMergeOperator(MergeOperator mergeOperator) {
|
||||
setMergeOperator(nativeHandle_, mergeOperator.newMergeOperatorHandle());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setWriteBufferSize(long writeBufferSize)
|
||||
throws RocksDBException {
|
||||
assert(isInitialized());
|
||||
setWriteBufferSize(nativeHandle_, writeBufferSize);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long writeBufferSize() {
|
||||
assert(isInitialized());
|
||||
return writeBufferSize(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxWriteBufferNumber(
|
||||
int maxWriteBufferNumber) {
|
||||
assert(isInitialized());
|
||||
setMaxWriteBufferNumber(nativeHandle_, maxWriteBufferNumber);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int maxWriteBufferNumber() {
|
||||
assert(isInitialized());
|
||||
return maxWriteBufferNumber(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMinWriteBufferNumberToMerge(
|
||||
int minWriteBufferNumberToMerge) {
|
||||
setMinWriteBufferNumberToMerge(nativeHandle_, minWriteBufferNumberToMerge);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int minWriteBufferNumberToMerge() {
|
||||
return minWriteBufferNumberToMerge(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions useFixedLengthPrefixExtractor(int n) {
|
||||
assert(isInitialized());
|
||||
useFixedLengthPrefixExtractor(nativeHandle_, n);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setCompressionType(CompressionType compressionType) {
|
||||
setCompressionType(nativeHandle_, compressionType.getValue());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompressionType compressionType() {
|
||||
return CompressionType.values()[compressionType(nativeHandle_)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setNumLevels(int numLevels) {
|
||||
setNumLevels(nativeHandle_, numLevels);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int numLevels() {
|
||||
return numLevels(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setLevelZeroFileNumCompactionTrigger(
|
||||
int numFiles) {
|
||||
setLevelZeroFileNumCompactionTrigger(
|
||||
nativeHandle_, numFiles);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int levelZeroFileNumCompactionTrigger() {
|
||||
return levelZeroFileNumCompactionTrigger(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setLevelZeroSlowdownWritesTrigger(
|
||||
int numFiles) {
|
||||
setLevelZeroSlowdownWritesTrigger(nativeHandle_, numFiles);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int levelZeroSlowdownWritesTrigger() {
|
||||
return levelZeroSlowdownWritesTrigger(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setLevelZeroStopWritesTrigger(int numFiles) {
|
||||
setLevelZeroStopWritesTrigger(nativeHandle_, numFiles);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int levelZeroStopWritesTrigger() {
|
||||
return levelZeroStopWritesTrigger(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxMemCompactionLevel(
|
||||
int maxMemCompactionLevel) {
|
||||
setMaxMemCompactionLevel(nativeHandle_, maxMemCompactionLevel);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int maxMemCompactionLevel() {
|
||||
return maxMemCompactionLevel(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setTargetFileSizeBase(long targetFileSizeBase) {
|
||||
setTargetFileSizeBase(nativeHandle_, targetFileSizeBase);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long targetFileSizeBase() {
|
||||
return targetFileSizeBase(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setTargetFileSizeMultiplier(int multiplier) {
|
||||
setTargetFileSizeMultiplier(nativeHandle_, multiplier);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int targetFileSizeMultiplier() {
|
||||
return targetFileSizeMultiplier(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxBytesForLevelBase(
|
||||
long maxBytesForLevelBase) {
|
||||
setMaxBytesForLevelBase(nativeHandle_, maxBytesForLevelBase);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxBytesForLevelBase() {
|
||||
return maxBytesForLevelBase(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxBytesForLevelMultiplier(int multiplier) {
|
||||
setMaxBytesForLevelMultiplier(nativeHandle_, multiplier);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int maxBytesForLevelMultiplier() {
|
||||
return maxBytesForLevelMultiplier(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setExpandedCompactionFactor(int expandedCompactionFactor) {
|
||||
setExpandedCompactionFactor(nativeHandle_, expandedCompactionFactor);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int expandedCompactionFactor() {
|
||||
return expandedCompactionFactor(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setSourceCompactionFactor(int sourceCompactionFactor) {
|
||||
setSourceCompactionFactor(nativeHandle_, sourceCompactionFactor);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int sourceCompactionFactor() {
|
||||
return sourceCompactionFactor(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxGrandparentOverlapFactor(
|
||||
int maxGrandparentOverlapFactor) {
|
||||
setMaxGrandparentOverlapFactor(nativeHandle_, maxGrandparentOverlapFactor);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int maxGrandparentOverlapFactor() {
|
||||
return maxGrandparentOverlapFactor(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setSoftRateLimit(double softRateLimit) {
|
||||
setSoftRateLimit(nativeHandle_, softRateLimit);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double softRateLimit() {
|
||||
return softRateLimit(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setHardRateLimit(double hardRateLimit) {
|
||||
setHardRateLimit(nativeHandle_, hardRateLimit);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double hardRateLimit() {
|
||||
return hardRateLimit(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setRateLimitDelayMaxMilliseconds(
|
||||
int rateLimitDelayMaxMilliseconds) {
|
||||
setRateLimitDelayMaxMilliseconds(
|
||||
nativeHandle_, rateLimitDelayMaxMilliseconds);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int rateLimitDelayMaxMilliseconds() {
|
||||
return rateLimitDelayMaxMilliseconds(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setArenaBlockSize(long arenaBlockSize)
|
||||
throws RocksDBException {
|
||||
setArenaBlockSize(nativeHandle_, arenaBlockSize);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long arenaBlockSize() {
|
||||
return arenaBlockSize(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setDisableAutoCompactions(boolean disableAutoCompactions) {
|
||||
setDisableAutoCompactions(nativeHandle_, disableAutoCompactions);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableAutoCompactions() {
|
||||
return disableAutoCompactions(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setPurgeRedundantKvsWhileFlush(
|
||||
boolean purgeRedundantKvsWhileFlush) {
|
||||
setPurgeRedundantKvsWhileFlush(
|
||||
nativeHandle_, purgeRedundantKvsWhileFlush);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean purgeRedundantKvsWhileFlush() {
|
||||
return purgeRedundantKvsWhileFlush(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setCompactionStyle(CompactionStyle compactionStyle) {
|
||||
setCompactionStyle(nativeHandle_, compactionStyle.getValue());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompactionStyle compactionStyle() {
|
||||
return CompactionStyle.values()[compactionStyle(nativeHandle_)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setVerifyChecksumsInCompaction(
|
||||
boolean verifyChecksumsInCompaction) {
|
||||
setVerifyChecksumsInCompaction(
|
||||
nativeHandle_, verifyChecksumsInCompaction);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean verifyChecksumsInCompaction() {
|
||||
return verifyChecksumsInCompaction(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setFilterDeletes(boolean filterDeletes) {
|
||||
setFilterDeletes(nativeHandle_, filterDeletes);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean filterDeletes() {
|
||||
return filterDeletes(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxSequentialSkipInIterations(long maxSequentialSkipInIterations) {
|
||||
setMaxSequentialSkipInIterations(nativeHandle_, maxSequentialSkipInIterations);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxSequentialSkipInIterations() {
|
||||
return maxSequentialSkipInIterations(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMemTableConfig(MemTableConfig config)
|
||||
throws RocksDBException {
|
||||
memTableConfig_ = config;
|
||||
setMemTableFactory(nativeHandle_, config.newMemTableFactoryHandle());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String memTableFactoryName() {
|
||||
assert(isInitialized());
|
||||
return memTableFactoryName(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setTableFormatConfig(TableFormatConfig config) {
|
||||
tableFormatConfig_ = config;
|
||||
setTableFactory(nativeHandle_, config.newTableFactoryHandle());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String tableFactoryName() {
|
||||
assert(isInitialized());
|
||||
return tableFactoryName(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setInplaceUpdateSupport(boolean inplaceUpdateSupport) {
|
||||
setInplaceUpdateSupport(nativeHandle_, inplaceUpdateSupport);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inplaceUpdateSupport() {
|
||||
return inplaceUpdateSupport(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setInplaceUpdateNumLocks(long inplaceUpdateNumLocks)
|
||||
throws RocksDBException {
|
||||
setInplaceUpdateNumLocks(nativeHandle_, inplaceUpdateNumLocks);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long inplaceUpdateNumLocks() {
|
||||
return inplaceUpdateNumLocks(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMemtablePrefixBloomBits(int memtablePrefixBloomBits) {
|
||||
setMemtablePrefixBloomBits(nativeHandle_, memtablePrefixBloomBits);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int memtablePrefixBloomBits() {
|
||||
return memtablePrefixBloomBits(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMemtablePrefixBloomProbes(int memtablePrefixBloomProbes) {
|
||||
setMemtablePrefixBloomProbes(nativeHandle_, memtablePrefixBloomProbes);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int memtablePrefixBloomProbes() {
|
||||
return memtablePrefixBloomProbes(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setBloomLocality(int bloomLocality) {
|
||||
setBloomLocality(nativeHandle_, bloomLocality);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bloomLocality() {
|
||||
return bloomLocality(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMaxSuccessiveMerges(long maxSuccessiveMerges)
|
||||
throws RocksDBException {
|
||||
setMaxSuccessiveMerges(nativeHandle_, maxSuccessiveMerges);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxSuccessiveMerges() {
|
||||
return maxSuccessiveMerges(nativeHandle_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnFamilyOptions setMinPartialMergeOperands(int minPartialMergeOperands) {
|
||||
setMinPartialMergeOperands(nativeHandle_, minPartialMergeOperands);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int minPartialMergeOperands() {
|
||||
return minPartialMergeOperands(nativeHandle_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Release the memory allocated for the current instance
|
||||
* in the c++ side.
|
||||
*/
|
||||
@Override protected void disposeInternal() {
|
||||
assert(isInitialized());
|
||||
disposeInternal(nativeHandle_);
|
||||
}
|
||||
|
||||
private native void newColumnFamilyOptions();
|
||||
private native void disposeInternal(long handle);
|
||||
|
||||
private native void optimizeForPointLookup(long handle,
|
||||
long blockCacheSizeMb);
|
||||
private native void optimizeLevelStyleCompaction(long handle,
|
||||
long memtableMemoryBudget);
|
||||
private native void optimizeUniversalStyleCompaction(long handle,
|
||||
long memtableMemoryBudget);
|
||||
private native void setComparatorHandle(long handle, int builtinComparator);
|
||||
private native void setComparatorHandle(long optHandle, long comparatorHandle);
|
||||
private native void setMergeOperatorName(
|
||||
long handle, String name);
|
||||
private native void setMergeOperator(
|
||||
long handle, long mergeOperatorHandle);
|
||||
private native void setWriteBufferSize(long handle, long writeBufferSize)
|
||||
throws RocksDBException;
|
||||
private native long writeBufferSize(long handle);
|
||||
private native void setMaxWriteBufferNumber(
|
||||
long handle, int maxWriteBufferNumber);
|
||||
private native int maxWriteBufferNumber(long handle);
|
||||
private native void setMinWriteBufferNumberToMerge(
|
||||
long handle, int minWriteBufferNumberToMerge);
|
||||
private native int minWriteBufferNumberToMerge(long handle);
|
||||
private native void setCompressionType(long handle, byte compressionType);
|
||||
private native byte compressionType(long handle);
|
||||
private native void useFixedLengthPrefixExtractor(
|
||||
long handle, int prefixLength);
|
||||
private native void setNumLevels(
|
||||
long handle, int numLevels);
|
||||
private native int numLevels(long handle);
|
||||
private native void setLevelZeroFileNumCompactionTrigger(
|
||||
long handle, int numFiles);
|
||||
private native int levelZeroFileNumCompactionTrigger(long handle);
|
||||
private native void setLevelZeroSlowdownWritesTrigger(
|
||||
long handle, int numFiles);
|
||||
private native int levelZeroSlowdownWritesTrigger(long handle);
|
||||
private native void setLevelZeroStopWritesTrigger(
|
||||
long handle, int numFiles);
|
||||
private native int levelZeroStopWritesTrigger(long handle);
|
||||
private native void setMaxMemCompactionLevel(
|
||||
long handle, int maxMemCompactionLevel);
|
||||
private native int maxMemCompactionLevel(long handle);
|
||||
private native void setTargetFileSizeBase(
|
||||
long handle, long targetFileSizeBase);
|
||||
private native long targetFileSizeBase(long handle);
|
||||
private native void setTargetFileSizeMultiplier(
|
||||
long handle, int multiplier);
|
||||
private native int targetFileSizeMultiplier(long handle);
|
||||
private native void setMaxBytesForLevelBase(
|
||||
long handle, long maxBytesForLevelBase);
|
||||
private native long maxBytesForLevelBase(long handle);
|
||||
private native void setMaxBytesForLevelMultiplier(
|
||||
long handle, int multiplier);
|
||||
private native int maxBytesForLevelMultiplier(long handle);
|
||||
private native void setExpandedCompactionFactor(
|
||||
long handle, int expandedCompactionFactor);
|
||||
private native int expandedCompactionFactor(long handle);
|
||||
private native void setSourceCompactionFactor(
|
||||
long handle, int sourceCompactionFactor);
|
||||
private native int sourceCompactionFactor(long handle);
|
||||
private native void setMaxGrandparentOverlapFactor(
|
||||
long handle, int maxGrandparentOverlapFactor);
|
||||
private native int maxGrandparentOverlapFactor(long handle);
|
||||
private native void setSoftRateLimit(
|
||||
long handle, double softRateLimit);
|
||||
private native double softRateLimit(long handle);
|
||||
private native void setHardRateLimit(
|
||||
long handle, double hardRateLimit);
|
||||
private native double hardRateLimit(long handle);
|
||||
private native void setRateLimitDelayMaxMilliseconds(
|
||||
long handle, int rateLimitDelayMaxMilliseconds);
|
||||
private native int rateLimitDelayMaxMilliseconds(long handle);
|
||||
private native void setArenaBlockSize(
|
||||
long handle, long arenaBlockSize) throws RocksDBException;
|
||||
private native long arenaBlockSize(long handle);
|
||||
private native void setDisableAutoCompactions(
|
||||
long handle, boolean disableAutoCompactions);
|
||||
private native boolean disableAutoCompactions(long handle);
|
||||
private native void setCompactionStyle(long handle, byte compactionStyle);
|
||||
private native byte compactionStyle(long handle);
|
||||
private native void setPurgeRedundantKvsWhileFlush(
|
||||
long handle, boolean purgeRedundantKvsWhileFlush);
|
||||
private native boolean purgeRedundantKvsWhileFlush(long handle);
|
||||
private native void setVerifyChecksumsInCompaction(
|
||||
long handle, boolean verifyChecksumsInCompaction);
|
||||
private native boolean verifyChecksumsInCompaction(long handle);
|
||||
private native void setFilterDeletes(
|
||||
long handle, boolean filterDeletes);
|
||||
private native boolean filterDeletes(long handle);
|
||||
private native void setMaxSequentialSkipInIterations(
|
||||
long handle, long maxSequentialSkipInIterations);
|
||||
private native long maxSequentialSkipInIterations(long handle);
|
||||
private native void setMemTableFactory(long handle, long factoryHandle);
|
||||
private native String memTableFactoryName(long handle);
|
||||
private native void setTableFactory(long handle, long factoryHandle);
|
||||
private native String tableFactoryName(long handle);
|
||||
private native void setInplaceUpdateSupport(
|
||||
long handle, boolean inplaceUpdateSupport);
|
||||
private native boolean inplaceUpdateSupport(long handle);
|
||||
private native void setInplaceUpdateNumLocks(
|
||||
long handle, long inplaceUpdateNumLocks) throws RocksDBException;
|
||||
private native long inplaceUpdateNumLocks(long handle);
|
||||
private native void setMemtablePrefixBloomBits(
|
||||
long handle, int memtablePrefixBloomBits);
|
||||
private native int memtablePrefixBloomBits(long handle);
|
||||
private native void setMemtablePrefixBloomProbes(
|
||||
long handle, int memtablePrefixBloomProbes);
|
||||
private native int memtablePrefixBloomProbes(long handle);
|
||||
private native void setBloomLocality(
|
||||
long handle, int bloomLocality);
|
||||
private native int bloomLocality(long handle);
|
||||
private native void setMaxSuccessiveMerges(
|
||||
long handle, long maxSuccessiveMerges) throws RocksDBException;
|
||||
private native long maxSuccessiveMerges(long handle);
|
||||
private native void setMinPartialMergeOperands(
|
||||
long handle, int minPartialMergeOperands);
|
||||
private native int minPartialMergeOperands(long handle);
|
||||
|
||||
MemTableConfig memTableConfig_;
|
||||
TableFormatConfig tableFormatConfig_;
|
||||
AbstractComparator comparator_;
|
||||
}
|
|
@ -29,6 +29,20 @@ public class Options extends RocksObject
|
|||
env_ = RocksEnv.getDefault();
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct options for opening a RocksDB. Reusing database options
|
||||
* and column family options.
|
||||
*
|
||||
* @param dbOptions {@link org.rocksdb.DBOptions} instance
|
||||
* @param columnFamilyOptions {@link org.rocksdb.ColumnFamilyOptions}
|
||||
* instance
|
||||
*/
|
||||
public Options(DBOptions dbOptions, ColumnFamilyOptions columnFamilyOptions) {
|
||||
super();
|
||||
newOptions(dbOptions.nativeHandle_, columnFamilyOptions.nativeHandle_);
|
||||
env_ = RocksEnv.getDefault();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Options setCreateIfMissing(boolean flag) {
|
||||
assert(isInitialized());
|
||||
|
|
229
java/org/rocksdb/test/ColumnFamilyOptionsTest.java
Normal file
229
java/org/rocksdb/test/ColumnFamilyOptionsTest.java
Normal file
|
@ -0,0 +1,229 @@
|
|||
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
||||
// This source code is licensed under the BSD-style license found in the
|
||||
// LICENSE file in the root directory of this source tree. An additional grant
|
||||
// of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
package org.rocksdb.test;
|
||||
|
||||
import org.rocksdb.*;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class ColumnFamilyOptionsTest {
|
||||
static {
|
||||
RocksDB.loadLibrary();
|
||||
}
|
||||
|
||||
public static void testCFOptions(ColumnFamilyOptionsInterface opt) {
|
||||
Random rand = PlatformRandomHelper.
|
||||
getPlatformSpecificRandomFactory();
|
||||
{ // WriteBufferSize test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setWriteBufferSize(longValue);
|
||||
assert(opt.writeBufferSize() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MaxWriteBufferNumber test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxWriteBufferNumber(intValue);
|
||||
assert(opt.maxWriteBufferNumber() == intValue);
|
||||
}
|
||||
|
||||
{ // MinWriteBufferNumberToMerge test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMinWriteBufferNumberToMerge(intValue);
|
||||
assert(opt.minWriteBufferNumberToMerge() == intValue);
|
||||
}
|
||||
|
||||
{ // NumLevels test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setNumLevels(intValue);
|
||||
assert(opt.numLevels() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelFileNumCompactionTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroFileNumCompactionTrigger(intValue);
|
||||
assert(opt.levelZeroFileNumCompactionTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelSlowdownWritesTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroSlowdownWritesTrigger(intValue);
|
||||
assert(opt.levelZeroSlowdownWritesTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelStopWritesTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroStopWritesTrigger(intValue);
|
||||
assert(opt.levelZeroStopWritesTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxMemCompactionLevel test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxMemCompactionLevel(intValue);
|
||||
assert(opt.maxMemCompactionLevel() == intValue);
|
||||
}
|
||||
|
||||
{ // TargetFileSizeBase test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setTargetFileSizeBase(longValue);
|
||||
assert(opt.targetFileSizeBase() == longValue);
|
||||
}
|
||||
|
||||
{ // TargetFileSizeMultiplier test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setTargetFileSizeMultiplier(intValue);
|
||||
assert(opt.targetFileSizeMultiplier() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxBytesForLevelBase test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxBytesForLevelBase(longValue);
|
||||
assert(opt.maxBytesForLevelBase() == longValue);
|
||||
}
|
||||
|
||||
{ // MaxBytesForLevelMultiplier test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxBytesForLevelMultiplier(intValue);
|
||||
assert(opt.maxBytesForLevelMultiplier() == intValue);
|
||||
}
|
||||
|
||||
{ // ExpandedCompactionFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setExpandedCompactionFactor(intValue);
|
||||
assert(opt.expandedCompactionFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // SourceCompactionFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setSourceCompactionFactor(intValue);
|
||||
assert(opt.sourceCompactionFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxGrandparentOverlapFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxGrandparentOverlapFactor(intValue);
|
||||
assert(opt.maxGrandparentOverlapFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // SoftRateLimit test
|
||||
double doubleValue = rand.nextDouble();
|
||||
opt.setSoftRateLimit(doubleValue);
|
||||
assert(opt.softRateLimit() == doubleValue);
|
||||
}
|
||||
|
||||
{ // HardRateLimit test
|
||||
double doubleValue = rand.nextDouble();
|
||||
opt.setHardRateLimit(doubleValue);
|
||||
assert(opt.hardRateLimit() == doubleValue);
|
||||
}
|
||||
|
||||
{ // RateLimitDelayMaxMilliseconds test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setRateLimitDelayMaxMilliseconds(intValue);
|
||||
assert(opt.rateLimitDelayMaxMilliseconds() == intValue);
|
||||
}
|
||||
|
||||
{ // ArenaBlockSize test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setArenaBlockSize(longValue);
|
||||
assert(opt.arenaBlockSize() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // DisableAutoCompactions test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setDisableAutoCompactions(boolValue);
|
||||
assert(opt.disableAutoCompactions() == boolValue);
|
||||
}
|
||||
|
||||
{ // PurgeRedundantKvsWhileFlush test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setPurgeRedundantKvsWhileFlush(boolValue);
|
||||
assert(opt.purgeRedundantKvsWhileFlush() == boolValue);
|
||||
}
|
||||
|
||||
{ // VerifyChecksumsInCompaction test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setVerifyChecksumsInCompaction(boolValue);
|
||||
assert(opt.verifyChecksumsInCompaction() == boolValue);
|
||||
}
|
||||
|
||||
{ // FilterDeletes test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setFilterDeletes(boolValue);
|
||||
assert(opt.filterDeletes() == boolValue);
|
||||
}
|
||||
|
||||
{ // MaxSequentialSkipInIterations test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxSequentialSkipInIterations(longValue);
|
||||
assert(opt.maxSequentialSkipInIterations() == longValue);
|
||||
}
|
||||
|
||||
{ // InplaceUpdateSupport test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setInplaceUpdateSupport(boolValue);
|
||||
assert(opt.inplaceUpdateSupport() == boolValue);
|
||||
}
|
||||
|
||||
{ // InplaceUpdateNumLocks test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setInplaceUpdateNumLocks(longValue);
|
||||
assert(opt.inplaceUpdateNumLocks() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MemtablePrefixBloomBits test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMemtablePrefixBloomBits(intValue);
|
||||
assert(opt.memtablePrefixBloomBits() == intValue);
|
||||
}
|
||||
|
||||
{ // MemtablePrefixBloomProbes test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMemtablePrefixBloomProbes(intValue);
|
||||
assert(opt.memtablePrefixBloomProbes() == intValue);
|
||||
}
|
||||
|
||||
{ // BloomLocality test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setBloomLocality(intValue);
|
||||
assert(opt.bloomLocality() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxSuccessiveMerges test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxSuccessiveMerges(longValue);
|
||||
assert(opt.maxSuccessiveMerges() == longValue);
|
||||
} catch (RocksDBException e){
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MinPartialMergeOperands test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMinPartialMergeOperands(intValue);
|
||||
assert(opt.minPartialMergeOperands() == intValue);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
ColumnFamilyOptions opt = new ColumnFamilyOptions();
|
||||
testCFOptions(opt);
|
||||
opt.dispose();
|
||||
System.out.println("Passed DBOptionsTest");
|
||||
}
|
||||
}
|
51
java/org/rocksdb/test/MixedOptionsTest.java
Normal file
51
java/org/rocksdb/test/MixedOptionsTest.java
Normal file
|
@ -0,0 +1,51 @@
|
|||
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
||||
// This source code is licensed under the BSD-style license found in the
|
||||
// LICENSE file in the root directory of this source tree. An additional grant
|
||||
// of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
package org.rocksdb.test;
|
||||
|
||||
import org.rocksdb.*;
|
||||
|
||||
public class MixedOptionsTest {
|
||||
static {
|
||||
RocksDB.loadLibrary();
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
// Set a table factory and check the names
|
||||
ColumnFamilyOptions cfOptions = new ColumnFamilyOptions();
|
||||
cfOptions.setTableFormatConfig(new BlockBasedTableConfig().
|
||||
setFilter(new BloomFilter()));
|
||||
assert(cfOptions.tableFactoryName().equals(
|
||||
"BlockBasedTable"));
|
||||
cfOptions.setTableFormatConfig(new PlainTableConfig());
|
||||
assert(cfOptions.tableFactoryName().equals("PlainTable"));
|
||||
// Initialize a dbOptions object from cf options and
|
||||
// db options
|
||||
DBOptions dbOptions = new DBOptions();
|
||||
Options options = new Options(dbOptions, cfOptions);
|
||||
assert(options.tableFactoryName().equals("PlainTable"));
|
||||
// Free instances
|
||||
options.dispose();
|
||||
options = null;
|
||||
cfOptions.dispose();
|
||||
cfOptions = null;
|
||||
dbOptions.dispose();
|
||||
dbOptions = null;
|
||||
System.gc();
|
||||
System.runFinalization();
|
||||
// Test Optimize for statements
|
||||
cfOptions = new ColumnFamilyOptions();
|
||||
cfOptions.optimizeUniversalStyleCompaction();
|
||||
cfOptions.optimizeLevelStyleCompaction();
|
||||
cfOptions.optimizeForPointLookup(1024);
|
||||
options = new Options();
|
||||
options.optimizeLevelStyleCompaction();
|
||||
options.optimizeLevelStyleCompaction(400);
|
||||
options.optimizeUniversalStyleCompaction();
|
||||
options.optimizeUniversalStyleCompaction(400);
|
||||
options.optimizeForPointLookup(1024);
|
||||
options.prepareForBulkLoad();
|
||||
System.out.println("Mixed options test passed");
|
||||
}
|
||||
}
|
|
@ -6,10 +6,7 @@
|
|||
package org.rocksdb.test;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import org.rocksdb.DBOptions;
|
||||
import org.rocksdb.RocksDB;
|
||||
import org.rocksdb.RocksDBException;
|
||||
import org.rocksdb.Options;
|
||||
|
||||
public class OptionsTest {
|
||||
|
@ -23,208 +20,7 @@ public class OptionsTest {
|
|||
getPlatformSpecificRandomFactory();
|
||||
|
||||
DBOptionsTest.testDBOptions(opt);
|
||||
|
||||
{ // WriteBufferSize test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setWriteBufferSize(longValue);
|
||||
assert(opt.writeBufferSize() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MaxWriteBufferNumber test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxWriteBufferNumber(intValue);
|
||||
assert(opt.maxWriteBufferNumber() == intValue);
|
||||
}
|
||||
|
||||
{ // MinWriteBufferNumberToMerge test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMinWriteBufferNumberToMerge(intValue);
|
||||
assert(opt.minWriteBufferNumberToMerge() == intValue);
|
||||
}
|
||||
|
||||
{ // NumLevels test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setNumLevels(intValue);
|
||||
assert(opt.numLevels() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelFileNumCompactionTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroFileNumCompactionTrigger(intValue);
|
||||
assert(opt.levelZeroFileNumCompactionTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelSlowdownWritesTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroSlowdownWritesTrigger(intValue);
|
||||
assert(opt.levelZeroSlowdownWritesTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // LevelStopWritesTrigger test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setLevelZeroStopWritesTrigger(intValue);
|
||||
assert(opt.levelZeroStopWritesTrigger() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxMemCompactionLevel test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxMemCompactionLevel(intValue);
|
||||
assert(opt.maxMemCompactionLevel() == intValue);
|
||||
}
|
||||
|
||||
{ // TargetFileSizeBase test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setTargetFileSizeBase(longValue);
|
||||
assert(opt.targetFileSizeBase() == longValue);
|
||||
}
|
||||
|
||||
{ // TargetFileSizeMultiplier test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setTargetFileSizeMultiplier(intValue);
|
||||
assert(opt.targetFileSizeMultiplier() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxBytesForLevelBase test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxBytesForLevelBase(longValue);
|
||||
assert(opt.maxBytesForLevelBase() == longValue);
|
||||
}
|
||||
|
||||
{ // MaxBytesForLevelMultiplier test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxBytesForLevelMultiplier(intValue);
|
||||
assert(opt.maxBytesForLevelMultiplier() == intValue);
|
||||
}
|
||||
|
||||
{ // ExpandedCompactionFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setExpandedCompactionFactor(intValue);
|
||||
assert(opt.expandedCompactionFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // SourceCompactionFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setSourceCompactionFactor(intValue);
|
||||
assert(opt.sourceCompactionFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxGrandparentOverlapFactor test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMaxGrandparentOverlapFactor(intValue);
|
||||
assert(opt.maxGrandparentOverlapFactor() == intValue);
|
||||
}
|
||||
|
||||
{ // SoftRateLimit test
|
||||
double doubleValue = rand.nextDouble();
|
||||
opt.setSoftRateLimit(doubleValue);
|
||||
assert(opt.softRateLimit() == doubleValue);
|
||||
}
|
||||
|
||||
{ // HardRateLimit test
|
||||
double doubleValue = rand.nextDouble();
|
||||
opt.setHardRateLimit(doubleValue);
|
||||
assert(opt.hardRateLimit() == doubleValue);
|
||||
}
|
||||
|
||||
{ // RateLimitDelayMaxMilliseconds test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setRateLimitDelayMaxMilliseconds(intValue);
|
||||
assert(opt.rateLimitDelayMaxMilliseconds() == intValue);
|
||||
}
|
||||
|
||||
{ // ArenaBlockSize test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setArenaBlockSize(longValue);
|
||||
assert(opt.arenaBlockSize() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // DisableAutoCompactions test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setDisableAutoCompactions(boolValue);
|
||||
assert(opt.disableAutoCompactions() == boolValue);
|
||||
}
|
||||
|
||||
{ // PurgeRedundantKvsWhileFlush test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setPurgeRedundantKvsWhileFlush(boolValue);
|
||||
assert(opt.purgeRedundantKvsWhileFlush() == boolValue);
|
||||
}
|
||||
|
||||
{ // VerifyChecksumsInCompaction test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setVerifyChecksumsInCompaction(boolValue);
|
||||
assert(opt.verifyChecksumsInCompaction() == boolValue);
|
||||
}
|
||||
|
||||
{ // FilterDeletes test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setFilterDeletes(boolValue);
|
||||
assert(opt.filterDeletes() == boolValue);
|
||||
}
|
||||
|
||||
{ // MaxSequentialSkipInIterations test
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxSequentialSkipInIterations(longValue);
|
||||
assert(opt.maxSequentialSkipInIterations() == longValue);
|
||||
}
|
||||
|
||||
{ // InplaceUpdateSupport test
|
||||
boolean boolValue = rand.nextBoolean();
|
||||
opt.setInplaceUpdateSupport(boolValue);
|
||||
assert(opt.inplaceUpdateSupport() == boolValue);
|
||||
}
|
||||
|
||||
{ // InplaceUpdateNumLocks test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setInplaceUpdateNumLocks(longValue);
|
||||
assert(opt.inplaceUpdateNumLocks() == longValue);
|
||||
} catch (RocksDBException e) {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MemtablePrefixBloomBits test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMemtablePrefixBloomBits(intValue);
|
||||
assert(opt.memtablePrefixBloomBits() == intValue);
|
||||
}
|
||||
|
||||
{ // MemtablePrefixBloomProbes test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMemtablePrefixBloomProbes(intValue);
|
||||
assert(opt.memtablePrefixBloomProbes() == intValue);
|
||||
}
|
||||
|
||||
{ // BloomLocality test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setBloomLocality(intValue);
|
||||
assert(opt.bloomLocality() == intValue);
|
||||
}
|
||||
|
||||
{ // MaxSuccessiveMerges test
|
||||
try {
|
||||
long longValue = rand.nextLong();
|
||||
opt.setMaxSuccessiveMerges(longValue);
|
||||
assert(opt.maxSuccessiveMerges() == longValue);
|
||||
} catch (RocksDBException e){
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
{ // MinPartialMergeOperands test
|
||||
int intValue = rand.nextInt();
|
||||
opt.setMinPartialMergeOperands(intValue);
|
||||
assert(opt.minPartialMergeOperands() == intValue);
|
||||
}
|
||||
ColumnFamilyOptionsTest.testCFOptions(opt);
|
||||
|
||||
opt.dispose();
|
||||
System.out.println("Passed OptionsTest");
|
||||
|
|
|
@ -1740,9 +1740,8 @@ void Java_org_rocksdb_Options_prepareForBulkLoad(
|
|||
*/
|
||||
void Java_org_rocksdb_ColumnFamilyOptions_newColumnFamilyOptions(
|
||||
JNIEnv* env, jobject jobj) {
|
||||
// TODO(fyrz) needs to be enabled back when ColumnFamilyOptions are available
|
||||
// rocksdb::ColumnFamilyOptions* op = new rocksdb::ColumnFamilyOptions();
|
||||
// rocksdb::ColumnFamilyOptionsJni::setHandle(env, jobj, op);
|
||||
rocksdb::ColumnFamilyOptions* op = new rocksdb::ColumnFamilyOptions();
|
||||
rocksdb::ColumnFamilyOptionsJni::setHandle(env, jobj, op);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue