@nxtedition/rocksdb 13.2.0 → 13.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/binding.cc
CHANGED
|
@@ -926,22 +926,40 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
926
926
|
|
|
927
927
|
{
|
|
928
928
|
uint32_t cacheSize = 0;
|
|
929
|
+
double compressedRatio = 0.0;
|
|
929
930
|
NAPI_STATUS_RETURN(GetProperty(env, options, "blobCacheSize", cacheSize));
|
|
930
|
-
|
|
931
|
-
|
|
931
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "blobCacheCompressedRatio", compressedRatio));
|
|
932
|
+
|
|
933
|
+
if (cacheSize == 0) {
|
|
934
|
+
// Do nothing..
|
|
935
|
+
} else if (compressedRatio > 0.0) {
|
|
936
|
+
rocksdb::TieredCacheOptions options;
|
|
937
|
+
options.total_capacity = cacheSize;
|
|
938
|
+
options.compressed_secondary_ratio = compressedRatio;
|
|
939
|
+
options.comp_cache_opts.compression_type = rocksdb::CompressionType::kZSTD;
|
|
940
|
+
columnOptions.blob_cache = rocksdb::NewTieredCache(options);
|
|
941
|
+
} else {
|
|
932
942
|
columnOptions.blob_cache = rocksdb::HyperClockCacheOptions(cacheSize, 0).MakeSharedCache();
|
|
933
943
|
}
|
|
934
944
|
}
|
|
935
945
|
|
|
936
946
|
{
|
|
937
947
|
uint32_t cacheSize = 8 << 20;
|
|
948
|
+
double compressedRatio = 0.0;
|
|
938
949
|
NAPI_STATUS_RETURN(GetProperty(env, options, "cacheSize", cacheSize));
|
|
939
950
|
NAPI_STATUS_RETURN(GetProperty(env, options, "blockCacheSize", cacheSize));
|
|
951
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "blockCacheCompressedRatio", compressedRatio));
|
|
940
952
|
|
|
941
|
-
if (cacheSize) {
|
|
942
|
-
tableOptions.block_cache = rocksdb::HyperClockCacheOptions(cacheSize, 0).MakeSharedCache();
|
|
943
|
-
} else {
|
|
953
|
+
if (cacheSize == 0) {
|
|
944
954
|
tableOptions.no_block_cache = true;
|
|
955
|
+
} else if (compressedRatio > 0.0) {
|
|
956
|
+
rocksdb::TieredCacheOptions options;
|
|
957
|
+
options.total_capacity = cacheSize;
|
|
958
|
+
options.compressed_secondary_ratio = compressedRatio;
|
|
959
|
+
options.comp_cache_opts.compression_type = rocksdb::CompressionType::kZSTD;
|
|
960
|
+
tableOptions.block_cache = rocksdb::NewTieredCache(options);
|
|
961
|
+
} else {
|
|
962
|
+
tableOptions.block_cache = rocksdb::HyperClockCacheOptions(cacheSize, 0).MakeSharedCache();
|
|
945
963
|
}
|
|
946
964
|
}
|
|
947
965
|
|
|
@@ -1125,6 +1143,10 @@ NAPI_METHOD(db_open) {
|
|
|
1125
1143
|
|
|
1126
1144
|
NAPI_STATUS_THROWS(GetProperty(env, options, "memTableHugePageSize", dbOptions.memtable_huge_page_size));
|
|
1127
1145
|
|
|
1146
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "useDirectIOReads", dbOptions.use_direct_reads));
|
|
1147
|
+
|
|
1148
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "useDirectIOForFlushAndCompaction", dbOptions.use_direct_io_for_flush_and_compaction));
|
|
1149
|
+
|
|
1128
1150
|
// TODO (feat): dbOptions.listeners
|
|
1129
1151
|
|
|
1130
1152
|
std::string infoLogLevel;
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|