81345b90f9
Summary: WriteBatch and WriteBatchWithIndex now both inherit from a common abstract base class. This makes it easier to write code that is agnostic toward the implementation of the particular write batch. In particular, I plan on utilizing this abstraction to allow transactions to support using either implementation of a write batch. Test Plan: modified existing WriteBatchWithIndex tests to test new functions. Running all tests. Reviewers: igor, rven, yhchiang, sdong Reviewed By: sdong Subscribers: dhruba, leveldb Differential Revision: https://reviews.facebook.net/D34017
25 lines
719 B
C++
25 lines
719 B
C++
// Copyright (c) 2015, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
#include "rocksdb/slice.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
Slice::Slice(const SliceParts& parts, std::string* buf) {
|
|
size_t length = 0;
|
|
for (int i = 0; i < parts.num_parts; ++i) {
|
|
length += parts.parts[i].size();
|
|
}
|
|
buf->reserve(length);
|
|
|
|
for (int i = 0; i < parts.num_parts; ++i) {
|
|
buf->append(parts.parts[i].data(), parts.parts[i].size());
|
|
}
|
|
data_ = buf->data();
|
|
size_ = buf->size();
|
|
}
|
|
|
|
} // namespace rocksdb
|