summaryrefslogtreecommitdiff
path: root/src/database/include/database.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-30 15:47:38 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-30 15:52:26 +1100
commitb58c08150853b8055093dc116d407ffd543f8ec8 (patch)
tree9b82d130d2c833fc234bca0f12f0fba1b7202c4d /src/database/include/database.hpp
parent18d90051c9145ead86d4da701a2bc54f45e4fb66 (diff)
downloadtangara-fw-b58c08150853b8055093dc116d407ffd543f8ec8.tar.gz
add locale-aware colation to db indexes
Diffstat (limited to 'src/database/include/database.hpp')
-rw-r--r--src/database/include/database.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/database/include/database.hpp b/src/database/include/database.hpp
index cdf69db0..5eb3a8e9 100644
--- a/src/database/include/database.hpp
+++ b/src/database/include/database.hpp
@@ -16,6 +16,7 @@
#include <utility>
#include <vector>
+#include "collation.hpp"
#include "file_gatherer.hpp"
#include "index.hpp"
#include "leveldb/cache.h"
@@ -92,9 +93,10 @@ class Database {
ALREADY_OPEN,
FAILED_TO_OPEN,
};
- static auto Open(IFileGatherer& file_gatherer, ITagParser& tag_parser)
+ static auto Open(IFileGatherer& file_gatherer,
+ ITagParser& tag_parser,
+ locale::ICollator& collator)
-> cpp::result<Database*, DatabaseError>;
- static auto Open() -> cpp::result<Database*, DatabaseError>;
static auto Destroy() -> void;
@@ -136,11 +138,13 @@ class Database {
// Not owned.
IFileGatherer& file_gatherer_;
ITagParser& tag_parser_;
+ locale::ICollator& collator_;
Database(leveldb::DB* db,
leveldb::Cache* cache,
IFileGatherer& file_gatherer,
ITagParser& tag_parser,
+ locale::ICollator& collator,
std::shared_ptr<tasks::Worker> worker);
auto dbMintNewTrackId() -> TrackId;