This is an automated email from the ASF dual-hosted git repository.
maplefu pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git
The following commit(s) were added to refs/heads/unstable by this push:
new c588a6d8 Fix GetOptions in C++17 build (#2213)
c588a6d8 is described below
commit c588a6d8f46f92627bb3928ea3f6cf1e7ef3ff8a
Author: mwish <[email protected]>
AuthorDate: Mon Apr 1 19:32:30 2024 +0800
Fix GetOptions in C++17 build (#2213)
Co-authored-by: hulk <[email protected]>
---
src/storage/redis_db.cc | 2 +-
src/storage/redis_db.h | 3 +++
src/types/redis_bitmap.cc | 8 ++++----
src/types/redis_hash.cc | 8 ++++----
src/types/redis_list.cc | 4 ++--
src/types/redis_set.cc | 4 ++--
src/types/redis_sortedint.cc | 6 +++---
src/types/redis_zset.cc | 8 ++++----
8 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/src/storage/redis_db.cc b/src/storage/redis_db.cc
index e75a19b0..4912199c 100644
--- a/src/storage/redis_db.cc
+++ b/src/storage/redis_db.cc
@@ -636,7 +636,7 @@ rocksdb::Status SubKeyScanner::Scan(RedisType type, const
Slice &user_key, const
std::string ns_key = AppendNamespacePrefix(user_key);
Metadata metadata(type, false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
{type}, ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, {type},
ns_key, &metadata);
if (!s.ok()) return s;
rocksdb::ReadOptions read_options = storage_->DefaultScanOptions();
diff --git a/src/storage/redis_db.h b/src/storage/redis_db.h
index 493b83c3..6878113b 100644
--- a/src/storage/redis_db.h
+++ b/src/storage/redis_db.h
@@ -40,6 +40,9 @@ class Database {
// If snapshot is not nullptr, read from the specified snapshot,
// otherwise read from the "latest" snapshot.
const rocksdb::Snapshot *snapshot = nullptr;
+
+ GetOptions() = default;
+ explicit GetOptions(const rocksdb::Snapshot *ss) : snapshot(ss) {}
};
explicit Database(engine::Storage *storage, std::string ns = "");
diff --git a/src/types/redis_bitmap.cc b/src/types/redis_bitmap.cc
index 0252420e..3651f910 100644
--- a/src/types/redis_bitmap.cc
+++ b/src/types/redis_bitmap.cc
@@ -111,7 +111,7 @@ rocksdb::Status Bitmap::GetBit(const Slice &user_key,
uint32_t bit_offset, bool
BitmapMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata, &raw_value);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata, &raw_value);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
if (metadata.Type() == kRedisString) {
@@ -146,7 +146,7 @@ rocksdb::Status Bitmap::GetString(const Slice &user_key,
const uint32_t max_btos
BitmapMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata, &raw_value);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata, &raw_value);
if (!s.ok()) return s;
if (metadata.size > max_btos_size) {
return rocksdb::Status::Aborted(kErrBitmapStringOutOfRange);
@@ -232,7 +232,7 @@ rocksdb::Status Bitmap::BitCount(const Slice &user_key,
int64_t start, int64_t s
BitmapMetadata metadata(false);
std::optional<LatestSnapShot> ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss->GetSnapShot()},
ns_key, &metadata, &raw_value);
+ rocksdb::Status s = GetMetadata(GetOptions{ss->GetSnapShot()}, ns_key,
&metadata, &raw_value);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
/* Convert negative indexes */
@@ -317,7 +317,7 @@ rocksdb::Status Bitmap::BitPos(const Slice &user_key, bool
bit, int64_t start, i
BitmapMetadata metadata(false);
std::optional<LatestSnapShot> ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss->GetSnapShot()},
ns_key, &metadata, &raw_value);
+ rocksdb::Status s = GetMetadata(GetOptions{ss->GetSnapShot()}, ns_key,
&metadata, &raw_value);
if (!s.ok() && !s.IsNotFound()) return s;
if (s.IsNotFound()) {
*pos = bit ? -1 : 0;
diff --git a/src/types/redis_hash.cc b/src/types/redis_hash.cc
index 40e5a424..c4d60685 100644
--- a/src/types/redis_hash.cc
+++ b/src/types/redis_hash.cc
@@ -53,7 +53,7 @@ rocksdb::Status Hash::Get(const Slice &user_key, const Slice
&field, std::string
std::string ns_key = AppendNamespacePrefix(user_key);
HashMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(Database::GetOptions{.snapshot =
ss.GetSnapShot()}, ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(Database::GetOptions{ss.GetSnapShot()},
ns_key, &metadata);
if (!s.ok()) return s;
rocksdb::ReadOptions read_options;
read_options.snapshot = ss.GetSnapShot();
@@ -160,7 +160,7 @@ rocksdb::Status Hash::MGet(const Slice &user_key, const
std::vector<Slice> &fiel
std::string ns_key = AppendNamespacePrefix(user_key);
HashMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) {
return s;
}
@@ -291,7 +291,7 @@ rocksdb::Status Hash::RangeByLex(const Slice &user_key,
const RangeLexSpec &spec
std::string ns_key = AppendNamespacePrefix(user_key);
HashMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string start_member = spec.reversed ? spec.max : spec.min;
@@ -347,7 +347,7 @@ rocksdb::Status Hash::GetAll(const Slice &user_key,
std::vector<FieldValue> *fie
std::string ns_key = AppendNamespacePrefix(user_key);
HashMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string prefix_key = InternalKey(ns_key, "", metadata.version,
storage_->IsSlotIdEncoded()).Encode();
diff --git a/src/types/redis_list.cc b/src/types/redis_list.cc
index 96b90c44..21edda04 100644
--- a/src/types/redis_list.cc
+++ b/src/types/redis_list.cc
@@ -335,7 +335,7 @@ rocksdb::Status List::Index(const Slice &user_key, int
index, std::string *elem)
std::string ns_key = AppendNamespacePrefix(user_key);
ListMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s;
if (index < 0) index += static_cast<int>(metadata.size);
@@ -360,7 +360,7 @@ rocksdb::Status List::Range(const Slice &user_key, int
start, int stop, std::vec
std::string ns_key = AppendNamespacePrefix(user_key);
ListMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
if (start < 0) start = static_cast<int>(metadata.size) + start;
diff --git a/src/types/redis_set.cc b/src/types/redis_set.cc
index 2e5074ee..0c7e4009 100644
--- a/src/types/redis_set.cc
+++ b/src/types/redis_set.cc
@@ -144,7 +144,7 @@ rocksdb::Status Set::Members(const Slice &user_key,
std::vector<std::string> *me
SetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(Database::GetOptions{.snapshot =
ss.GetSnapShot()}, ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(Database::GetOptions{ss.GetSnapShot()},
ns_key, &metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string prefix = InternalKey(ns_key, "", metadata.version,
storage_->IsSlotIdEncoded()).Encode();
@@ -178,7 +178,7 @@ rocksdb::Status Set::MIsMember(const Slice &user_key, const
std::vector<Slice> &
SetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(Database::GetOptions{.snapshot =
ss.GetSnapShot()}, ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(Database::GetOptions{ss.GetSnapShot()},
ns_key, &metadata);
if (!s.ok()) return s;
rocksdb::ReadOptions read_options;
diff --git a/src/types/redis_sortedint.cc b/src/types/redis_sortedint.cc
index 4edcff1c..7de9e70a 100644
--- a/src/types/redis_sortedint.cc
+++ b/src/types/redis_sortedint.cc
@@ -116,7 +116,7 @@ rocksdb::Status Sortedint::Range(const Slice &user_key,
uint64_t cursor_id, uint
SortedintMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string start_buf;
@@ -159,7 +159,7 @@ rocksdb::Status Sortedint::RangeByValue(const Slice
&user_key, SortedintRangeSpe
SortedintMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string start_buf;
@@ -209,7 +209,7 @@ rocksdb::Status Sortedint::MExist(const Slice &user_key,
const std::vector<uint6
SortedintMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s;
rocksdb::ReadOptions read_options;
diff --git a/src/types/redis_zset.cc b/src/types/redis_zset.cc
index 8e08ea4e..4d2d92d1 100644
--- a/src/types/redis_zset.cc
+++ b/src/types/redis_zset.cc
@@ -217,7 +217,7 @@ rocksdb::Status ZSet::RangeByRank(const Slice &user_key,
const RangeRankSpec &sp
if (spec.with_deletion) lock_guard.emplace(storage_->GetLockManager(),
ns_key);
ZSetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
int start = spec.start;
@@ -555,7 +555,7 @@ rocksdb::Status ZSet::Rank(const Slice &user_key, const
Slice &member, bool reve
std::string ns_key = AppendNamespacePrefix(user_key);
ZSetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
rocksdb::ReadOptions read_options = storage_->DefaultScanOptions();
@@ -832,7 +832,7 @@ rocksdb::Status ZSet::MGet(const Slice &user_key, const
std::vector<Slice> &memb
std::string ns_key = AppendNamespacePrefix(user_key);
ZSetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s;
rocksdb::ReadOptions read_options;
@@ -857,7 +857,7 @@ rocksdb::Status ZSet::GetAllMemberScores(const Slice
&user_key, std::vector<Memb
std::string ns_key = AppendNamespacePrefix(user_key);
ZSetMetadata metadata(false);
LatestSnapShot ss(storage_);
- rocksdb::Status s = GetMetadata(GetOptions{.snapshot = ss.GetSnapShot()},
ns_key, &metadata);
+ rocksdb::Status s = GetMetadata(GetOptions{ss.GetSnapShot()}, ns_key,
&metadata);
if (!s.ok()) return s.IsNotFound() ? rocksdb::Status::OK() : s;
std::string prefix_key = InternalKey(ns_key, "", metadata.version,
storage_->IsSlotIdEncoded()).Encode();