Skip to content

Commit 19de6a7

Browse files
committed
Remove MemTableRep::GetIterator(const Slice& slice)
Summary: It seems to me that when ever function MemTableRep::GetIterator(const Slice& slice) is used, we can use MemTableRep::GetDynamicPrefixIterator() instead. Just delete it to simplify the codes. Test Plan: make all check Reviewers: yhchiang, ljin Reviewed By: ljin Subscribers: xjin, dhruba, haobo, leveldb Differential Revision: https://reviews.facebook.net/D19281
1 parent 55531fd commit 19de6a7

File tree

7 files changed

+4
-39
lines changed

7 files changed

+4
-39
lines changed

db/memtable.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ void MemTable::Update(SequenceNumber seq,
449449
Slice mem_key = lkey.memtable_key();
450450

451451
std::unique_ptr<MemTableRep::Iterator> iter(
452-
table_->GetIterator(lkey.user_key()));
452+
table_->GetDynamicPrefixIterator());
453453
iter->Seek(lkey.internal_key(), mem_key.data());
454454

455455
if (iter->Valid()) {
@@ -508,7 +508,7 @@ bool MemTable::UpdateCallback(SequenceNumber seq,
508508
Slice memkey = lkey.memtable_key();
509509

510510
std::unique_ptr<MemTableRep::Iterator> iter(
511-
table_->GetIterator(lkey.user_key()));
511+
table_->GetDynamicPrefixIterator());
512512
iter->Seek(lkey.internal_key(), memkey.data());
513513

514514
if (iter->Valid()) {
@@ -583,7 +583,7 @@ size_t MemTable::CountSuccessiveMergeEntries(const LookupKey& key) {
583583
// reps). By passing in the user key, we allow efficient iterator creation.
584584
// The iterator only needs to be ordered within the same user key.
585585
std::unique_ptr<MemTableRep::Iterator> iter(
586-
table_->GetIterator(key.user_key()));
586+
table_->GetDynamicPrefixIterator());
587587
iter->Seek(key.internal_key(), memkey.data());
588588

589589
size_t num_successive_merges = 0;
@@ -610,7 +610,7 @@ size_t MemTable::CountSuccessiveMergeEntries(const LookupKey& key) {
610610

611611
void MemTableRep::Get(const LookupKey& k, void* callback_args,
612612
bool (*callback_func)(void* arg, const char* entry)) {
613-
auto iter = GetIterator(k.user_key());
613+
auto iter = GetDynamicPrefixIterator();
614614
for (iter->Seek(k.internal_key(), k.memtable_key().data());
615615
iter->Valid() && callback_func(callback_args, iter->key());
616616
iter->Next()) {

include/rocksdb/memtablerep.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,6 @@ class MemTableRep {
148148
// all the states but those allocated in arena.
149149
virtual Iterator* GetIterator(Arena* arena = nullptr) = 0;
150150

151-
// Return an iterator over at least the keys with the specified user key. The
152-
// iterator may also allow access to other keys, but doesn't have to. Default:
153-
// GetIterator().
154-
virtual Iterator* GetIterator(const Slice& user_key) {
155-
return GetIterator(nullptr);
156-
}
157-
158151
// Return an iterator that has a special Seek semantics. The result of
159152
// a Seek might only include keys with the same prefix as the target key.
160153
// arena: If not null, the arena needs to be used to allocate the Iterator.

util/hash_cuckoo_rep.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,6 @@ class HashCuckooRep : public MemTableRep {
244244
bool QuickInsert(const char* internal_key, const Slice& user_key,
245245
int bucket_ids[], const int initial_hash_id);
246246

247-
// Unhide default implementations of GetIterator
248-
using MemTableRep::GetIterator;
249247
// Returns the pointer to the internal iterator to the buckets where buckets
250248
// are sorted according to the user specified KeyComparator. Note that
251249
// any insert after this function call may affect the sorted nature of

util/hash_linklist_rep.cc

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ class HashLinkListRep : public MemTableRep {
7575

7676
virtual MemTableRep::Iterator* GetIterator(Arena* arena = nullptr) override;
7777

78-
virtual MemTableRep::Iterator* GetIterator(const Slice& slice) override;
79-
8078
virtual MemTableRep::Iterator* GetDynamicPrefixIterator(
8179
Arena* arena = nullptr) override;
8280

@@ -466,14 +464,6 @@ MemTableRep::Iterator* HashLinkListRep::GetIterator(Arena* alloc_arena) {
466464
}
467465
}
468466

469-
MemTableRep::Iterator* HashLinkListRep::GetIterator(const Slice& slice) {
470-
auto bucket = GetBucket(transform_->Transform(slice));
471-
if (bucket == nullptr) {
472-
return new EmptyIterator();
473-
}
474-
return new Iterator(this, bucket);
475-
}
476-
477467
MemTableRep::Iterator* HashLinkListRep::GetDynamicPrefixIterator(
478468
Arena* alloc_arena) {
479469
if (alloc_arena == nullptr) {

util/hash_skiplist_rep.cc

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ class HashSkipListRep : public MemTableRep {
4040

4141
virtual MemTableRep::Iterator* GetIterator(Arena* arena = nullptr) override;
4242

43-
virtual MemTableRep::Iterator* GetIterator(const Slice& slice) override;
44-
4543
virtual MemTableRep::Iterator* GetDynamicPrefixIterator(
4644
Arena* arena = nullptr) override;
4745

@@ -310,14 +308,6 @@ MemTableRep::Iterator* HashSkipListRep::GetIterator(Arena* arena) {
310308
}
311309
}
312310

313-
MemTableRep::Iterator* HashSkipListRep::GetIterator(const Slice& slice) {
314-
auto bucket = GetBucket(transform_->Transform(slice));
315-
if (bucket == nullptr) {
316-
return new EmptyIterator();
317-
}
318-
return new Iterator(bucket, false);
319-
}
320-
321311
MemTableRep::Iterator* HashSkipListRep::GetDynamicPrefixIterator(Arena* arena) {
322312
if (arena == nullptr) {
323313
return new DynamicIterator(*this);

util/skiplistrep.cc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,6 @@ class SkipListRep : public MemTableRep {
106106
std::string tmp_; // For passing to EncodeKey
107107
};
108108

109-
// Unhide default implementations of GetIterator
110-
using MemTableRep::GetIterator;
111-
112109
virtual MemTableRep::Iterator* GetIterator(Arena* arena = nullptr) override {
113110
if (arena == nullptr) {
114111
return new SkipListRep::Iterator(&skip_list_);

util/vectorrep.cc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,6 @@ class VectorRep : public MemTableRep {
9191
virtual void SeekToLast() override;
9292
};
9393

94-
// Unhide default implementations of GetIterator()
95-
using MemTableRep::GetIterator;
96-
9794
// Return an iterator over the keys in this representation.
9895
virtual MemTableRep::Iterator* GetIterator(Arena* arena) override;
9996

0 commit comments

Comments
 (0)