@nxtedition/rocksdb 7.0.26 → 7.0.29

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.
Files changed (121) hide show
  1. package/binding.cc +67 -25
  2. package/chained-batch.js +1 -1
  3. package/deps/rocksdb/rocksdb/CMakeLists.txt +3 -0
  4. package/deps/rocksdb/rocksdb/Makefile +3 -0
  5. package/deps/rocksdb/rocksdb/TARGETS +10 -0
  6. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +17 -7
  7. package/deps/rocksdb/rocksdb/cache/cache_entry_roles.cc +2 -0
  8. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.cc +1 -0
  9. package/deps/rocksdb/rocksdb/cache/charged_cache.cc +117 -0
  10. package/deps/rocksdb/rocksdb/cache/charged_cache.h +121 -0
  11. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +270 -180
  12. package/deps/rocksdb/rocksdb/cache/clock_cache.h +412 -124
  13. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +1 -0
  14. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +1 -1
  15. package/deps/rocksdb/rocksdb/cache/lru_cache.h +2 -2
  16. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
  17. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +1 -1
  18. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +71 -9
  19. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +11 -2
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +21 -14
  21. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +68 -7
  22. package/deps/rocksdb/rocksdb/db/blob/blob_source.h +16 -0
  23. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +519 -12
  24. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +120 -0
  25. package/deps/rocksdb/rocksdb/db/builder.cc +15 -5
  26. package/deps/rocksdb/rocksdb/db/builder.h +3 -0
  27. package/deps/rocksdb/rocksdb/db/c.cc +18 -0
  28. package/deps/rocksdb/rocksdb/db/c_test.c +18 -0
  29. package/deps/rocksdb/rocksdb/db/column_family.h +2 -0
  30. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +3 -2
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +9 -4
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +15 -10
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +36 -34
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +50 -13
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +12 -0
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +8 -1
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +2 -1
  38. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +13 -17
  39. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +26 -9
  40. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +0 -11
  41. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +93 -0
  42. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +16 -1
  43. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3 -8
  44. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -1
  45. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +17 -5
  46. package/deps/rocksdb/rocksdb/db/db_test.cc +0 -3
  47. package/deps/rocksdb/rocksdb/db/db_test2.cc +39 -12
  48. package/deps/rocksdb/rocksdb/db/db_test_util.cc +9 -0
  49. package/deps/rocksdb/rocksdb/db/db_test_util.h +2 -0
  50. package/deps/rocksdb/rocksdb/db/dbformat.cc +0 -38
  51. package/deps/rocksdb/rocksdb/db/dbformat.h +14 -13
  52. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +5 -2
  53. package/deps/rocksdb/rocksdb/db/event_helpers.cc +13 -1
  54. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +0 -10
  55. package/deps/rocksdb/rocksdb/db/flush_job.cc +19 -15
  56. package/deps/rocksdb/rocksdb/db/flush_job.h +7 -0
  57. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +21 -15
  58. package/deps/rocksdb/rocksdb/db/forward_iterator.h +4 -3
  59. package/deps/rocksdb/rocksdb/db/memtable_list.cc +9 -0
  60. package/deps/rocksdb/rocksdb/db/memtable_list.h +5 -0
  61. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +53 -12
  62. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +14 -2
  63. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +10 -10
  64. package/deps/rocksdb/rocksdb/db/repair.cc +8 -6
  65. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +890 -0
  66. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +324 -0
  67. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +186 -0
  68. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +2 -0
  69. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -4
  70. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +23 -2
  71. package/deps/rocksdb/rocksdb/env/env_test.cc +74 -1
  72. package/deps/rocksdb/rocksdb/env/io_posix.cc +11 -8
  73. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +28 -0
  74. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +14 -1
  75. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +4 -4
  76. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +30 -23
  77. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1 -1
  78. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +3 -13
  79. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
  80. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +1 -2
  81. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -0
  82. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  83. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +26 -26
  84. package/deps/rocksdb/rocksdb/options/cf_options.cc +14 -1
  85. package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
  86. package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -56
  87. package/deps/rocksdb/rocksdb/options/db_options.cc +4 -5
  88. package/deps/rocksdb/rocksdb/options/options.cc +11 -1
  89. package/deps/rocksdb/rocksdb/options/options_helper.cc +8 -0
  90. package/deps/rocksdb/rocksdb/options/options_helper.h +4 -0
  91. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +4 -0
  92. package/deps/rocksdb/rocksdb/options/options_test.cc +4 -0
  93. package/deps/rocksdb/rocksdb/src.mk +3 -0
  94. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +6 -1
  95. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +4 -0
  96. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +36 -3
  97. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +36 -1
  98. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +14 -3
  99. package/deps/rocksdb/rocksdb/table/internal_iterator.h +1 -1
  100. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -0
  101. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +5 -0
  102. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -0
  103. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +10 -7
  104. package/deps/rocksdb/rocksdb/table/table_builder.h +7 -3
  105. package/deps/rocksdb/rocksdb/table/table_properties.cc +9 -0
  106. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +3 -2
  107. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +58 -30
  108. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +1 -0
  109. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +20 -0
  110. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +29 -154
  111. package/deps/rocksdb/rocksdb/util/rate_limiter.h +16 -34
  112. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +0 -92
  113. package/deps/rocksdb/rocksdb/util/timer.h +6 -0
  114. package/deps/rocksdb/rocksdb/util/vector_iterator.h +4 -3
  115. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -45
  116. package/deps/rocksdb/rocksdb/utilities/debug.cc +40 -0
  117. package/deps/rocksdb/rocksdb.gyp +2 -0
  118. package/index.js +4 -0
  119. package/package.json +1 -1
  120. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  121. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -15,11 +15,8 @@
15
15
  #include <limits>
16
16
 
17
17
  #include "db/db_test_util.h"
18
- #include "options/options_parser.h"
19
18
  #include "port/port.h"
20
- #include "rocksdb/convenience.h"
21
19
  #include "rocksdb/system_clock.h"
22
- #include "rocksdb/utilities/options_type.h"
23
20
  #include "test_util/sync_point.h"
24
21
  #include "test_util/testharness.h"
25
22
  #include "util/random.h"
@@ -466,95 +463,6 @@ TEST_F(RateLimiterTest, AutoTuneIncreaseWhenFull) {
466
463
  ASSERT_LT(new_bytes_per_sec, orig_bytes_per_sec);
467
464
  }
468
465
 
469
- TEST_F(RateLimiterTest, CreateGenericRateLimiterFromString) {
470
- std::shared_ptr<RateLimiter> limiter;
471
- ConfigOptions config_options;
472
- std::string limiter_id = GenericRateLimiter::kClassName();
473
- ASSERT_OK(RateLimiter::CreateFromString(config_options, limiter_id + ":1024",
474
- &limiter));
475
- ASSERT_NE(limiter, nullptr);
476
- ASSERT_EQ(limiter->GetBytesPerSecond(), 1024U);
477
- #ifndef ROCKSDB_LITE
478
- ASSERT_OK(RateLimiter::CreateFromString(
479
- config_options, "rate_bytes_per_sec=2048;id=" + limiter_id, &limiter));
480
- ASSERT_NE(limiter, nullptr);
481
- ASSERT_EQ(limiter->GetBytesPerSecond(), 2048U);
482
- ASSERT_NOK(RateLimiter::CreateFromString(
483
- config_options, "rate_bytes_per_sec=0;id=" + limiter_id, &limiter));
484
- ASSERT_NOK(RateLimiter::CreateFromString(
485
- config_options, "rate_bytes_per_sec=2048;fairness=0;id=" + limiter_id,
486
- &limiter));
487
-
488
- ASSERT_OK(
489
- RateLimiter::CreateFromString(config_options,
490
- "rate_bytes_per_sec=2048;refill_period_us="
491
- "1024;fairness=42;auto_tuned=true;"
492
- "mode=kReadsOnly;id=" +
493
- limiter_id,
494
- &limiter));
495
- ASSERT_NE(limiter, nullptr);
496
- auto opts =
497
- limiter->GetOptions<GenericRateLimiter::GenericRateLimiterOptions>();
498
- ASSERT_NE(opts, nullptr);
499
- ASSERT_EQ(opts->max_bytes_per_sec, 2048);
500
- ASSERT_EQ(opts->refill_period_us, 1024);
501
- ASSERT_EQ(opts->fairness, 42);
502
- ASSERT_EQ(opts->auto_tuned, true);
503
- ASSERT_TRUE(limiter->IsRateLimited(RateLimiter::OpType::kRead));
504
- ASSERT_FALSE(limiter->IsRateLimited(RateLimiter::OpType::kWrite));
505
- #endif // ROCKSDB_LITE
506
- }
507
-
508
- #ifndef ROCKSDB_LITE
509
- // This test is for a rate limiter that has no name (Name() returns "").
510
- // When the default Name() method is deprecated, this test should be removed.
511
- TEST_F(RateLimiterTest, NoNameRateLimiter) {
512
- static std::unordered_map<std::string, OptionTypeInfo> dummy_limiter_options =
513
- {
514
- {"dummy",
515
- {0, OptionType::kInt, OptionVerificationType::kNormal,
516
- OptionTypeFlags::kNone}},
517
- };
518
- class NoNameRateLimiter : public RateLimiter {
519
- public:
520
- explicit NoNameRateLimiter(bool do_register) {
521
- if (do_register) {
522
- RegisterOptions("", &dummy, &dummy_limiter_options);
523
- }
524
- }
525
- void SetBytesPerSecond(int64_t /*bytes_per_second*/) override {}
526
- int64_t GetSingleBurstBytes() const override { return 0; }
527
- int64_t GetTotalBytesThrough(const Env::IOPriority /*pri*/) const override {
528
- return 0;
529
- }
530
- int64_t GetTotalRequests(const Env::IOPriority /*pri*/) const override {
531
- return 0;
532
- }
533
- int64_t GetBytesPerSecond() const override { return 0; }
534
-
535
- private:
536
- int dummy;
537
- };
538
-
539
- ConfigOptions config_options;
540
- DBOptions db_opts, copy;
541
- db_opts.rate_limiter.reset(new NoNameRateLimiter(false));
542
- ASSERT_EQ(db_opts.rate_limiter->GetId(), "");
543
- ASSERT_EQ(db_opts.rate_limiter->ToString(config_options), "");
544
- db_opts.rate_limiter.reset(new NoNameRateLimiter(true));
545
- ASSERT_EQ(db_opts.rate_limiter->GetId(), "");
546
- ASSERT_EQ(db_opts.rate_limiter->ToString(config_options), "");
547
- std::string opt_str;
548
- ASSERT_OK(GetStringFromDBOptions(config_options, db_opts, &opt_str));
549
- ASSERT_OK(
550
- GetDBOptionsFromString(config_options, DBOptions(), opt_str, &copy));
551
- ASSERT_OK(
552
- RocksDBOptionsParser::VerifyDBOptions(config_options, db_opts, copy));
553
- ASSERT_EQ(copy.rate_limiter, nullptr);
554
- ASSERT_NE(copy.rate_limiter, db_opts.rate_limiter);
555
- }
556
- #endif // ROCKSDB_LITE
557
-
558
466
  } // namespace ROCKSDB_NAMESPACE
559
467
 
560
468
  int main(int argc, char** argv) {
@@ -186,6 +186,12 @@ class Timer {
186
186
  }
187
187
  return ret;
188
188
  }
189
+
190
+ bool TEST_HasVaildTask(const std::string& func_name) const {
191
+ InstrumentedMutexLock l(&mutex_);
192
+ auto it = map_.find(func_name);
193
+ return it != map_.end() && it->second->IsValid();
194
+ }
189
195
  #endif // NDEBUG
190
196
 
191
197
  private:
@@ -6,6 +6,7 @@
6
6
  #include <vector>
7
7
 
8
8
  #include "db/dbformat.h"
9
+ #include "rocksdb/comparator.h"
9
10
  #include "rocksdb/iterator.h"
10
11
  #include "rocksdb/slice.h"
11
12
  #include "table/internal_iterator.h"
@@ -16,7 +17,7 @@ namespace ROCKSDB_NAMESPACE {
16
17
  class VectorIterator : public InternalIterator {
17
18
  public:
18
19
  VectorIterator(std::vector<std::string> keys, std::vector<std::string> values,
19
- const Comparator* icmp = nullptr)
20
+ const CompareInterface* icmp = nullptr)
20
21
  : keys_(std::move(keys)),
21
22
  values_(std::move(values)),
22
23
  current_(keys_.size()),
@@ -90,7 +91,7 @@ class VectorIterator : public InternalIterator {
90
91
 
91
92
  private:
92
93
  struct IndexedKeyComparator {
93
- IndexedKeyComparator(const Comparator* c,
94
+ IndexedKeyComparator(const CompareInterface* c,
94
95
  const std::vector<std::string>* ks)
95
96
  : cmp(c), keys(ks) {}
96
97
 
@@ -106,7 +107,7 @@ class VectorIterator : public InternalIterator {
106
107
  return cmp->Compare(a, (*keys)[b]) < 0;
107
108
  }
108
109
 
109
- const Comparator* cmp;
110
+ const CompareInterface* cmp;
110
111
  const std::vector<std::string>* keys;
111
112
  };
112
113
 
@@ -186,54 +186,13 @@ class BackupEngineImpl {
186
186
  const std::shared_ptr<SystemClock>& backup_rate_limiter_clock,
187
187
  const std::shared_ptr<SystemClock>& restore_rate_limiter_clock) {
188
188
  if (backup_rate_limiter_clock) {
189
- assert(options_.backup_rate_limiter->IsInstanceOf(
190
- GenericRateLimiter::kClassName()));
191
- auto* backup_rate_limiter_options =
192
- options_.backup_rate_limiter
193
- ->GetOptions<GenericRateLimiter::GenericRateLimiterOptions>();
194
-
195
- assert(backup_rate_limiter_options);
196
- RateLimiter::Mode backup_rate_limiter_mode;
197
- if (!options_.backup_rate_limiter->IsRateLimited(
198
- RateLimiter::OpType::kRead)) {
199
- backup_rate_limiter_mode = RateLimiter::Mode::kWritesOnly;
200
- } else if (!options_.backup_rate_limiter->IsRateLimited(
201
- RateLimiter::OpType::kWrite)) {
202
- backup_rate_limiter_mode = RateLimiter::Mode::kReadsOnly;
203
- } else {
204
- backup_rate_limiter_mode = RateLimiter::Mode::kAllIo;
205
- }
206
- options_.backup_rate_limiter.reset(new GenericRateLimiter(
207
- backup_rate_limiter_options->max_bytes_per_sec,
208
- backup_rate_limiter_options->refill_period_us,
209
- backup_rate_limiter_options->fairness, backup_rate_limiter_mode,
210
- backup_rate_limiter_clock, backup_rate_limiter_options->auto_tuned));
189
+ static_cast<GenericRateLimiter*>(options_.backup_rate_limiter.get())
190
+ ->TEST_SetClock(backup_rate_limiter_clock);
211
191
  }
212
192
 
213
193
  if (restore_rate_limiter_clock) {
214
- assert(options_.restore_rate_limiter->IsInstanceOf(
215
- GenericRateLimiter::kClassName()));
216
- auto* restore_rate_limiter_options =
217
- options_.restore_rate_limiter
218
- ->GetOptions<GenericRateLimiter::GenericRateLimiterOptions>();
219
- assert(restore_rate_limiter_options);
220
-
221
- RateLimiter::Mode restore_rate_limiter_mode;
222
- if (!options_.restore_rate_limiter->IsRateLimited(
223
- RateLimiter::OpType::kRead)) {
224
- restore_rate_limiter_mode = RateLimiter::Mode::kWritesOnly;
225
- } else if (!options_.restore_rate_limiter->IsRateLimited(
226
- RateLimiter::OpType::kWrite)) {
227
- restore_rate_limiter_mode = RateLimiter::Mode::kReadsOnly;
228
- } else {
229
- restore_rate_limiter_mode = RateLimiter::Mode::kAllIo;
230
- }
231
- options_.restore_rate_limiter.reset(new GenericRateLimiter(
232
- restore_rate_limiter_options->max_bytes_per_sec,
233
- restore_rate_limiter_options->refill_period_us,
234
- restore_rate_limiter_options->fairness, restore_rate_limiter_mode,
235
- restore_rate_limiter_clock,
236
- restore_rate_limiter_options->auto_tuned));
194
+ static_cast<GenericRateLimiter*>(options_.restore_rate_limiter.get())
195
+ ->TEST_SetClock(restore_rate_limiter_clock);
237
196
  }
238
197
  }
239
198
 
@@ -8,9 +8,49 @@
8
8
  #include "rocksdb/utilities/debug.h"
9
9
 
10
10
  #include "db/db_impl/db_impl.h"
11
+ #include "rocksdb/utilities/options_type.h"
11
12
 
12
13
  namespace ROCKSDB_NAMESPACE {
13
14
 
15
+ static std::unordered_map<std::string, ValueType> value_type_string_map = {
16
+ {"TypeDeletion", ValueType::kTypeDeletion},
17
+ {"TypeValue", ValueType::kTypeValue},
18
+ {"TypeMerge", ValueType::kTypeMerge},
19
+ {"TypeLogData", ValueType::kTypeLogData},
20
+ {"TypeColumnFamilyDeletion", ValueType::kTypeColumnFamilyDeletion},
21
+ {"TypeColumnFamilyValue", ValueType::kTypeColumnFamilyValue},
22
+ {"TypeColumnFamilyMerge", ValueType::kTypeColumnFamilyMerge},
23
+ {"TypeSingleDeletion", ValueType::kTypeSingleDeletion},
24
+ {"TypeColumnFamilySingleDeletion",
25
+ ValueType::kTypeColumnFamilySingleDeletion},
26
+ {"TypeBeginPrepareXID", ValueType::kTypeBeginPrepareXID},
27
+ {"TypeEndPrepareXID", ValueType::kTypeEndPrepareXID},
28
+ {"TypeCommitXID", ValueType::kTypeCommitXID},
29
+ {"TypeRollbackXID", ValueType::kTypeRollbackXID},
30
+ {"TypeNoop", ValueType::kTypeNoop},
31
+ {"TypeColumnFamilyRangeDeletion",
32
+ ValueType::kTypeColumnFamilyRangeDeletion},
33
+ {"TypeRangeDeletion", ValueType::kTypeRangeDeletion},
34
+ {"TypeColumnFamilyBlobIndex", ValueType::kTypeColumnFamilyBlobIndex},
35
+ {"TypeBlobIndex", ValueType::kTypeBlobIndex},
36
+ {"TypeBeginPersistedPrepareXID", ValueType::kTypeBeginPersistedPrepareXID},
37
+ {"TypeBeginUnprepareXID", ValueType::kTypeBeginUnprepareXID},
38
+ {"TypeDeletionWithTimestamp", ValueType::kTypeDeletionWithTimestamp},
39
+ {"TypeCommitXIDAndTimestamp", ValueType::kTypeCommitXIDAndTimestamp},
40
+ {"TypeWideColumnEntity", ValueType::kTypeWideColumnEntity},
41
+ {"TypeColumnFamilyWideColumnEntity",
42
+ ValueType::kTypeColumnFamilyWideColumnEntity}};
43
+
44
+ std::string KeyVersion::GetTypeName() const {
45
+ std::string type_name;
46
+ if (SerializeEnum<ValueType>(value_type_string_map,
47
+ static_cast<ValueType>(type), &type_name)) {
48
+ return type_name;
49
+ } else {
50
+ return "Invalid";
51
+ }
52
+ }
53
+
14
54
  Status GetAllKeyVersions(DB* db, Slice begin_key, Slice end_key,
15
55
  size_t max_num_ikeys,
16
56
  std::vector<KeyVersion>* key_versions) {
@@ -165,6 +165,7 @@
165
165
  "rocksdb/cache/cache_entry_roles.cc",
166
166
  "rocksdb/cache/cache_key.cc",
167
167
  "rocksdb/cache/cache_reservation_manager.cc",
168
+ "rocksdb/cache/charged_cache.cc",
168
169
  "rocksdb/cache/clock_cache.cc",
169
170
  "rocksdb/cache/compressed_secondary_cache.cc",
170
171
  "rocksdb/cache/fast_lru_cache.cc",
@@ -237,6 +238,7 @@
237
238
  "rocksdb/db/range_del_aggregator.cc",
238
239
  "rocksdb/db/range_tombstone_fragmenter.cc",
239
240
  "rocksdb/db/repair.cc",
241
+ "rocksdb/db/seqno_to_time_mapping.cc",
240
242
  "rocksdb/db/snapshot_impl.cc",
241
243
  "rocksdb/db/table_cache.cc",
242
244
  "rocksdb/db/table_properties_collector.cc",
package/index.js CHANGED
@@ -145,6 +145,10 @@ class RocksLevel extends AbstractLevel {
145
145
  return binding.db_get_property(this[kContext], property)
146
146
  }
147
147
 
148
+ async flushWAL (options) {
149
+ binding.db_flush_wal(this[kContext], options)
150
+ }
151
+
148
152
  async query (options) {
149
153
  if (this.status !== 'open') {
150
154
  throw new ModuleError('Database is not open', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "7.0.26",
3
+ "version": "7.0.29",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
Binary file