@nxtedition/rocksdb 13.1.3 → 13.1.5
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
|
@@ -898,6 +898,7 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
898
898
|
}
|
|
899
899
|
|
|
900
900
|
NAPI_STATUS_RETURN(GetProperty(env, options, "optimizeFiltersForHits", columnOptions.optimize_filters_for_hits));
|
|
901
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "periodicCompactionSeconds", columnOptions.periodic_compaction_seconds));
|
|
901
902
|
|
|
902
903
|
rocksdb::BlockBasedTableOptions tableOptions;
|
|
903
904
|
tableOptions.decouple_partitioned_filters = true;
|
|
@@ -1081,19 +1082,23 @@ NAPI_METHOD(db_open) {
|
|
|
1081
1082
|
|
|
1082
1083
|
NAPI_STATUS_THROWS(GetProperty(env, options, "strictBytesPerSync", dbOptions.strict_bytes_per_sync));
|
|
1083
1084
|
|
|
1085
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "delayedWriteRate", dbOptions.delayed_write_rate));
|
|
1086
|
+
|
|
1084
1087
|
NAPI_STATUS_THROWS(GetProperty(env, options, "createIfMissing", dbOptions.create_if_missing));
|
|
1085
1088
|
|
|
1086
1089
|
NAPI_STATUS_THROWS(GetProperty(env, options, "errorIfExists", dbOptions.error_if_exists));
|
|
1087
1090
|
|
|
1088
1091
|
NAPI_STATUS_THROWS(GetProperty(env, options, "pipelinedWrite", dbOptions.enable_pipelined_write));
|
|
1089
1092
|
|
|
1090
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "dailyOffpeakTime",
|
|
1093
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "dailyOffpeakTime", dbOptions.daily_offpeak_time_utc));
|
|
1094
|
+
|
|
1095
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "unorderedWrite", dbOptions.unordered_write));
|
|
1091
1096
|
|
|
1092
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "
|
|
1097
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "allowMmapReads", dbOptions.allow_mmap_reads));
|
|
1093
1098
|
|
|
1094
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "
|
|
1099
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "allowMmapWrites", dbOptions.allow_mmap_writes));
|
|
1095
1100
|
|
|
1096
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "
|
|
1101
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "memTableHugePageSize", dbOptions.memtable_huge_page_size));
|
|
1097
1102
|
|
|
1098
1103
|
// TODO (feat): dbOptions.listeners
|
|
1099
1104
|
|
|
@@ -1228,18 +1233,12 @@ NAPI_METHOD(db_get_many_sync) {
|
|
|
1228
1233
|
uint32_t count;
|
|
1229
1234
|
NAPI_STATUS_THROWS(napi_get_array_length(env, argv[1], &count));
|
|
1230
1235
|
|
|
1231
|
-
bool fillCache = true;
|
|
1232
|
-
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "fillCache", fillCache));
|
|
1233
|
-
|
|
1234
1236
|
rocksdb::ColumnFamilyHandle* column = database->db->DefaultColumnFamily();
|
|
1235
1237
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "column", column));
|
|
1236
1238
|
|
|
1237
1239
|
Encoding valueEncoding = Encoding::Buffer;
|
|
1238
1240
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "valueEncoding", valueEncoding));
|
|
1239
1241
|
|
|
1240
|
-
int32_t highWaterMarkBytes = std::numeric_limits<int32_t>::max();
|
|
1241
|
-
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "highWaterMarkBytes", highWaterMarkBytes));
|
|
1242
|
-
|
|
1243
1242
|
uint32_t timeout = 0;
|
|
1244
1243
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "timeout", timeout));
|
|
1245
1244
|
|
|
@@ -1260,14 +1259,22 @@ NAPI_METHOD(db_get_many_sync) {
|
|
|
1260
1259
|
}
|
|
1261
1260
|
|
|
1262
1261
|
rocksdb::ReadOptions readOptions;
|
|
1263
|
-
readOptions.fill_cache = fillCache;
|
|
1264
|
-
readOptions.async_io = true;
|
|
1265
|
-
readOptions.optimize_multiget_for_io = true;
|
|
1266
|
-
readOptions.value_size_soft_limit = highWaterMarkBytes;
|
|
1267
1262
|
readOptions.deadline = timeout
|
|
1268
1263
|
? std::chrono::microseconds(database->db->GetEnv()->NowMicros() + timeout * 1000)
|
|
1269
1264
|
: std::chrono::microseconds::zero();
|
|
1270
1265
|
|
|
1266
|
+
readOptions.fill_cache = false;
|
|
1267
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "fillCache", readOptions.fill_cache));
|
|
1268
|
+
|
|
1269
|
+
readOptions.async_io = true;
|
|
1270
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "asyncIO", readOptions.async_io));
|
|
1271
|
+
|
|
1272
|
+
readOptions.optimize_multiget_for_io = true;
|
|
1273
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "optimizeMultigetForIO", readOptions.optimize_multiget_for_io));
|
|
1274
|
+
|
|
1275
|
+
readOptions.value_size_soft_limit = std::numeric_limits<int32_t>::max();
|
|
1276
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "highWaterMarkBytes", readOptions.value_size_soft_limit));
|
|
1277
|
+
|
|
1271
1278
|
database->db->MultiGet(readOptions, column, count, keys.data(), values.data(), statuses.data());
|
|
1272
1279
|
|
|
1273
1280
|
napi_value rows;
|
|
@@ -1302,24 +1309,19 @@ NAPI_METHOD(db_get_many) {
|
|
|
1302
1309
|
uint32_t count;
|
|
1303
1310
|
NAPI_STATUS_THROWS(napi_get_array_length(env, argv[1], &count));
|
|
1304
1311
|
|
|
1305
|
-
bool fillCache = true;
|
|
1306
|
-
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "fillCache", fillCache));
|
|
1307
|
-
|
|
1308
1312
|
rocksdb::ColumnFamilyHandle* column = database->db->DefaultColumnFamily();
|
|
1309
1313
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "column", column));
|
|
1310
1314
|
|
|
1311
1315
|
Encoding valueEncoding = Encoding::Buffer;
|
|
1312
1316
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "valueEncoding", valueEncoding));
|
|
1313
1317
|
|
|
1314
|
-
int32_t highWaterMarkBytes = std::numeric_limits<int32_t>::max();
|
|
1315
|
-
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "highWaterMarkBytes", highWaterMarkBytes));
|
|
1316
|
-
|
|
1317
1318
|
bool unsafe = false;
|
|
1318
1319
|
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "unsafe", unsafe));
|
|
1319
1320
|
|
|
1320
1321
|
auto callback = argv[3];
|
|
1321
1322
|
|
|
1322
1323
|
struct State {
|
|
1324
|
+
rocksdb::ReadOptions readOptions;
|
|
1323
1325
|
std::vector<rocksdb::Status> statuses;
|
|
1324
1326
|
std::vector<rocksdb::PinnableSlice> values;
|
|
1325
1327
|
std::vector<rocksdb::PinnableSlice> keys;
|
|
@@ -1333,15 +1335,21 @@ NAPI_METHOD(db_get_many) {
|
|
|
1333
1335
|
NAPI_STATUS_THROWS(GetValue(env, element, state.keys[n]));
|
|
1334
1336
|
}
|
|
1335
1337
|
|
|
1338
|
+
state.readOptions.fill_cache = false;
|
|
1339
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "fillCache", state.readOptions.fill_cache));
|
|
1340
|
+
|
|
1341
|
+
state.readOptions.async_io = true;
|
|
1342
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "asyncIO", state.readOptions.async_io));
|
|
1343
|
+
|
|
1344
|
+
state.readOptions.optimize_multiget_for_io = true;
|
|
1345
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "optimizeMultigetForIO", state.readOptions.optimize_multiget_for_io));
|
|
1346
|
+
|
|
1347
|
+
state.readOptions.value_size_soft_limit = std::numeric_limits<int32_t>::max();
|
|
1348
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[2], "highWaterMarkBytes", state.readOptions.value_size_soft_limit));
|
|
1349
|
+
|
|
1336
1350
|
runAsync(std::move(state),
|
|
1337
1351
|
"leveldown.get_many", env, callback,
|
|
1338
1352
|
[=](auto& state) {
|
|
1339
|
-
rocksdb::ReadOptions readOptions;
|
|
1340
|
-
readOptions.fill_cache = fillCache;
|
|
1341
|
-
readOptions.async_io = true;
|
|
1342
|
-
readOptions.optimize_multiget_for_io = true;
|
|
1343
|
-
readOptions.value_size_soft_limit = highWaterMarkBytes;
|
|
1344
|
-
|
|
1345
1353
|
std::vector<rocksdb::Slice> keys;
|
|
1346
1354
|
keys.reserve(count);
|
|
1347
1355
|
for (uint32_t n = 0; n < count; n++) {
|
|
@@ -1351,7 +1359,7 @@ NAPI_METHOD(db_get_many) {
|
|
|
1351
1359
|
state.statuses.resize(count);
|
|
1352
1360
|
state.values.resize(count);
|
|
1353
1361
|
|
|
1354
|
-
database->db->MultiGet(readOptions, column, count, keys.data(), state.values.data(), state.statuses.data());
|
|
1362
|
+
database->db->MultiGet(state.readOptions, column, count, keys.data(), state.values.data(), state.statuses.data());
|
|
1355
1363
|
|
|
1356
1364
|
return rocksdb::Status::OK();
|
|
1357
1365
|
},
|
package/package.json
CHANGED
|
Binary file
|