diff options
Diffstat (limited to 'src/kv/RocksDBStore.h')
-rw-r--r-- | src/kv/RocksDBStore.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/kv/RocksDBStore.h b/src/kv/RocksDBStore.h index a8468a25d4d..50b91be2bf6 100644 --- a/src/kv/RocksDBStore.h +++ b/src/kv/RocksDBStore.h @@ -299,6 +299,12 @@ public: const std::string &k, const ceph::bufferlist &to_set_bl); public: + size_t get_count() const override { + return bat.Count(); + } + size_t get_size_bytes() const override { + return bat.GetDataSize(); + } void set( const std::string &prefix, const std::string &k, @@ -380,10 +386,13 @@ public: int next() override; int prev() override; std::string key() override; + std::string_view key_as_sv() override; std::pair<std::string,std::string> raw_key() override; + std::pair<std::string_view,std::string_view> raw_key_as_sv() override; bool raw_key_is_prefixed(const std::string &prefix) override; ceph::bufferlist value() override; ceph::bufferptr value_as_ptr() override; + std::string_view value_as_sv() override; int status() override; size_t key_size() override; size_t value_size() override; @@ -413,6 +422,7 @@ public: } static int split_key(rocksdb::Slice in, std::string *prefix, std::string *key); + static int split_key(rocksdb::Slice in, std::string_view *prefix, std::string_view *key); static std::string past_prefix(const std::string &prefix); |