Tkrzw
|
File secondary index implementation with TreeDBM. More...
#include <tkrzw_index.h>
Classes | |
class | Iterator |
Iterator for each record. More... | |
Public Member Functions | |
Status | Open (const std::string &path, bool writable, int32_t options=File::OPEN_DEFAULT, const TreeDBM::TuningParameters &tuning_params=TreeDBM::TuningParameters()) |
Opens a database file. More... | |
Status | Close () |
Closes the database file. More... | |
bool | Check (std::string_view key, std::string_view value) |
Checks whether a record exists in the index. More... | |
std::vector< std::string > | GetValues (std::string_view key, size_t max=0) |
Gets all values of records of a key. More... | |
Status | Add (std::string_view key, std::string_view value) |
Adds a record. More... | |
Status | Remove (std::string_view key, std::string_view value) |
Removes a record. More... | |
Status | Clear () |
Removes all records. More... | |
size_t | Count () |
Gets the number of records. More... | |
std::unique_ptr< Iterator > | MakeIterator () |
Makes an iterator for each record. More... | |
File secondary index implementation with TreeDBM.
All operations are thread-safe; Multiple threads can access the same database concurrently.
Status tkrzw::FileIndex::Open | ( | const std::string & | path, |
bool | writable, | ||
int32_t | options = File::OPEN_DEFAULT , |
||
const TreeDBM::TuningParameters & | tuning_params = TreeDBM::TuningParameters() |
||
) |
Opens a database file.
path | A path of the file. |
writable | If true, the file is writable. If false, it is read-only. |
options | Bit-sum options for opening the file. |
tuning_params | A structure for tuning parameters. |
Status tkrzw::FileIndex::Close | ( | ) |
Closes the database file.
bool tkrzw::FileIndex::Check | ( | std::string_view | key, |
std::string_view | value | ||
) |
Checks whether a record exists in the index.
key | The key of the record. |
value | The value of the record. |
std::vector< std::string > tkrzw::FileIndex::GetValues | ( | std::string_view | key, |
size_t | max = 0 |
||
) |
Gets all values of records of a key.
key | The key to look for. |
max | The maximum number of values to get. 0 means unlimited. |
Status tkrzw::FileIndex::Add | ( | std::string_view | key, |
std::string_view | value | ||
) |
Adds a record.
key | The key of the record. This can be an arbitrary expression to search the index. |
value | The value of the record. This should be a primary value of another database. |
Status tkrzw::FileIndex::Remove | ( | std::string_view | key, |
std::string_view | value | ||
) |
Removes a record.
key | The key of the record. |
value | The value of the record. |
Status tkrzw::FileIndex::Clear | ( | ) |
Removes all records.
size_t tkrzw::FileIndex::Count | ( | ) |
Gets the number of records.
std::unique_ptr< FileIndex::Iterator > tkrzw::FileIndex::MakeIterator | ( | ) |
Makes an iterator for each record.