PokIsemaine commented on code in PR #2332:
URL: https://github.com/apache/kvrocks/pull/2332#discussion_r1680528347
##########
src/storage/storage.cc:
##########
@@ -604,16 +610,19 @@ rocksdb::Status Storage::Get(const rocksdb::ReadOptions
&options, rocksdb::Colum
return s;
}
-rocksdb::Status Storage::Get(const rocksdb::ReadOptions &options, const
rocksdb::Slice &key,
+rocksdb::Status Storage::Get(engine::Context &ctx, const rocksdb::ReadOptions
&options, const rocksdb::Slice &key,
rocksdb::PinnableSlice *value) {
- return Get(options, db_->DefaultColumnFamily(), key, value);
+ return Get(ctx, options, db_->DefaultColumnFamily(), key, value);
}
-rocksdb::Status Storage::Get(const rocksdb::ReadOptions &options,
rocksdb::ColumnFamilyHandle *column_family,
- const rocksdb::Slice &key, rocksdb::PinnableSlice
*value) {
+rocksdb::Status Storage::Get(engine::Context &ctx, const rocksdb::ReadOptions
&options,
+ rocksdb::ColumnFamilyHandle *column_family, const
rocksdb::Slice &key,
+ rocksdb::PinnableSlice *value) {
rocksdb::Status s;
if (is_txn_mode_ && txn_write_batch_->GetWriteBatch()->Count() > 0) {
s = txn_write_batch_->GetFromBatchAndDB(db_.get(), options, column_family,
key, value);
+ } else if (ctx.batch) {
+ s = ctx.batch->GetFromBatchAndDB(db_.get(), options, column_family, key,
value);
} else {
s = db_->Get(options, column_family, key, value);
}
Review Comment:
There is no merging in the new commit, but a DCHECK is added to check the
ambiguity of ctx.snapshot and read_otpions.snapshot. The caller is required to
ensure that these two settings are consistent when using them, and a reminder
is given in the comments.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]