Make levelDb compatible with Unicode paths.

PiperOrigin-RevId: 766424342
This commit is contained in:
Francis Tsui
2025-06-02 18:31:15 -07:00
committed by Copybara-Service
parent 46d7270fdc
commit e96ebef1d3
2 changed files with 13 additions and 2 deletions
+7 -1
View File
@@ -37,7 +37,13 @@ cc_library(
"@com_google_absl//absl/strings",
"@com_google_absl//absl/synchronization",
"@com_google_protobuf//:protobuf_lite",
],
] + select({
"@platforms//os:windows": [
"//location/nearby/apps/better_together/windows/common:leveldb_env_windows",
],
"//conditions:default": [
],
}),
)
proto_library(
+6 -1
View File
@@ -29,6 +29,9 @@
#include "third_party/leveldb/include/slice.h"
#include "third_party/leveldb/include/status.h"
#include "internal/data/data_set.h"
#if defined(_WIN32)
#include "location/nearby/apps/better_together/windows/common/leveldb_env_windows.h"
#endif // defined(_WIN32)
#include "internal/platform/logging.h"
#include "google/protobuf/message_lite.h"
@@ -80,7 +83,9 @@ void LeveldbDataSet<T, isMessageLite>::Initialize(
absl::AnyInvocable<void(InitStatus) &&> callback) {
leveldb::Options options;
options.create_if_missing = true;
#if defined(_WIN32)
options.env = nearby::windows::WindowsEnv::Default();
#endif // defined(_WIN32)
leveldb::DB* db;
leveldb::Status status = leveldb::DB::Open(options, path_, &db);
db_ = std::unique_ptr<leveldb::DB>(db);