@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.
- package/binding.cc +67 -25
- package/chained-batch.js +1 -1
- package/deps/rocksdb/rocksdb/CMakeLists.txt +3 -0
- package/deps/rocksdb/rocksdb/Makefile +3 -0
- package/deps/rocksdb/rocksdb/TARGETS +10 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +17 -7
- package/deps/rocksdb/rocksdb/cache/cache_entry_roles.cc +2 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.cc +1 -0
- package/deps/rocksdb/rocksdb/cache/charged_cache.cc +117 -0
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +121 -0
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +270 -180
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +412 -124
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +1 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +2 -2
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +71 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +11 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +21 -14
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +68 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_source.h +16 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +519 -12
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +120 -0
- package/deps/rocksdb/rocksdb/db/builder.cc +15 -5
- package/deps/rocksdb/rocksdb/db/builder.h +3 -0
- package/deps/rocksdb/rocksdb/db/c.cc +18 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +18 -0
- package/deps/rocksdb/rocksdb/db/column_family.h +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +9 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +15 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +36 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +50 -13
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +12 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +8 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +13 -17
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +26 -9
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +93 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +16 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +17 -5
- package/deps/rocksdb/rocksdb/db/db_test.cc +0 -3
- package/deps/rocksdb/rocksdb/db/db_test2.cc +39 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +9 -0
- package/deps/rocksdb/rocksdb/db/db_test_util.h +2 -0
- package/deps/rocksdb/rocksdb/db/dbformat.cc +0 -38
- package/deps/rocksdb/rocksdb/db/dbformat.h +14 -13
- package/deps/rocksdb/rocksdb/db/dbformat_test.cc +5 -2
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +13 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/flush_job.cc +19 -15
- package/deps/rocksdb/rocksdb/db/flush_job.h +7 -0
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +21 -15
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +4 -3
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +9 -0
- package/deps/rocksdb/rocksdb/db/memtable_list.h +5 -0
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +53 -12
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +14 -2
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +10 -10
- package/deps/rocksdb/rocksdb/db/repair.cc +8 -6
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +890 -0
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +324 -0
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +186 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +23 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +74 -1
- package/deps/rocksdb/rocksdb/env/io_posix.cc +11 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +28 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +30 -23
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +3 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +26 -26
- package/deps/rocksdb/rocksdb/options/cf_options.cc +14 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -56
- package/deps/rocksdb/rocksdb/options/db_options.cc +4 -5
- package/deps/rocksdb/rocksdb/options/options.cc +11 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +8 -0
- package/deps/rocksdb/rocksdb/options/options_helper.h +4 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +4 -0
- package/deps/rocksdb/rocksdb/options/options_test.cc +4 -0
- package/deps/rocksdb/rocksdb/src.mk +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +6 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +4 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +36 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +36 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +14 -3
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +1 -1
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +5 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -0
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +10 -7
- package/deps/rocksdb/rocksdb/table/table_builder.h +7 -3
- package/deps/rocksdb/rocksdb/table/table_properties.cc +9 -0
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +3 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +58 -30
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +20 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +29 -154
- package/deps/rocksdb/rocksdb/util/rate_limiter.h +16 -34
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +0 -92
- package/deps/rocksdb/rocksdb/util/timer.h +6 -0
- package/deps/rocksdb/rocksdb/util/vector_iterator.h +4 -3
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -45
- package/deps/rocksdb/rocksdb/utilities/debug.cc +40 -0
- package/deps/rocksdb/rocksdb.gyp +2 -0
- package/index.js +4 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- 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, ©));
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
190
|
-
|
|
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
|
-
|
|
215
|
-
|
|
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) {
|
package/deps/rocksdb/rocksdb.gyp
CHANGED
|
@@ -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
|
Binary file
|
|
Binary file
|