|
| StdHashDBM (int64_t num_buckets=-1) |
| Default constructor. More...
|
|
| StdHashDBM (std::unique_ptr< File > file, int64_t num_buckets=-1) |
| Constructor with a file object. More...
|
|
| ~StdHashDBM () |
| Destructor. More...
|
|
| StdHashDBM (const StdHashDBM &rhs)=delete |
| Copy and assignment are disabled. More...
|
|
StdHashDBM & | operator= (const StdHashDBM &rhs)=delete |
|
Status | Open (const std::string &path, bool writable, int32_t options=File::OPEN_DEFAULT) override |
| Opens a database file. More...
|
|
Status | Close () override |
| Closes the database file. More...
|
|
Status | Process (std::string_view key, RecordProcessor *proc, bool writable) override |
| Processes a record with a processor. More...
|
|
Status | ProcessMulti (const std::vector< std::pair< std::string_view, DBM::RecordProcessor * >> &key_proc_pairs, bool writable) override |
| Processes multiple records with processors. More...
|
|
Status | ProcessFirst (RecordProcessor *proc, bool writable) override |
| Processes the first record with a processor. More...
|
|
Status | ProcessEach (RecordProcessor *proc, bool writable) override |
| Processes each and every record in the database with a processor. More...
|
|
Status | Count (int64_t *count) override |
| Gets the number of records. More...
|
|
Status | GetFileSize (int64_t *size) override |
| Gets the current file size of the database. More...
|
|
Status | GetFilePath (std::string *path) override |
| Gets the path of the database file. More...
|
|
Status | GetTimestamp (double *timestamp) override |
| Gets the timestamp in seconds of the last modified time. More...
|
|
Status | Clear () override |
| Removes all records. More...
|
|
Status | Rebuild () override |
| Rebuilds the entire database. More...
|
|
Status | ShouldBeRebuilt (bool *tobe) override |
| Checks whether the database should be rebuilt. More...
|
|
Status | Synchronize (bool hard, FileProcessor *proc=nullptr) override |
| Synchronizes the content of the database to the file system. More...
|
|
std::vector< std::pair< std::string, std::string > > | Inspect () override |
| Inspects the database. More...
|
|
bool | IsOpen () const override |
| Checks whether the database is open. More...
|
|
bool | IsWritable () const override |
| Checks whether the database is writable. More...
|
|
bool | IsHealthy () const override |
| Checks whether the database condition is healthy. More...
|
|
bool | IsOrdered () const override |
| Checks whether ordered operations are supported. More...
|
|
std::unique_ptr< DBM::Iterator > | MakeIterator () override |
| Makes an iterator for each record. More...
|
|
std::unique_ptr< DBM > | MakeDBM () const override |
| Makes a new DBM object of the same concrete class. More...
|
|
UpdateLogger * | GetUpdateLogger () const override |
| Gets the logger to write all update operations. More...
|
|
void | SetUpdateLogger (UpdateLogger *update_logger) override |
| Sets the logger to write all update operations. More...
|
|
File * | GetInternalFile () const |
| Gets the pointer to the internal file object. More...
|
|
virtual | ~DBM ()=default |
| Destructor. More...
|
|
virtual Status | Process (std::string_view key, RecordLambdaType rec_lambda, bool writable) |
| Processes a record with a lambda function. More...
|
|
virtual Status | Get (std::string_view key, std::string *value=nullptr) |
| Gets the value of a record of a key. More...
|
|
virtual std::string | GetSimple (std::string_view key, std::string_view default_value="") |
| Gets the value of a record of a key, in a simple way. More...
|
|
virtual Status | GetMulti (const std::vector< std::string_view > &keys, std::map< std::string, std::string > *records) |
| Gets the values of multiple records of keys, with a string view vector. More...
|
|
virtual Status | GetMulti (const std::initializer_list< std::string_view > &keys, std::map< std::string, std::string > *records) |
| Gets the values of multiple records of keys, with an initializer list. More...
|
|
virtual Status | GetMulti (const std::vector< std::string > &keys, std::map< std::string, std::string > *records) |
| Gets the values of multiple records of keys, with a string vector. More...
|
|
virtual Status | Set (std::string_view key, std::string_view value, bool overwrite=true, std::string *old_value=nullptr) |
| Sets a record of a key and a value. More...
|
|
virtual Status | SetMulti (const std::map< std::string_view, std::string_view > &records, bool overwrite=true) |
| Sets multiple records, with a map of string views. More...
|
|
virtual Status | SetMulti (const std::initializer_list< std::pair< std::string_view, std::string_view >> &records, bool overwrite=true) |
| Sets multiple records, with an initializer list. More...
|
|
virtual Status | SetMulti (const std::map< std::string, std::string > &records, bool overwrite=true) |
| Sets multiple records, with a map of strings. More...
|
|
virtual Status | Remove (std::string_view key, std::string *old_value=nullptr) |
| Removes a record of a key. More...
|
|
virtual Status | RemoveMulti (const std::vector< std::string_view > &keys) |
| Removes records of keys, with a string view vector. More...
|
|
virtual Status | RemoveMulti (const std::initializer_list< std::string_view > &keys) |
| Removes records of keys, with an initializer list. More...
|
|
virtual Status | RemoveMulti (const std::vector< std::string > &keys) |
| Removes records of keys, with a string vector. More...
|
|
virtual Status | Append (std::string_view key, std::string_view value, std::string_view delim="") |
| Appends data at the end of a record of a key. More...
|
|
virtual Status | AppendMulti (const std::map< std::string_view, std::string_view > &records, std::string_view delim="") |
| Appends data to multiple records, with a map of string views. More...
|
|
virtual Status | AppendMulti (const std::initializer_list< std::pair< std::string_view, std::string_view >> &records, std::string_view delim="") |
| Appends data to multiple records, with an initializer list. More...
|
|
virtual Status | AppendMulti (const std::map< std::string, std::string > &records, std::string_view delim="") |
| Appends data to multiple records, with a map of strings. More...
|
|
virtual Status | CompareExchange (std::string_view key, std::string_view expected, std::string_view desired, std::string *actual=nullptr, bool *found=nullptr) |
| Compares the value of a record and exchanges if the condition meets. More...
|
|
virtual Status | Increment (std::string_view key, int64_t increment=1, int64_t *current=nullptr, int64_t initial=0) |
| Increments the numeric value of a record. More...
|
|
virtual int64_t | IncrementSimple (std::string_view key, int64_t increment=1, int64_t initial=0) |
| Increments the numeric value of a record, in a simple way. More...
|
|
virtual Status | ProcessMulti (const std::vector< std::pair< std::string_view, RecordProcessor * >> &key_proc_pairs, bool writable)=0 |
| Processes multiple records with processors. More...
|
|
virtual Status | ProcessMulti (const std::vector< std::pair< std::string_view, RecordLambdaType >> &key_lambda_pairs, bool writable) |
| Processes multiple records with lambda functions. More...
|
|
virtual Status | CompareExchangeMulti (const std::vector< std::pair< std::string_view, std::string_view >> &expected, const std::vector< std::pair< std::string_view, std::string_view >> &desired) |
| Compares the values of records and exchanges if the condition meets. More...
|
|
virtual Status | Rekey (std::string_view old_key, std::string_view new_key, bool overwrite=true, bool copying=false, std::string *value=nullptr) |
| Changes the key of a record. More...
|
|
virtual Status | ProcessFirst (RecordLambdaType rec_lambda, bool writable) |
| Processes the first record with a lambda function. More...
|
|
virtual Status | PopFirst (std::string *key=nullptr, std::string *value=nullptr) |
| Gets the first record and removes it. More...
|
|
virtual Status | PushLast (std::string_view value, double wtime=-1, std::string *key=nullptr) |
| Adds a record with a key of the current timestamp. More...
|
|
virtual Status | ProcessEach (RecordLambdaType rec_lambda, bool writable) |
| Processes each and every record in the database with a lambda function. More...
|
|
virtual int64_t | CountSimple () |
| Gets the number of records, in a simple way. More...
|
|
virtual int64_t | GetFileSizeSimple () |
| Gets the current file size of the database, in a simple way. More...
|
|
virtual std::string | GetFilePathSimple () |
| Gets the path of the database file, in a simple way. More...
|
|
virtual double | GetTimestampSimple () |
| Gets the timestamp of the last modified time, in a simple way. More...
|
|
virtual bool | ShouldBeRebuiltSimple () |
| Checks whether the database should be rebuilt, in a simple way. More...
|
|
virtual Status | CopyFileData (const std::string &dest_path, bool sync_hard=false) |
| Copies the content of the database file to another file. More...
|
|
virtual Status | Export (DBM *dest_dbm) |
| Exports all records to another database. More...
|
|
const std::type_info & | GetType () const |
| Gets the type information of the actual class. More...
|
|
On-memory database manager implemented with std::unordered_map.
All operations are thread-safe; Multiple threads can access the same database concurrently.