Allow reading the column families
This commit is contained in:
parent
8e6ea58823
commit
6443e75ebd
|
@ -318,6 +318,10 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
||||||
registerGauge(meterRegistry, name, "rocksdb.block-cache-pinned-usage");
|
registerGauge(meterRegistry, name, "rocksdb.block-cache-pinned-usage");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Column, ColumnFamilyHandle> getAllColumnFamilyHandles() {
|
||||||
|
return this.handles;
|
||||||
|
}
|
||||||
|
|
||||||
private record RocksLevelOptions(CompressionType compressionType, CompressionOptions compressionOptions) {}
|
private record RocksLevelOptions(CompressionType compressionType, CompressionOptions compressionOptions) {}
|
||||||
private RocksLevelOptions getRocksLevelOptions(DatabaseLevel levelOptions) {
|
private RocksLevelOptions getRocksLevelOptions(DatabaseLevel levelOptions) {
|
||||||
var compressionType = levelOptions.compression().getType();
|
var compressionType = levelOptions.compression().getType();
|
||||||
|
@ -640,6 +644,16 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
||||||
.subscribeOn(dbScheduler);
|
.subscribeOn(dbScheduler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RocksDBColumn getRocksDBColumn(byte[] columnName) {
|
||||||
|
ColumnFamilyHandle cfh;
|
||||||
|
try {
|
||||||
|
cfh = getCfh(columnName);
|
||||||
|
} catch (RocksDBException e) {
|
||||||
|
throw new UnsupportedOperationException("Column family doesn't exist: " + Arrays.toString(columnName), e);
|
||||||
|
}
|
||||||
|
return getRocksDBColumn(db, cfh);
|
||||||
|
}
|
||||||
|
|
||||||
private RocksDBColumn getRocksDBColumn(RocksDB db, ColumnFamilyHandle cfh) {
|
private RocksDBColumn getRocksDBColumn(RocksDB db, ColumnFamilyHandle cfh) {
|
||||||
if (db instanceof OptimisticTransactionDB optimisticTransactionDB) {
|
if (db instanceof OptimisticTransactionDB optimisticTransactionDB) {
|
||||||
return new OptimisticRocksDBColumn(optimisticTransactionDB, databaseOptions, allocator, cfh, meterRegistry);
|
return new OptimisticRocksDBColumn(optimisticTransactionDB, databaseOptions, allocator, cfh, meterRegistry);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user