Merge pull request #945 from xiong-ang:master

PiperOrigin-RevId: 420645727
This commit is contained in:
Victor Costan 2022-01-10 02:29:23 +00:00
commit 56f2394250

View File

@ -369,6 +369,7 @@ leveldb::Iterator* it = db->NewIterator(options);
for (it->SeekToFirst(); it->Valid(); it->Next()) { for (it->SeekToFirst(); it->Valid(); it->Next()) {
... ...
} }
delete it;
``` ```
### Key Layout ### Key Layout
@ -424,21 +425,21 @@ spaces. For example:
```c++ ```c++
class CustomFilterPolicy : public leveldb::FilterPolicy { class CustomFilterPolicy : public leveldb::FilterPolicy {
private: private:
FilterPolicy* builtin_policy_; leveldb::FilterPolicy* builtin_policy_;
public: public:
CustomFilterPolicy() : builtin_policy_(NewBloomFilterPolicy(10)) {} CustomFilterPolicy() : builtin_policy_(leveldb::NewBloomFilterPolicy(10)) {}
~CustomFilterPolicy() { delete builtin_policy_; } ~CustomFilterPolicy() { delete builtin_policy_; }
const char* Name() const { return "IgnoreTrailingSpacesFilter"; } const char* Name() const { return "IgnoreTrailingSpacesFilter"; }
void CreateFilter(const Slice* keys, int n, std::string* dst) const { void CreateFilter(const leveldb::Slice* keys, int n, std::string* dst) const {
// Use builtin bloom filter code after removing trailing spaces // Use builtin bloom filter code after removing trailing spaces
std::vector<Slice> trimmed(n); std::vector<leveldb::Slice> trimmed(n);
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
trimmed[i] = RemoveTrailingSpaces(keys[i]); trimmed[i] = RemoveTrailingSpaces(keys[i]);
} }
return builtin_policy_->CreateFilter(trimmed.data(), n, dst); builtin_policy_->CreateFilter(trimmed.data(), n, dst);
} }
}; };
``` ```