23 virtual bool Jump(
const string& key) = 0;
33class Db :
public Class<Db, const string&> {
36 virtual ~Db() =
default;
49 virtual bool MetaFetch(
const string& key,
string* value) = 0;
50 virtual bool MetaUpdate(
const string& key,
const string& value) = 0;
55 virtual bool Fetch(
const string& key,
string* value) = 0;
56 virtual bool Update(
const string& key,
const string& value) = 0;
57 virtual bool Erase(
const string& key) = 0;
101 path DbFilePath(
const string& name,
const string& extension)
const;
107template <
class DbClass>
112 DbClass*
Create(
const string& name)
override {
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
std::unique_ptr< T > the
Definition common.h:58
Definition component.h:21
bool MatchesPrefix(const string &key)
Definition db.cc:18
virtual bool exhausted()=0
virtual ~DbAccessor()=default
string prefix_
Definition db.h:30
virtual bool Jump(const string &key)=0
DbAccessor(const string &prefix)
Definition db.h:19
virtual bool GetNextRecord(string *key, string *value)=0
path file_path_
Definition db.h:69
virtual bool MetaUpdate(const string &key, const string &value)=0
string name_
Definition db.h:68
const string & name() const
Definition db.h:59
bool loaded() const
Definition db.h:61
bool readonly_
Definition db.h:71
virtual bool Fetch(const string &key, string *value)=0
virtual an< DbAccessor > Query(const string &key)=0
virtual bool Restore(const path &snapshot_file)=0
virtual bool Backup(const path &snapshot_file)=0
void enable()
Definition db.h:65
Db(const path &file_path, const string &name)
Definition db.cc:39
virtual an< DbAccessor > QueryMetadata()=0
virtual RIME_DLL bool Remove()
Definition db.cc:46
virtual bool Update(const string &key, const string &value)=0
virtual bool Erase(const string &key)=0
virtual bool CreateMetadata()
Definition db.cc:54
RIME_DLL bool Exists() const
Definition db.cc:42
bool loaded_
Definition db.h:70
virtual bool MetaFetch(const string &key, string *value)=0
bool disabled() const
Definition db.h:63
void disable()
Definition db.h:64
bool disabled_
Definition db.h:72
const path & file_path() const
Definition db.h:60
virtual an< DbAccessor > QueryAll()=0
virtual bool OpenReadOnly()=0
bool readonly() const
Definition db.h:62
virtual bool BeginTransaction()
Definition db.h:79
virtual bool CommitTransaction()
Definition db.h:81
virtual bool AbortTransaction()
Definition db.h:80
bool in_transaction() const
Definition db.h:82
virtual ~Transactional()=default
bool in_transaction_
Definition db.h:85
virtual ~Recoverable()=default
path DbFilePath(const string &name, const string &extension) const
Definition db.cc:32
DbComponentBase()
Definition db.cc:26
the< ResourceResolver > db_resource_resolver_
Definition db.h:104
virtual string extension() const
DbClass * Create(const string &name) override
Definition db.h:112